HRMS migration
Field-level mapping, validation, and rollback between Cascade and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Cascade
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Cascade and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Cascade to Bullhorn is a domain-translation migration. Cascade is a strategy-execution and OKR platform where Plans contain Projects and Projects contain Key Results with directional alignment links forming the cascading goal hierarchy. Bullhorn is an ATS and CRM built for staffing and recruitment workflows where the core entities are Candidates, ClientCorporations, JobOrders, JobSubmissions, and Placements. There is no native equivalent in Bullhorn for Cascade's Plans, Projects, and Key Results. We map Plan records to Bullhorn JobOrders or Custom Objects, Projects to Custom Objects linked to those JobOrders, and Key Results to fields within the Project Custom Object or to Placement milestone records. Bullhorn Custom Objects are limited to 10 per entity with 55 fields each and require Bullhorn Support to create via the Custom Object Setup Spreadsheet. We handle that schema-creation step in partnership with the customer during discovery, then proceed to data migration. Workflows, automations, Engagement Page Snapshots, and Cascade integrations do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Bullhorn Automation.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Cascade object lands in Bullhorn ATS & CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Cascade
Plan
Bullhorn ATS & CRM
JobOrder or CustomObject
lossyCascade Plans map to Bullhorn JobOrder records if the Plan represents a job requisition or staffing need, or to a Bullhorn Custom Object (e.g., customObject1s) if the Plan represents a strategic initiative with no direct staffing workflow. We determine the mapping during scoping based on whether the Plan has associated recruiting activity (job postings, candidate submissions) or exists purely as an OKR container. The Plan title becomes the JobOrder title or Custom Object name field; Plan description maps to the JobOrder description or Custom Object text field. Start and end dates map to the JobOrder date fields or Custom Object date fields.
Cascade
Project
Bullhorn ATS & CRM
JobOrder or CustomObject
1:1Cascade Projects map to Bullhorn JobOrder records or to a second tier of Custom Objects linked to the Plan-level Custom Object via a lookup field. We use Bullhorn's Custom Object lookup capability (customObjectX.pickerField) to reconstruct the Project-to-Plan parent-child relationship. Project status (not started, in progress, completed, on hold) maps to JobOrder status or to a Custom Object picklist field that the customer configures. Owner assignment maps to the Bullhorn User via email match.
Cascade
Key Result
Bullhorn ATS & CRM
CustomObject field or Placement milestone
1:1Cascade Key Results are measurable outcomes attached to Projects. We map Key Result title to a Custom Object text field, metric type to a picklist, and start/target/current values to Custom Object number fields. Progress percentage maps to a numeric field with validation to ensure it lands as a number rather than free text. For Key Results that represent hiring milestones (e.g., 'Fill 3 positions by Q3'), we offer a mapping to Bullhorn Placement records with target end dates and status tracking.
Cascade
Checklist Item
Bullhorn ATS & CRM
Task or CustomObject sub-field
1:1Cascade checklist items on Projects map to Bullhorn Task records or to a sub-section within the Project Custom Object. Task Subject carries the checklist item title; Task Status carries the completion flag (completed maps to Completed, open maps to Not Started). ActivityDate carries the due date if one is set. If the Project Custom Object is the destination, checklist items map to a repeating group of fields within the Custom Object.
Cascade
Milestone
Bullhorn ATS & CRM
Task with due date or CustomObject date field
1:1Cascade milestones on Projects map to Bullhorn Task records with a due date and no assignee (or the Project owner), or to dedicated Custom Object date fields if the customer prefers milestones as structured date fields rather than activity records. Milestone ordering is preserved via a sequence number stored in a Custom Object integer field. We validate that milestone dates transfer as ISO date strings rather than free-text dates to avoid format issues in Bullhorn.
Cascade
Owner
Bullhorn ATS & CRM
User
1:1Cascade Owners are individual users assigned to Plans, Projects, or Key Results. We extract the Cascade user ID and display name and match by email against the Bullhorn User table. Any Cascade Owner without a matching Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Migration cannot proceed past owner resolution because Bullhorn requires valid OwnerId references on most standard and custom records.
Cascade
Team
Bullhorn ATS & CRM
Bullhorn Team or CustomObject team field
1:1Cascade Teams group users for assignment and visibility. Bullhorn has a native Teams concept for user grouping and permissions. We map Cascade Team names and memberships to Bullhorn Teams where the feature is available in the customer's Bullhorn edition, or to a Custom Object text field holding the team name. Team membership is reconstructed by linking the relevant Bullhorn Users to the Bullhorn Team or by populating a multi-select picklist on the record.
Cascade
Custom Field (Entity Template)
Bullhorn ATS & CRM
CustomObject field
lossyCascade entity templates let teams define custom fields on Plans, Projects, and Key Results. Custom field types include text, number, date, dropdown, and user picker. Bullhorn does not support freeform custom fields on standard objects; custom data lives in Custom Objects attached to the standard entity. We pre-create the Bullhorn Custom Object schema in partnership with Bullhorn Support using the Custom Object Setup Spreadsheet, then populate the fields during migration. The customer must file the setup ticket with Bullhorn Support before we can create Custom Object instances via the API.
Cascade
Goal Hierarchy and Alignment Link
Bullhorn ATS & CRM
CustomObject lookup chain
lossyCascade's core value is vertical goal alignment: parent Plans link to child Projects and Key Results via directional alignment_source references rather than a standard parent_id foreign key. We extract all alignment_source values from Cascade and reconstruct the hierarchy in Bullhorn using Custom Object lookup fields (customObjectX.pickerField targeting the parent Custom Object or JobOrder). Mis-alignment occurs when the Cascade goal tree exceeds three levels and Bullhorn's lookup chain becomes difficult for admins to navigate. We document the full goal tree as a separate deliverable for the customer's Bullhorn admin to validate post-migration.
Cascade
Engagement Page Snapshot
Bullhorn ATS & CRM
None
1:1Cascade Engagement Page Snapshots are read-only rendered reports generated from live Plan and Project data. They contain no structured underlying data model suitable for extraction. We flag these during discovery and advise the customer to treat them as reference screenshots to be manually re-created in Bullhorn. The underlying data (Plans, Projects, Key Results) migrates normally. This is documented in the FlitStack AI Cascade source page as a platform-level limitation.
Cascade
Integration and Connector Config
Bullhorn ATS & CRM
None
1:1Cascade integration credentials and connector configurations (Salesforce sync, Jira sync, or other third-party connections) are external-service authentication data that does not transfer between platforms. We export a written inventory of active integrations for the customer's IT team to reconfigure manually in the destination system. Bullhorn integrations are set up separately via Bullhorn Marketplace or API credentials in the Bullhorn admin settings.
Cascade
Engagement (if applicable)
Bullhorn ATS & CRM
Task and Note
1:1If Cascade data includes user engagement records such as comments, activity timestamps, or document attachments on Plans or Projects, we map these to Bullhorn Task records and Note records (stored as ContentDocument via ContentDocumentLink). Bullhorn's engagement model is oriented around recruiting activity (calls, emails, submissions) rather than strategy collaboration, so the migration preserves the timestamp and content but may not preserve the full conversational context. We flag any engagement records that cannot be cleanly mapped for the customer to review.
| Cascade | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Plan | JobOrder or CustomObjectlossy | Fully supported | |
| Project | JobOrder or CustomObject1:1 | Fully supported | |
| Key Result | CustomObject field or Placement milestone1:1 | Fully supported | |
| Checklist Item | Task or CustomObject sub-field1:1 | Fully supported | |
| Milestone | Task with due date or CustomObject date field1:1 | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Team | Bullhorn Team or CustomObject team field1:1 | Fully supported | |
| Custom Field (Entity Template) | CustomObject fieldlossy | Fully supported | |
| Goal Hierarchy and Alignment Link | CustomObject lookup chainlossy | Fully supported | |
| Engagement Page Snapshot | None1:1 | Fully supported | |
| Integration and Connector Config | None1:1 | Fully supported | |
| Engagement (if applicable) | Task and Note1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Cascade gotchas
Engagement Page Snapshot reports are non-migratable
Entity template custom fields require manual schema recreation
Parent-child goal alignment is structural, not a native field
Free tier user cap creates license model surprises
Bullhorn ATS & CRM gotchas
ATS Growth edition has no API access
Attachments excluded from CSV bulk exports
Custom Object limits vary sharply by edition
Opportunity pipeline stages are recruitment-specific
Resume parse quality varies by document format
Pair-specific challenges
Migration approach
Discovery and edition confirmation
We audit the source Cascade account across Plans, Projects, Key Results, Teams, Owners, custom fields (entity templates), checklist items, milestones, and engagement records. We confirm the customer's Bullhorn edition (Team, Corporate, or Enterprise), Custom Object allocation (10 per entity maximum with 55 fields each on Growth/Enterprise), and whether API access is available. We also confirm the Bullhorn Support contact for Custom Object setup and whether any saved searches exist that will require post-migration review. The discovery output is a written migration scope listing all Cascade entities, the proposed Bullhorn object mapping, and a Bullhorn Support ticket plan for Custom Object schema creation.
Bullhorn Custom Object schema creation
We work with the customer and Bullhorn Support to create the required Custom Objects in Bullhorn using the Custom Object Setup Spreadsheet. This step is a prerequisite for data migration because Bullhorn does not allow API-based creation of Custom Object definitions; only Bullhorn Support can provision them. We complete the Custom Object Setup Spreadsheet listing every field name, type, edit type, and required flag, then the customer submits it to Bullhorn Support. Once Bullhorn Support confirms the Custom Objects are created, we validate the schema via the Bullhorn REST API meta endpoint before proceeding.
Sandbox migration and reconciliation
We run a full migration into the Bullhorn sandbox environment using production-like data volume. The customer's Bullhorn admin reconciles record counts (Plans imported, Projects imported, Key Results mapped, Checklist items transferred, Milestone dates validated), spot-checks 25-50 random records against the Cascade source, and signs off the mapping and schema before production migration begins. Any mapping corrections or schema adjustments happen here. We do not run production migration without a successful sandbox sign-off.
Owner and Team reconciliation
We extract every distinct Cascade Owner and Team member referenced on Plans, Projects, and Key Results and match by email against the Bullhorn User table. Owners without a matching Bullhorn User go to a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Cascade Teams are mapped to Bullhorn Teams or to a Custom Object team field depending on the Bullhorn edition's team management capability. Migration cannot proceed past owner and team resolution because Bullhorn requires valid User references on most records.
Production migration in dependency order
We run production migration in record-dependency order: Bullhorn Users (manually provisioned and validated), JobOrder records (from Cascade Plans), Custom Objects for Projects (with lookup to JobOrder), Custom Object fields for Key Results (with lookup to Project Custom Object), Tasks for Checklist items and Milestones, Notes for engagement records, and Team assignments. Each phase emits a row-count reconciliation report before the next phase begins. We use Bullhorn's REST API with rate-limit handling and exponential backoff on 429 responses.
Cutover, validation, and integration inventory handoff
We freeze Cascade writes during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver the Integration and Connector inventory document to the customer's Bullhorn admin with re-configuration steps for each external integration. We deliver the Goal Alignment Map documenting the original Cascade parent-child goal hierarchy for the customer's Bullhorn admin to review and validate. We do not rebuild Cascade Workflows or automations as Bullhorn Automation workflows; that is a separate engagement or an internal admin task.
Platform deep dives
Cascade
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Cascade and Bullhorn ATS & CRM.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Cascade: Not publicly documented.
Data volume sensitivity
Cascade doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Cascade to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Cascade to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Cascade
Other ways to arrive at Bullhorn ATS & CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.