HRMS migration
Field-level mapping, validation, and rollback between RECRU and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
RECRU
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 12
objects map 1:1 between RECRU and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from RECRU to Bullhorn is a migration from an AI-matching-focused SMB tool to a staffing-agency-scale ATS and CRM with a mature REST API and a broad marketplace of integration partners. RECRU stores candidate data, job requisitions, and AI-generated match scores; Bullhorn adds a ClientCorporation (Account), Placement, and Opportunity layer that RECRU does not have. We extract RECRU's candidate schema including custom fields and tags, map job pipeline stages to Bullhorn Record Types, provision Bullhorn Custom Objects (up to 10 for Front Office Growth/Enterprise editions) via a support ticket before import, and preserve AI match scores as a custom float field on the Candidate record. RECRU's workflow automation rules are documented as a written inventory; Bullhorn Automation (trigger-action pairs) requires rebuild in Bullhorn's own builder and is outside our migration scope. GDPR-compliant deletion requests run inside RECRU before export are respected — we detect deletion timestamps and skip purged records rather than importing ghost IDs.
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 RECRU 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.
RECRU
Candidate
Bullhorn ATS & CRM
Candidate
1:1RECRU Candidate records map to Bullhorn Candidate. We extract all standard fields (name, email, phone, skills, work history) plus tenant-added custom properties as key-value pairs. AI-generated match scores from RECRU are preserved as a custom float field recru_match_score__c on the Bullhorn Candidate; this score has no fixed range or calibration and is not comparable to any Bullhorn-native scoring system. Tags applied in RECRU migrate as flat label arrays attached to the Candidate record in Bullhorn. Deleted candidates (GDPR requests run before export) are excluded from the migration dataset.
RECRU
Job
Bullhorn ATS & CRM
JobOrder
1:1RECRU Job requisitions carry title, description, department, location, salary range, and hiring pipeline stages. Bullhorn JobOrder is the equivalent object. Pipeline stage order from RECRU maps to a Bullhorn Record Type and Sales Process that we configure before migration. If Bullhorn uses a predefined pipeline structure, RECRU stages map to the closest equivalent stage name and any stages with no clear destination are flagged in the migration report for admin review.
RECRU
User
Bullhorn ATS & CRM
User
1:1RECRU User accounts (name, email, role, team assignment) map to Bullhorn User records. We resolve by email match against the Bullhorn destination org. Any RECRU User without a matching Bullhorn User is placed in a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Active/inactive status is preserved based on the RECRU account state at export time.
RECRU
Custom Fields (Tenant-Added)
Bullhorn ATS & CRM
Custom Object (1-10, Bullhorn editions vary)
lossyRECRU custom properties on Candidates are extracted as key-value pairs with field name and type. Bullhorn Custom Objects require a support ticket to Bullhorn Support for initial provisioning. Bullhorn Front Office Growth/Enterprise editions support up to 10 Custom Objects with 55 fields each; Bullhorn ATS supports 2; ATS Growth supports none. We pre-create the destination schema via a Bullhorn Support ticket before migration and validate field limits (some Bullhorn fields are capped at 100 characters). We fallback to text fields for unsupported custom field types.
RECRU
Communication Thread
Bullhorn ATS & CRM
Note + Task activity log
1:1Email threads and message logs attached to RECRU Candidate records migrate as a flattened activity log in Bullhorn. Bullhorn renders each message as a separate Note record or Task activity entry rather than preserving the original thread structure. Message sender, recipient, timestamp, and body content transfer; thread hierarchy does not. Bullhorn's REST API supports Note and Task creation; the original thread structure cannot be fully replicated in Bullhorn's flat activity model.
RECRU
Interview
Bullhorn ATS & CRM
Appointment
1:1Interview events in RECRU carry date, interviewer, and outcome. Bullhorn Appointment is the equivalent scheduling object. We map RECRU interview date to Bullhorn Appointment dateTime, interviewer to Appointment attendee relations, and outcome to a custom Appointment field or Note. Not all Bullhorn editions expose full Appointment scheduling; we validate the destination edition's feature availability during scoping.
RECRU
Hiring Pipeline Stages
Bullhorn ATS & CRM
Record Type + Sales Process + JobOrder Status
lossyRECRU pipeline stage names and order migrate as Bullhorn Record Types (one per RECRU pipeline) with corresponding Sales Process stage values. Stage probability percentages from RECRU map to Bullhorn stage probability values with rounding to the nearest integer. Bullhorn's Sales Process whitelists which stage values are valid per Record Type, preventing invalid stage transitions. We configure this in a Bullhorn Sandbox before production migration.
RECRU
Tag
Bullhorn ATS & CRM
Candidate Tags (Bullhorn native)
1:1Tags applied to Candidates in RECRU migrate as Bullhorn Candidate Tags. Bullhorn natively supports tagging Candidates with flat label strings. We preserve the tag names exactly and attach them to the corresponding Candidate record in Bullhorn. Tags used for content classification in RECRU do not have a native Bullhorn equivalent beyond the tagging system; we map them as-is.
RECRU
Scorecard
Bullhorn ATS & CRM
Custom Object or Note
1:1Evaluation scorecards submitted by interviewers in RECRU migrate as JSON objects attached to the Candidate record. Bullhorn editions that support Custom Objects store them there; editions without Custom Object support receive scorecards as Note records with the scorecard data serialized in the Note body. Destination admin reviews the scorecard format during scoping to determine the preferred storage approach.
RECRU
Workflow Automation Rules
Bullhorn ATS & CRM
Workflow Inventory Document
lossyRECRU workflow automation rules are JSON-backed in the database with a visual rule builder UI exposing conditional branching. Bullhorn Automation (trigger-action pairs) uses a different model and cannot accept RECRU workflow rules as a direct import. We export the full rule graph including all conditional branches, delays, and actions, and deliver it as a written inventory document. The customer's Bullhorn admin or a Bullhorn partner rebuilds the automation logic in Bullhorn Automation post-migration. Multi-step conditional branches may collapse into single automations or require manual redesign in Bullhorn.
RECRU
ClientCorporation (not in RECRU)
Bullhorn ATS & CRM
ClientCorporation
1:1Bullhorn includes ClientCorporation and ClientContact as first-class objects for tracking the client side of the recruiting relationship. RECRU does not have an equivalent native client tracking layer. If the customer has client data stored in RECRU as a related entity or in an external system, we can map it to Bullhorn ClientCorporation during migration. We flag this gap during scoping and determine whether client data exists in RECRU or requires separate export.
RECRU
Placement (not in RECRU)
Bullhorn ATS & CRM
Placement
1:1Bullhorn Placement records track successfully placed candidates, bill rate, pay rate, start date, and placement status. RECRU does not have a native Placement object. If the customer has placement records stored in RECRU (e.g., as custom fields on a Candidate or Job), we extract them and map to Bullhorn Placement. We flag this during scoping and configure the Bullhorn Placement schema if the customer has placement data to migrate.
| RECRU | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job | JobOrder1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Fields (Tenant-Added) | Custom Object (1-10, Bullhorn editions vary)lossy | Fully supported | |
| Communication Thread | Note + Task activity log1:1 | Fully supported | |
| Interview | Appointment1:1 | Fully supported | |
| Hiring Pipeline Stages | Record Type + Sales Process + JobOrder Statuslossy | Mapping required | |
| Tag | Candidate Tags (Bullhorn native)1:1 | Fully supported | |
| Scorecard | Custom Object or Note1:1 | Fully supported | |
| Workflow Automation Rules | Workflow Inventory Documentlossy | Fully supported | |
| ClientCorporation (not in RECRU) | ClientCorporation1:1 | Fully supported | |
| Placement (not in RECRU) | Placement1: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.
RECRU gotchas
GDPR-compliant deletion requests run inside RECRU before migration
Workflow automation rules may not map 1:1 to destination ATS
AI-generated match scores are proprietary and destination-agnostic
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 data audit
We audit the RECRU tenant across all record types: Candidate volume, Job volume, User count, active workflow rule count, custom field inventory, tag taxonomy, and engagement history (communications and interviews) attached to Candidates. We also assess GDPR deletion request timestamps to identify any records already purged before our export window. The discovery output is a written migration scope document with record counts per object, custom field mapping inventory, pipeline stage list from RECRU, and a Bullhorn edition recommendation based on the customer's data model complexity.
Bullhorn edition validation and Custom Object provisioning
We confirm the customer's target Bullhorn edition (Starter, Core, or Pro) and validate that it supports the migration scope. Bullhorn ATS Growth does not support Custom Objects; Bullhorn Support requires a ticket to provision them on Front Office Growth/Enterprise. We submit the Bullhorn Support ticket during this step with the completed Custom Object Setup spreadsheet, and wait for confirmation before proceeding to schema design. Bullhorn's standard fields, custom fields, and field-level character limits are documented against the RECRU custom field inventory to identify any truncation risks.
Schema design and sandbox validation
We design the Bullhorn destination schema in a Sandbox org. This includes Record Types (one per RECRU pipeline), Sales Processes with stage values mapped from RECRU, Custom Objects and their fields (if provisioned by Bullhorn Support), and field mappings from RECRU custom properties to Bullhorn fields or Custom Object fields. RECRU AI match scores are mapped to recru_match_score__c as a custom float field. The workflow automation rule graph is exported as a JSON document for handoff. We run a sandbox migration with production-like volume and the customer reconciles a sample of records before approving the production schema.
User and owner reconciliation
We extract every distinct RECRU User referenced on Candidate, Job, and Engagement records and match by email against the Bullhorn destination org's User table. Any RECRU User without a matching Bullhorn User is placed in a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active or inactive based on RECRU account status at export). OwnerId references on Bullhorn records are required at import time, so User provisioning must complete before record import begins.
Production migration in dependency order
We run production migration in record-dependency order: Bullhorn ClientCorporation and ClientContact (if sourced from RECRU or external data), Candidate records (with GDPR-deletion check, tags, custom fields, and AI match scores), JobOrder records (with pipeline stage mapping to Bullhorn Record Type), User assignments, Communication and Interview history (as Note and Appointment records via Bullhorn REST API), Scorecards (as Custom Object or Note depending on Bullhorn edition), and Placement records (if sourced from RECRU). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn REST API rate limits are managed with exponential backoff and batch chunking.
Cutover, validation, and workflow handoff
We freeze RECRU 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 workflow automation inventory document to the customer's Bullhorn admin with a rebuild guide for Bullhorn Automation. We support a one-week hypercare window where we resolve any record-level reconciliation issues. We do not rebuild RECRU workflows as Bullhorn Automation inside the migration scope; that work is handled by the customer's Bullhorn admin or a Bullhorn partner.
Platform deep dives
RECRU
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 RECRU 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
RECRU: Not publicly documented..
Data volume sensitivity
RECRU 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 RECRU to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your RECRU 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 RECRU
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.