HRMS migration
Field-level mapping, validation, and rollback between Paradox and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Paradox
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 13
objects map 1:1 between Paradox and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Paradox to Bullhorn is a migration between fundamentally different ATS philosophies. Paradox organizes hiring around Candidates and the Olivia chatbot's conversational interactions; Bullhorn uses a traditional ATS data model with Leads, Contacts, and Opportunities tied to ClientCorporation and JobOrder records. We route the export through Paradox's native JSON export or the destination ATS connector depending on what's live, audit every candidate record for GDPR right-to-erasure and consent flags before including it in the migration set, and transform Olivia screening response logs into Bullhorn Notes or activity records. Workflows built within Paradox's conversational framework do not migrate; we deliver a written inventory of every automation for the customer's Bullhorn admin to rebuild in Bullhorn Automation (formerly Herefish) or Bullhorn Workflows. Bullhorn's Starter tier at $99 per user per month supports resume parsing and candidate management, while Core ($165 per user per month) adds the marketplace and custom workflows required for most migration scopes.
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 Paradox 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.
Paradox
Candidate
Bullhorn ATS & CRM
Lead or Contact (split required)
1:manyParadox Candidates with an active hiring pipeline status map to Bullhorn Lead for unqualified prospects and Bullhorn Contact for candidates attached to a ClientCorporation. We apply a status-based split rule during scoping: Candidates with a status of Applied or Screening map to Lead; status of Interview, Offer, or Hired map to Contact with ClientCorporationId resolved. The original Paradox candidate status is preserved in a custom field paradox_original_status__c on both Lead and Contact for audit trail and reporting continuity.
Paradox
Candidate
Bullhorn ATS & CRM
CandidateRecord (custom)
lossyIf the destination Bullhorn org uses Bullhorn Candidate Management (a product layer available on Core and above) rather than the standard Lead-Contact model, we map Paradox Candidates directly to the Bullhorn Candidate entity with all screening responses, scheduling data, and custom field values preserved. We configure the Bullhorn Candidate custom object during schema pre-configuration before any data import begins.
Paradox
Job
Bullhorn ATS & CRM
JobOrder
1:1Paradox Jobs map directly to Bullhorn JobOrder. The Job title, description, status (open, closed, filled), and hiring-team assignments migrate as JobOrder fields. Active job status is preserved; closed jobs are migrated as historical records with status set to 'Closed' in Bullhorn. We resolve the Job's owning recruiter (Paradox owner) to a Bullhorn User by email match before JobOrder import.
Paradox
Job
Bullhorn ATS & CRM
ClientCorporation
1:1Paradox Jobs reference a company or client. We map the parent company to Bullhorn ClientCorporation, creating the corporation record first and linking it to the JobOrder via clientCorporationID. If the Paradox Job does not have an associated client (internal requisition), we create a ClientCorporation record labeled 'Internal' and link it explicitly.
Paradox
Event
Bullhorn ATS & CRM
PlacementInterview
1:1Paradox Events (scheduled interviews and assessments) map to Bullhorn PlacementInterview records. Start datetime, end datetime, interview type, and participant assignments migrate. The participant links (candidate, interviewer) are resolved via the Paradox Candidate to Bullhorn Lead/Contact mapping and the Paradox owner to Bullhorn User mapping. If the destination Bullhorn instance does not have PlacementInterview configured, events migrate as CalendarEvent records with a custom event_type field set to 'Interview'.
Paradox
Screening Response
Bullhorn ATS & CRM
Note
1:1Paradox Olivia screening response logs are structured Q&A conversations between the chatbot and the candidate. Bullhorn has no native screening-response object, so we map these to Bullhorn Note records attached to the candidate's Lead or Contact. Each Note captures the question text, answer text, and timestamp from the Paradox interaction. If the customer uses a third-party screening tool integrated with Paradox, we flag the tool for separate export handling and do not assume the screening content lives inside Paradox.
Paradox
Schedule
Bullhorn ATS & CRM
InterviewSchedule or Note
1:1Paradox Schedules capture candidate availability windows and calendar-linked scheduling links. Bullhorn stores interview scheduling within PlacementInterview and through Bullhorn's native calendar sync (Outlook and Gmail). We migrate schedule availability data as Bullhorn Note records with type 'Availability' on the candidate record, noting that live calendar integration links do not transfer and must be re-established in Bullhorn by the customer's admin post-migration.
Paradox
Attachment
Bullhorn ATS & CRM
CandidateAttachment or ContentDocument
1:1Paradox attachments (resumes, cover letters, portfolio files) are exported as binary files and re-uploaded to Bullhorn. We map to Bullhorn's native attachment model (CandidateAttachment for candidate-linked files, or ContentDocument via Salesforce Files for org-wide document management if the Bullhorn instance is on the Salesforce platform). File names, MIME types, and upload timestamps are preserved. File content is not re-formatted; binary integrity is validated post-upload via checksum.
Paradox
Custom Field (Candidate)
Bullhorn ATS & CRM
Custom Field (Lead/Contact/Candidate)
lossyParadox custom fields on Candidates vary by customer configuration and have no standard export list. We capture the full custom field schema during pre-migration discovery, map Paradox field types (text, number, date, checkbox, dropdown) to the equivalent Bullhorn field type (Text, Number, Date, Checkbox, Picklist), and configure the Bullhorn custom fields in the destination org before any record import. Custom fields that have no Bullhorn equivalent are flagged for the customer's admin to decide whether to create a matching field or drop the data.
Paradox
Custom Field (Job)
Bullhorn ATS & CRM
Custom Field (JobOrder)
lossyParadox custom fields on Jobs migrate to Bullhorn JobOrder custom fields following the same type-mapping approach. We configure the JobOrder custom fields in Bullhorn's Job Order Custom tab during schema pre-configuration. Any conditional visibility or required-flag logic from Paradox does not transfer; Bullhorn's field-level security is configured independently.
Paradox
Offer
Bullhorn ATS & CRM
Placement
1:1Paradox Offer records (compensation details, status, approval workflow) map to Bullhorn Placement for candidates who reached offer stage in the Paradox pipeline. Offer status history migrates as Placement history records. Compensation amounts, start date, and job title at offer migrate as Placement fields. Note that Paradox offer templates or approval routing logic do not transfer; Bullhorn's offer approval workflow is configured by the customer's admin post-migration.
Paradox
Assessment
Bullhorn ATS & CRM
Note or Custom Object
1:1Paradox Assessment results (score, status, linked candidate) migrate as Bullhorn Note records with type 'Assessment' attached to the candidate's Lead or Contact. If the customer uses a named third-party assessment provider that is integrated with Paradox, we flag the tool and recommend exporting assessment content from the source tool directly rather than relying on Paradox as the system of record for assessment artifacts.
Paradox
Group
Bullhorn ATS & CRM
BusinessSector or Custom Entity
1:1Paradox Groups representing departments, locations, or cost centers map to Bullhorn BusinessSector or to a custom entity depending on the customer's Bullhorn configuration. Group hierarchies with nested depth are flattened in Bullhorn if the destination org does not support multi-level grouping; we document the full Paradox group tree during discovery and advise the customer on the appropriate Bullhorn entity structure.
| Paradox | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Lead or Contact (split required)1:many | Fully supported | |
| Candidate | CandidateRecord (custom)lossy | Fully supported | |
| Job | JobOrder1:1 | Fully supported | |
| Job | ClientCorporation1:1 | Fully supported | |
| Event | PlacementInterview1:1 | Fully supported | |
| Screening Response | Note1:1 | Fully supported | |
| Schedule | InterviewSchedule or Note1:1 | Fully supported | |
| Attachment | CandidateAttachment or ContentDocument1:1 | Fully supported | |
| Custom Field (Candidate) | Custom Field (Lead/Contact/Candidate)lossy | Fully supported | |
| Custom Field (Job) | Custom Field (JobOrder)lossy | Fully supported | |
| Offer | Placement1:1 | Fully supported | |
| Assessment | Note or Custom Object1:1 | Fully supported | |
| Group | BusinessSector or Custom Entity1: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.
Paradox gotchas
Limited native bulk export forces reliance on ATS passthrough
GDPR candidate consent transfers require explicit handling
Implementation timeline delays migration start
Custom fields vary by customer and require discovery scoping
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
Export-path confirmation and discovery scoping
We audit the customer's Paradox instance to determine the available export path. If a live Bullhorn Paradox connector exists in the Paradox instance, we confirm what data objects the connector exposes and what volume it can handle. If no connector is available, we request Paradox's native JSON export of Candidate, Job, Event, Offer, and custom field records. We simultaneously conduct the custom field schema discovery, capturing every custom field name, type, and associated object. We also identify any GDPR-flagged records (right-to-erasure, withdrawal-of-consent) for exclusion. The discovery output is a written data inventory, export-path recommendation, and GDPR exclusion list.
Bullhorn schema pre-configuration
We configure the destination Bullhorn org before any record import. This includes creating any custom Lead, Contact, or Candidate custom fields to receive Paradox custom field data; configuring JobOrder custom fields; setting up BusinessSector mappings for Paradox Groups; and creating the Lead-Contact split rule based on the customer's Paradox candidate status matrix. Bullhorn schema changes are deployed into a Bullhorn Sandbox or staging environment first for validation. We coordinate with the customer's Bullhorn admin to ensure the migration user has the required Bullhorn REST API permissions and to identify any Bullhorn validation rules that may block import.
GDPR consent audit and record exclusion
We run the GDPR consent audit against the Paradox export or connector feed. Any candidate record with a right-to-erasure flag, withdrawal-of-consent flag, or a consent expiry date before the migration date is excluded from the migration set and added to a GDPR Exclusion Report with record ID, exclusion reason, and exclusion date. The report is delivered to the customer's legal or privacy team for sign-off before migration begins. Bullhorn's GDPR intake is the customer's responsibility to document under their updated privacy policy.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn Sandbox or staging environment using the full Paradox export volume. The customer's Bullhorn admin reconciles record counts (Candidates in, Leads in, Contacts in, JobOrders in, Events in, Notes in), spot-checks 25-50 random records against the Paradox source, and validates that custom field data landed correctly in Bullhorn. Any mapping corrections are documented and applied to the production migration script. Sandbox sign-off is required before production migration begins.
Owner and recruiter reconciliation
We extract every distinct Paradox owner and recruiter referenced on Candidate, Job, Event, and Offer records and match by email against the Bullhorn destination org's User table. Any Paradox owner without a matching Bullhorn User is added to a reconciliation queue. The customer's Bullhorn admin provisions any missing Bullhorn Users before record import resumes. This step is a hard dependency: Bullhorn requires OwnerId on most standard objects and will reject records with invalid or null OwnerId references.
Production migration in dependency order
We run production migration in record-dependency order: ClientCorporation records (parent of JobOrder), JobOrder records (with clientCorporationId resolved), Leads and Contacts (with the status-based split applied and paradox_original_status__c preserved), Events as PlacementInterview records, Screening Responses as Notes, Schedules as Notes with type Availability, Attachments re-uploaded to Bullhorn Candidate records, Offers mapped to Placement for candidates at offer stage, and Custom Fields populated on both candidate and job records. Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn API rate limits are managed through batch chunking and exponential backoff.
Cutover, validation, and automation rebuild handoff
We freeze any Paradox 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 a written automation inventory document covering every Paradox Olivia workflow and screening logic with a recommended Bullhorn Automation (Herefish) equivalent. We do not rebuild Paradox workflows in Bullhorn; that is handled by the customer's Bullhorn admin or a Bullhorn partner. We support a one-week hypercare window where we resolve any data quality issues raised by the customer's recruiting team. Bullhorn configuration of workflows, sequences, forms, and reports is outside standard migration scope.
Platform deep dives
Paradox
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 2 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 Paradox and Bullhorn ATS & CRM.
Object compatibility
2 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
Paradox: Not publicly documented.
Data volume sensitivity
Paradox 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 Paradox to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Paradox 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 Paradox
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.