HRMS migration
Field-level mapping, validation, and rollback between Bullhorn Connexys ATS and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Bullhorn Connexys ATS
Source
Crelate
Destination
Compatibility
7 of 12
objects map 1:1 between Bullhorn Connexys ATS and Crelate.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Migrating from Bullhorn Connexys ATS to Crelate is a data-model compression problem disguised as a vendor switch. Bullhorn Connexys ATS organises staffing data across deeply interconnected entities — Candidate, ClientContact, ClientCorporation, JobOrder, JobSubmission, and Placement — with up to 35 custom object instances per Person entity and a configurable pipeline with stage-tracking via the Job Reporting junction object. Crelate collapses this into a unified ATS+CRM schema where Contacts flow through Jobs via pipeline stages, but custom fields are hard-capped at 20 per entity. We audit the source data model, design a field-culling plan where needed, resolve the JobSubmission-to-pipeline mapping, and work within Crelate's API v3 throttling of 120 requests per minute per IP. Workflows, automation rules, and Bullhorn-specific integrations do not migrate; we deliver a written inventory for the customer's 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 Crelate, 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
Crelate
Contact
1:1Bullhorn Candidate records map directly to Crelate Contact records. We preserve name, email, phone, resume content (parsed or raw), work history, skills, salary expectations, and source attribution. Candidate status from Bullhorn (Active, Inactive, Archived) maps to Crelate Contact status. Custom fields on Candidate beyond the 20-field Crelate entity cap require field-culling decisions during scoping; we flag the top-used fields and recommend which to drop based on usage frequency data from the discovery audit.
Bullhorn Connexys ATS
ClientCorporation
Crelate
Company
1:1Bullhorn ClientCorporation records map to Crelate Company records. We preserve company name, industry, address, billing information, and linked Contact associations. ClientCorporation custom fields migrate subject to the 20-field cap per entity. Multiple Contacts per Company in Bullhorn map cleanly to the Crelate Company-Contact relationship.
Bullhorn Connexys ATS
ClientContact
Crelate
Contact
1:1Bullhorn ClientContact records (hiring managers, client-side contacts) map to Crelate Contact records linked to the corresponding Company. We preserve name, email, phone, title, and the relationship to ClientCorporation. ClientContact custom fields migrate subject to the 20-field per-entity cap. If a ClientContact in Bullhorn has no associated ClientCorporation, we create a stub Company record to satisfy Crelate's Company-Contact relationship.
Bullhorn Connexys ATS
JobOrder
Crelate
Job
1:1Bullhorn JobOrder records map to Crelate Job records. We preserve job title, requirements, salary range, location, job description, status (Open, Placed, Closed), and owner assignment. Custom fields on JobOrder migrate subject to the 20-field cap. Bullhorn job status flags (Hot, Priority) map to Crelate custom Job fields if the customer's workflow depends on them.
Bullhorn Connexys ATS
JobSubmission
Crelate
Job pipeline stage
1:manyBullhorn JobSubmission is a junction object linking a Candidate to a JobOrder with a submission date, status, and history. Crelate has no separate JobSubmission entity — candidate-to-job associations are tracked via pipeline stages on the Job. We resolve this by mapping the JobSubmission status to the appropriate pipeline stage in Crelate (Applied, Screening, Interview, Offer, Hired). The submission timestamp becomes the stage-entry timestamp. If a Candidate was submitted to the same JobOrder multiple times (re-submissions), we create separate pipeline entries or consolidate based on the customer's preference during scoping.
Bullhorn Connexys ATS
Placement
Crelate
Job (filled status) + Opportunity
lossyBullhorn Placement records capture the final hire outcome: Candidate, JobOrder, start date, salary, bill rate, and placement status. We map Placements to Crelate Job records with a filled status, and create an Opportunity record linked to the Job and the placing Contact for revenue tracking. The Placement start date, salary, and bill rate migrate to custom fields on the Crelate Job record. If the customer uses Placement for commission or billing tracking, we map that data to Opportunity fields or a custom Crelate field.
Bullhorn Connexys ATS
Custom Object
Crelate
Custom fields on core entities
lossyBullhorn Custom Objects (up to 10 instances on Front Office Growth/Enterprise, each with up to 55 fields) extend Candidates, Contacts, Companies, Jobs, and Placements. Crelate has no separate Custom Object entity. We audit every Bullhorn Custom Object and field during discovery, then compress them into custom fields on the corresponding Crelate entity. Fields exceeding the 20-field cap are prioritised by usage frequency and any beyond the cap are documented for the customer's admin to handle manually post-migration. This is the most significant data-fidelity risk in the migration and requires explicit sign-off before migration begins.
Bullhorn Connexys ATS
User (Owner/Recruiter)
Crelate
User
1:1Bullhorn User records representing recruiters, administrators, and managers map to Crelate User records. We resolve User assignments on Candidate, JobOrder, and Placement records by email match. Any Bullhorn User without a matching Crelate User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Bullhorn users map to inactive Crelate users to preserve historical assignment audit trails.
Bullhorn Connexys ATS
Attachment / Resume File
Crelate
Contact attachment / Job attachment
1:1Resume files and attachments export from Bullhorn via REST API and ingest into Crelate as Contact attachments or Job attachments. We handle chunked extraction for large file volumes and preserve the link to the parent Contact or Job record. Parsed resume data (skills, work history, education) maps to the corresponding Crelate Contact fields; raw resume files are attached as documents. We flag any file type that Crelate's attachment API does not support and flag them for manual upload post-migration.
Bullhorn Connexys ATS
Job Reporting (stage history)
Crelate
Job pipeline stage history
lossyBullhorn Job Reporting tracks each Candidate's movement through pipeline stages with timestamps and the assigning User. Crelate does not expose an equivalent junction object; stage history is implicit in the pipeline timeline. We reconstruct stage-transition history as a series of Crelate stage entries with timestamps, and preserve the assigning User by linking to the Crelate User. If Job Reporting records in the source are incomplete or contain errors (a known Bullhorn data-quality issue), we reconstruct missing transitions where source data allows and flag gaps in the delivered migration report.
Bullhorn Connexys ATS
Note / Appointment / Task
Crelate
Activity
1:1Bullhorn Notes, Appointments, and Tasks on Candidate, Contact, JobOrder, and Placement records map to Crelate Activities linked to the corresponding Contact or Job. Note body text, appointment details (date, duration, location), and task details (status, priority, due date) migrate directly. Timestamp preservation ensures the activity timeline reflects the original Bullhorn record dates. Linked User assignments migrate via the User email resolution.
Bullhorn Connexys ATS
Tax Info / Compliance Data
Crelate
Custom fields (GDPR, compliance)
lossyCandidate Tax Info (federal filing status, exemptions) and compliance-related custom fields vary by region and Bullhorn instance configuration. We map standard compliance fields to Crelate custom fields on the Contact record, subject to the 20-field cap. GDPR consent records migrate to a custom Crelate field capturing consent date, consent type, and source. Any compliance fields exceeding the cap are flagged for the customer's admin to address post-migration.
| Bullhorn Connexys ATS | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| ClientCorporation | Company1:1 | Fully supported | |
| ClientContact | Contact1:1 | Fully supported | |
| JobOrder | Job1:1 | Fully supported | |
| JobSubmission | Job pipeline stage1:many | Fully supported | |
| Placement | Job (filled status) + Opportunitylossy | Fully supported | |
| Custom Object | Custom fields on core entitieslossy | Fully supported | |
| User (Owner/Recruiter) | User1:1 | Fully supported | |
| Attachment / Resume File | Contact attachment / Job attachment1:1 | Fully supported | |
| Job Reporting (stage history) | Job pipeline stage historylossy | Fully supported | |
| Note / Appointment / Task | Activity1:1 | Fully supported | |
| Tax Info / Compliance Data | Custom fields (GDPR, compliance)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
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and custom field audit
We audit the source Bullhorn Connexys ATS instance across edition tier, record counts (Candidates, ClientCorporations, JobOrders, Placements, Custom Objects), custom field usage per entity, active Job Reporting completeness, and engagement volume. We specifically count custom fields per entity against Crelate's 20-field ceiling and produce a culling priority list. We also extract API rate-limit characteristics from Bullhorn to model the extraction timeline. The discovery output is a written migration scope with a custom field culling plan requiring customer sign-off before development begins.
Data model design and field mapping
We design the Crelate destination schema: mapping Bullhorn Candidate to Contact, ClientCorporation to Company, JobOrder to Job, and Placement to filled Job status plus Opportunity. We design the JobSubmission-to-pipeline-stage mapping rule (which Bullhorn statuses map to which Crelate stages). We create the custom field map in Crelate Admin for each entity, prioritising fields by usage frequency and culling those exceeding the 20-field cap. Custom Object data is flattened into parent entity custom fields or documented for manual post-migration entry. All mapping is documented in a field-level spec reviewed by the customer's admin before development.
Sandbox migration and reconciliation
We run a full migration into a Crelate test environment using production-like data volume. The customer's admin reconciles record counts (Contacts in, Companies in, Jobs in, Placements in, Activities in), spot-checks 25-50 random records against the Bullhorn source, and validates that the pipeline stage mapping reflects expected workflows. Any custom field mapping corrections, culling adjustments, or pipeline stage mapping changes happen here. Sign-off on the sandbox migration is required before production migration begins.
Owner reconciliation and user provisioning
We extract every distinct Bullhorn User referenced on Candidate, JobOrder, Placement, and engagement records and match by email against the Crelate destination's User table. Any Bullhorn User without a matching Crelate User goes to a reconciliation queue. The customer's admin provisions missing Crelate Users (active or inactive based on whether the original Bullhorn user remains active). Migration cannot proceed past this step because User lookups are required on most record types.
Production migration in dependency order
We run production migration in record-dependency order: Users (manual provisioning, validated), Companies (from Bullhorn ClientCorporations), Contacts (with CompanyId resolved for ClientContacts, and Candidate data processed separately), Jobs (with owner resolved), pipeline stage entries (from JobSubmission with stage mapping applied), Placements (mapped to filled Jobs and Opportunities), Activity history (Notes, Appointments, Tasks via Crelate API v3 with 120 req/min throttling), and custom field data (subject to the 20-field cap). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Bullhorn writes during cutover, run a final delta migration of any records modified during the migration window, then set Crelate as the system of record. We deliver the automation and workflow inventory document to the customer's admin team, covering every Bullhorn workflow, automation rule, and integration requiring rebuild in Crelate's workflow engine. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Bullhorn workflows as Crelate automations inside the migration scope; that is documented separately for the customer's admin or a Crelate implementation partner.
Platform deep dives
Bullhorn Connexys ATS
Source
Strengths
Weaknesses
Crelate
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 Crelate.
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 Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Bullhorn Connexys ATS to Crelate 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 Crelate
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.