HRMS migration
Field-level mapping, validation, and rollback between Bullhorn Connexys ATS and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Bullhorn Connexys ATS
Source
Recruit CRM & ATS
Destination
Compatibility
8 of 10
objects map 1:1 between Bullhorn Connexys ATS and Recruit CRM & ATS.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Bullhorn Connexys ATS and Recruit CRM occupy different positions in the recruitment software market, which creates both migration opportunity and structural complexity. Connexys runs on the Salesforce Force.com platform and supports up to 10 Custom Objects with 55 fields each on Front Office Growth and Enterprise tiers, while Recruit CRM uses a flat custom-field model without a formal Custom Object construct. We resolve this gap during scoping by mapping Connexys Custom Objects to Recruit CRM's custom field groups and multi-select configurations, and we flag any objects that exceed Recruit CRM's field-per-entity limits for explicit customer decision before migration begins. Bullhorn enforces 100,000 API calls per month and 50 concurrent sessions, which requires us to schedule large-volume migrations across multiple off-peak windows or extend timelines accordingly. Activity history (notes, tasks, call logs attached to Candidate and Contact records) migrates via Recruit CRM's bulk import API with parent-record lookup resolution. Bullhorn Workflows, Job Reporting stage-history junctions, and Bullhorn Automation sequences do not migrate; we document every active automation with its trigger logic and recommended Recruit CRM automation equivalent for your admin to rebuild post-migration.
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 Bullhorn Connexys ATS object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Bullhorn Connexys ATS
Candidate
Recruit CRM & ATS
Candidate
1:1Bullhorn Candidate records map to Recruit CRM Candidates with full field coverage for name, email, phone, resume (parsed or raw file), work history, skills, salary expectations, and tax information. We preserve GDPR consent flags in a custom consent_date and consent_source field on the Candidate record. Resume files export via Bullhorn REST API and import as attachments to the corresponding Recruit CRM Candidate; large volumes require chunking across multiple API windows to stay within the 100,000 monthly call ceiling.
Bullhorn Connexys ATS
JobOrder (Job)
Recruit CRM & ATS
Job
1:1Bullhorn JobOrders map to Recruit CRM Jobs. Standard job fields (title, description, requirements, salary range, location, status) migrate directly. Custom job fields map to Recruit CRM custom fields on the Job record. We resolve the owning Recruiter (User) reference by email match against Recruit CRM users before import so that the assignment is live at insert time rather than patched afterward.
Bullhorn Connexys ATS
Account (Client Company)
Recruit CRM & ATS
Client
1:1Bullhorn Accounts map to Recruit CRM Clients. Billing address, industry classification, client tier, and contact associations migrate directly. Bullhorn supports multiple contacts per Account; we map these to Recruit CRM Client records with their associated Contact records linked via the Client-Contact relationship. The Account's primary billing contact maps to the Client's primary contact field.
Bullhorn Connexys ATS
Contact (Hiring Manager)
Recruit CRM & ATS
Contact
1:1Bullhorn Contact records map to Recruit CRM Contacts with full name, email, phone, title, and department fields preserved. We preserve the link between Contact and the parent Client (Bullhorn Account) by resolving the Client ID at migration time. Custom Contact fields map to Recruit CRM Contact custom fields; any fields exceeding Recruit CRM's field length or type constraints are flagged for truncation or type conversion during the transform phase.
Bullhorn Connexys ATS
Placement
Recruit CRM & ATS
Placement
1:1Bullhorn Placements map to Recruit CRM Placements, capturing the hire outcome linking Candidate to Job and recording start date, end date, salary, and placement status. We preserve the links to both the Candidate record and the Job record by resolving the respective IDs at migration time. Placement history and status transitions migrate as a text audit log entry on the Placement record because Recruit CRM tracks stage history through its activity log rather than a separate junction object.
Bullhorn Connexys ATS
Custom Object
Recruit CRM & ATS
Custom Fields (on primary entity)
lossyBullhorn Custom Objects (up to 10 on Front Office Growth/Enterprise; 2 on Bullhorn ATS, each with up to 55 fields) require a schema redesign for Recruit CRM, which does not have a separate Custom Object construct. We map each Custom Object to a set of custom fields on the primary entity it extends (Candidate, Contact, Client, or Job). Fields that cannot fit within Recruit CRM's field-per-entity limits are flagged for explicit customer decision: either split across related entities or left as a manual re-entry item in a shared spreadsheet. Custom Object relationships to other entities migrate as ID reference fields or multi-select lookups where Recruit CRM supports them.
Bullhorn Connexys ATS
User (Recruiter/Owner)
Recruit CRM & ATS
User
1:1Bullhorn User records map to Recruit CRM users by email match. Bullhorn's OwnerId references on Candidate, Job, Contact, and Placement records resolve to the corresponding Recruit CRM user at migration time. Any Bullhorn User without a matching Recruit CRM user is held in a reconciliation queue for the customer's admin to provision before that phase of migration resumes. Inactive Bullhorn users migrate as inactive Recruit CRM users with a flag indicating their historical ownership of records.
Bullhorn Connexys ATS
Attachment and Resume
Recruit CRM & ATS
Attachment (on Candidate, Client, Job)
1:1Bullhorn resume files and attachments export via the REST API. Because Bullhorn's API rate limit of 100,000 calls per month constrains bulk attachment retrieval, we chunk attachment exports into batches of 500 files and schedule them across off-peak windows. Large files (over 10 MB) are flagged for the customer to export manually if needed. Resume text parsed by Bullhorn migrates as structured fields (skills, experience, education) in addition to the raw file attachment.
Bullhorn Connexys ATS
Activity and Notes
Recruit CRM & ATS
Tasks and Notes
1:1Bullhorn activity feeds and note content on Candidate, Contact, Job, and Placement records migrate to Recruit CRM Tasks and Notes. We preserve note body text, author (mapped via User email), and original timestamp. Bullhorn's Activity feeds covering email, calls, and meetings map to Recruit CRM Tasks with the activity type captured in a custom task_type field. Bullhorn Job Reporting stage transitions migrate as note entries on the Candidate or Job record because Recruit CRM does not have a dedicated stage-history junction object; the text entry includes the original stage name, target stage name, timestamp, and transitioning user.
Bullhorn Connexys ATS
Pipeline Stage (Job Reporting)
Recruit CRM & ATS
Pipeline Stage (Kanban configuration)
lossyBullhorn's pipeline stage sequence (Application through Submittal, Interview, Offer, Placement) maps to Recruit CRM's configurable Kanban pipeline stages per Job. We extract the stage names from Bullhorn's Job Reporting records and map them to Recruit CRM stage configuration during the schema design phase. Stage probabilities migrate as percentage values in a custom probability field on the Job pipeline configuration. Bullhorn's Job Reporting junction records tracking candidate movement through stages are converted to a text audit log on the Candidate record in Recruit CRM rather than a live-junction object, since Recruit CRM handles stage history through its activity timeline.
| Bullhorn Connexys ATS | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| JobOrder (Job) | Job1:1 | Fully supported | |
| Account (Client Company) | Client1:1 | Fully supported | |
| Contact (Hiring Manager) | Contact1:1 | Fully supported | |
| Placement | Placement1:1 | Fully supported | |
| Custom Object | Custom Fields (on primary entity)lossy | Fully supported | |
| User (Recruiter/Owner) | User1:1 | Fully supported | |
| Attachment and Resume | Attachment (on Candidate, Client, Job)1:1 | Fully supported | |
| Activity and Notes | Tasks and Notes1:1 | Mapping required | |
| Pipeline Stage (Job Reporting) | Pipeline Stage (Kanban configuration)lossy | 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.
Bullhorn Connexys ATS gotchas
API rate limits cap bulk migration throughput
Connexys edition tier governs Custom Object limits
Job Reporting stage history can be incomplete
Bullhorn does not publish pricing publicly
Recruit CRM & ATS gotchas
API rate limits are license-scaled and can throttle bulk migration
Custom field schemas vary per organization and require field-level mapping
Files and email attachments require separate extraction and re-upload
Email sequences and automation logic do not transfer between platforms
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the source Bullhorn Connexys ATS instance across edition tier (ATS vs Front Office Growth vs Enterprise), custom field count per entity, active Custom Objects and their field counts, active Bullhorn Workflows and Automations, Job Reporting completeness, GDPR consent records, and API call volume history. We extract record counts for Candidates, Jobs, Accounts, Contacts, Placements, and attachments. The discovery output is a written migration scope document listing every object to be migrated, every object to be flagged for manual decision, and every automation requiring a rebuild inventory.
Recruit CRM schema design and field mapping
We design the destination schema in Recruit CRM. This includes configuring pipeline stages to match Bullhorn's Job Reporting stage sequence, mapping Bullhorn Custom Objects to Recruit CRM custom field groups on the appropriate entity, creating any multi-select picklists needed for Bullhorn list-type fields, and setting up GDPR consent fields on Candidate records. We resolve the owner (User) mapping by extracting Bullhorn User emails and matching against Recruit CRM users provisioned by the customer's admin before record import begins.
Bulk export from Bullhorn with rate-limit management
We run Bullhorn exports in dependency order: Users first (for owner mapping validation), then Candidates, Accounts, Contacts, Jobs, and Placements. Each export batch stays within the 100,000 monthly API call ceiling by chunking into 500-record pages with a 500ms delay between requests. Resume files export in a separate batch job scheduled after core record data. We run exports across off-peak hours (weekends and evenings) to maximise available call headroom. Every batch emits a row-count report that we reconcile against Bullhorn's UI record counts before proceeding.
Data transformation and GDPR flagging
We transform exported Bullhorn records through the field mapping defined in scoping. Custom Object fields distribute across Recruit CRM custom field groups. Bullhorn GDPR consent flags map to consent_date and consent_source fields on Candidate records. Bullhorn User owner references resolve to Recruit CRM User IDs via the email lookup table created in discovery. Job Reporting stage transitions convert to annotated note entries on the respective Candidate or Job record. Any records with missing required fields in the destination schema are held in a transformation error queue for customer review before re-import.
Bulk import into Recruit CRM with reconciliation
We import into Recruit CRM in dependency order: Users (validated against the admin-provisioned list), Clients (from Bullhorn Accounts), Contacts (linked to Clients), Jobs (linked to owning Users), Candidates (with resume attachments), Placements (linked to Candidate and Job), and finally activity history. Recruit CRM's bulk import API handles batch sizes of up to 1,000 records per request. We run a reconciliation pass after each import phase comparing record counts and spot-checking 25-50 random records against the Bullhorn source for field-level accuracy.
Cutover, delta sync, and automation handoff
We freeze Bullhorn record writes during the cutover window, run a final delta migration of any records modified since the initial export, then enable Recruit CRM as the system of record. We deliver the Bullhorn Workflow and Automation inventory document to the customer's admin team with recommended Recruit CRM automation equivalents. We offer a one-week hypercare window to resolve reconciliation issues raised by recruiters. Bullhorn Workflows, Bullhorn Automations, Bullhorn Sequences, and Bullhorn Job Reporting as a junction object do not migrate; those require separate rebuild work in Recruit CRM's automation builder.
Platform deep dives
Bullhorn Connexys ATS
Source
Strengths
Weaknesses
Recruit CRM & ATS
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 Bullhorn Connexys ATS and Recruit CRM & ATS.
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
Bullhorn Connexys ATS: 100,000 API calls per month per org; 50 concurrent sessions maximum.
Data volume sensitivity
Bullhorn Connexys ATS exposes a bulk API — large-volume migrations stream efficiently.
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 Bullhorn Connexys ATS to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Bullhorn Connexys ATS to Recruit CRM & ATS migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Bullhorn Connexys ATS
Other ways to arrive at Recruit CRM & ATS
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.