HRMS migration

Migrate from Recruit ATS by HR Cloud to Bullhorn ATS & CRM

Field-level mapping, validation, and rollback between Recruit ATS by HR Cloud and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.

Recruit ATS by HR Cloud logo

Recruit ATS by HR Cloud

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between Recruit ATS by HR Cloud and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Recruit ATS by HR Cloud is an SMB-oriented applicant tracking system with fully customizable Kanban pipelines, native SMS interview invite sequences, and a flat-tier pricing model starting around $295 per month. Bullhorn is a recruitment-industry platform that combines ATS and CRM functionality across 10,000-plus customers globally, with standard fields for Jobs, Candidates, Applications, Placements, Clients, and Activities, plus an ATS v1 and ATS v2 data model that introduces the Application V2 custom object on newer tenants. The migration from Recruit ATS to Bullhorn is primarily a record export and re-import: we pull Jobs, Candidates, Applications, Pipeline Stage definitions, Tags, and document attachments from the HR Cloud REST API, map them into Bullhorn's entity schema, and load via the Bullhorn REST API with batch chunking and rate-limit handling. Automation rules and Interview Scorecards are not exportable from Recruit ATS, so we deliver a written inventory of active rules and scorecard templates for the customer's Bullhorn admin to rebuild using Bullhorn Automation or a third-party tool. Entity-type custom fields that link Candidate-to-Job records require post-migration re-linkage because Bullhorn assigns new record IDs during import.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Recruit ATS by HR Cloud logo

Recruit ATS by HR Cloud

What's pushing teams away

  • Built-in interview scheduling is missing entirely—teams must subscribe to a separate calendar tool, adding friction and cost for a core recruiting task.
  • LinkedIn InMail and in-platform chat are gated behind a paid add-on, which frustrates users expecting native functionality at the base tier.
  • Performance degrades noticeably with large candidate pools, with UI lag and slower load times on boards exceeding several hundred active records.
  • Some advanced automation triggers and custom workflows require features available only on higher-tier plans, creating surprise costs when teams grow into them.

Choosing

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

What's pulling them in

  • Agencies choose Bullhorn because it combines ATS and CRM in one platform, eliminating the need to switch between separate tools for candidate management and client relationship tracking.
  • The resume parser extracts contact details, work history, and skills into structured, searchable candidate profiles automatically without manual data entry, reportedly driving 24% more placements per recruiter.
  • Bullhorn's placement and split-billing model natively supports contract staffing workflows, handling start/end dates, overtime rules, and multi-party pay/charge rates in a single record.
  • The platform offers extensive third-party integrations through its Recruitment Cloud Marketplace, connecting with back-office, onboarding, and payroll systems used by staffing agencies.
  • 72% of Bullhorn customers are teams with fewer than 10 users, and Bullhorn's implementation team handles setup and data migration for small agencies going live within weeks.

Object mapping

How Recruit ATS by HR Cloud objects map to Bullhorn ATS & CRM

Each row shows how a Recruit ATS by HR Cloud 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.

Recruit ATS by HR Cloud

Job

maps to

Bullhorn ATS & CRM

JobOrder (Job)

1:1
Fully supported

Recruit ATS Job records map to Bullhorn JobOrder. We extract title, description, location, department, employment type, and status (open/closed/archived). Custom request fields attached to the job posting map to Bullhorn custom fields on JobOrder, which we pre-create in the destination tenant before migration. The job's ordinal position in Recruit ATS is preserved as a sort field but Bullhorn Kanban ordering is managed via its own column configuration rather than a global ordinal.

Recruit ATS by HR Cloud

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Recruit ATS Candidate records map directly to Bullhorn Candidate. Standard fields (name, email, phone, address, work history, education) migrate to Bullhorn's Candidate entity. The primary resume file migrates as a Bullhorn Candidate attachment (ContentDocument with binary blob), preserving original filename and MIME type. If the Bullhorn destination uses ATS v2, Candidate records are required before Application V2 records can be created.

Recruit ATS by HR Cloud

Application

maps to

Bullhorn ATS & CRM

JobSubmission (ATS v1) or Application V2 (ATS v2)

1:1
Fully supported

Recruit ATS Application records (the junction between Candidate and Job) map to Bullhorn JobSubmission under ATS v1 or Application V2 under ATS v2. We extract applied date, current stage, source channel, and rejection reason. Bullhorn's ATS v2 data model introduces Application V2 as a Bullhorn Recruitment Cloud custom object with different field mapping requirements from ATS v1; we confirm the destination tenant's data model during scoping and configure the import path accordingly. Application-level custom fields require value-mapping against Bullhorn's field type constraints (character limits, picklist values) before import.

Recruit ATS by HR Cloud

Pipeline Stage

maps to

Bullhorn ATS & CRM

JobStage

lossy
Fully supported

Recruit ATS Pipeline Stages are fully custom with ordinal positions and Kanban column names. We extract the stage name, ordinal position, and any stage-specific configuration. Bullhorn JobStage values are defined in the Bullhorn tenant settings and must be pre-created before JobSubmission import; we map Recruit ATS stage names to Bullhorn stage values by ordinal order and produce a stage mapping sheet. Kanban column order is preserved via the ordinal mapping but Bullhorn's Kanban view uses its own column ordering rules.

Recruit ATS by HR Cloud

Tag

maps to

Bullhorn ATS & CRM

CandidateTag (Bullhorn native)

1:1
Fully supported

Recruit ATS Tags are string labels applied to Candidates and Jobs. We export the full tag set and apply them as Bullhorn CandidateTag records linked to the corresponding Candidate. Multi-tag records migrate as arrays and create multiple CandidateTag associations. Bullhorn does not have a native tag system for JobOrder, so Job-level tags from Recruit ATS map to a custom text field on JobOrder.

Recruit ATS by HR Cloud

Entity-type Custom Field

maps to

Bullhorn ATS & CRM

Custom Field + Re-linkage Map

1:1
Fully supported

Recruit ATS supports entity-type custom fields that link a Candidate record to another Candidate or Job record. Bullhorn does not support this cross-record entity linking pattern natively. We detect these fields during the pre-flight audit, preserve the linked-record IDs in a dependency map, and post them to a re-linkage guide. The customer's Bullhorn admin manually re-establishes these links after migration using Bullhorn's custom fields or a lookup tool. We flag any compliance-critical linkages (such as candidate-to-referrer relationships) separately so they are not missed.

Recruit ATS by HR Cloud

Document / Attachment

maps to

Bullhorn ATS & CRM

ContentDocument (Candidate)

1:1
Fully supported

Resume files, cover letters, and uploaded documents attached to Candidates and Jobs migrate as Bullhorn ContentDocument records with the original filename and MIME type preserved. Large attachments (over 5 MB) are chunked for API upload using Bullhorn's binary attachment endpoint with retry logic. We preserve the attachment's association to the parent record (Candidate or JobOrder) using ContentDocumentLink.

Recruit ATS by HR Cloud

Candidate Note

maps to

Bullhorn ATS & CRM

Note (Candidate)

1:1
Fully supported

Notes attached to Candidates in Recruit ATS migrate as Bullhorn Note records linked to the Candidate via ContentDocumentLink. We preserve the note body as plain text, the original author name, and the creation timestamp. Thread structure (replies to notes) does not migrate; all notes land as flat entries in Bullhorn's Note list against the parent Candidate.

Recruit ATS by HR Cloud

Owner

maps to

Bullhorn ATS & CRM

CorporateUser (Bullhorn)

1:1
Fully supported

Recruit ATS Owner records map to Bullhorn CorporateUser. We resolve by email match against the Bullhorn destination tenant's user table. Any Recruit ATS Owner without a matching Bullhorn CorporateUser goes to a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Owner assignments on Candidate, JobOrder, and JobSubmission migrate as OwnerID references after user resolution is complete.

Recruit ATS by HR Cloud

Job (Client reference)

maps to

Bullhorn ATS & CRM

ClientCorporation (Bullhorn CRM entity)

lossy
Fully supported

Recruit ATS Jobs have a client or company reference that maps to Bullhorn ClientCorporation if the destination tenant uses Bullhorn's CRM layer. We extract the client name from Recruit ATS job records and either match against an existing ClientCorporation in Bullhorn or create a new ClientCorporation record. This step is scoped during discovery; if the customer does not use Bullhorn CRM, the client reference migrates as a text field on JobOrder.

Recruit ATS by HR Cloud

Job Application Status History

maps to

Bullhorn ATS & CRM

JobSubmission History

1:1
Fully supported

Recruit ATS tracks application status changes over time. We extract the full status history with timestamps and migrate it as a series of Note records attached to the JobSubmission, each noting the previous stage, new stage, and timestamp. Bullhorn does not natively store application stage-change history as a structured object, so the history is preserved in searchable note form for audit purposes.

Recruit ATS by HR Cloud

Automation Rule

maps to

Bullhorn ATS & CRM

Not migrated (registry only)

1:1
Fully supported

Recruit ATS automation rules (knock-out question triggers, SMS invite sequences, email sequences) are not exposed via the public API and cannot be exported as structured data. We do not migrate automation rules. During the pre-flight audit we produce a written automation registry listing every active rule with its trigger, conditions, and actions. The customer's Bullhorn admin uses this registry to rebuild equivalent automations in Bullhorn Automation, Herefish, or another Bullhorn-native automation tool post-migration.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Recruit ATS by HR Cloud logo

Recruit ATS by HR Cloud gotchas

Medium

Interview scheduling is not native to the ATS

High

Automation rules are not exportable via API

Medium

Entity-type custom fields create cross-object dependencies

Low

Large candidate pools cause UI performance degradation

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM gotchas

High

ATS Growth edition has no API access

High

Attachments excluded from CSV bulk exports

Medium

Custom Object limits vary sharply by edition

Medium

Opportunity pipeline stages are recruitment-specific

Low

Resume parse quality varies by document format

Pair-specific challenges

  • ATS v1 versus ATS v2 data model difference on destination tenant

    Bullhorn operates either the ATS v1 or ATS v2 data model depending on the tenant's configuration and onboarding date. ATS v2 introduces Application V2 as a Bullhorn Recruitment Cloud custom object rather than using the standard JobSubmission entity. Migration scripts and field mappings differ significantly between the two models. We confirm the destination tenant's data model during scoping, adjust the Application mapping path accordingly, and validate against a Bullhorn sandbox import before production load. Migrating to the wrong data model results in Application records being created in the wrong entity with orphaned field data.

  • Automation rules and SMS sequences cannot be exported from Recruit ATS

    Recruit ATS does not expose automation rules, knock-out question configurations, or SMS invite sequences via its public API. We cannot migrate these as structured data. Before migration begins, we run a rules audit and produce a written automation registry listing every active automation, its trigger (job posted, form submitted, stage changed), conditions (knock-out answer thresholds, candidate tags), and actions (send SMS, move stage, reject). The customer's Bullhorn admin uses this registry to rebuild automations in Bullhorn Automation or Herefish. Compliance-critical automations such as auto-rejection on certain knock-out answers are flagged separately so they are not overlooked during rebuild.

  • Entity-type custom fields require post-migration re-linkage

    Recruit ATS supports entity-type custom fields that link a Candidate to another Candidate or Job record. Bullhorn does not support this cross-record entity linking pattern. We detect these fields during the pre-flight audit, preserve the linked-record IDs in a dependency map, and post a re-linkage guide with step-by-step instructions for the customer's Bullhorn admin. Any candidate-to-referrer, candidate-to-mentor, or candidate-to-pool relationships must be manually re-established after migration using Bullhorn's custom text fields or a lookup extension tool.

  • Interview scorecards and evaluation templates not exportable via API

    Interview scorecards and evaluation templates in Recruit ATS are not exposed via the public API. We cannot migrate structured evaluation data. We recommend exporting any critical scorecard responses as PDF exports from the Recruit ATS UI before the migration date and attaching them to the corresponding Candidate record post-migration. The scorecard template structure itself must be rebuilt in Bullhorn using a third-party evaluation tool or custom object. We flag this gap in the scoping document so it is not missed.

  • Resume attachments must be uploaded as binary blobs via Bullhorn API

    Bullhorn stores candidate resume attachments as ContentDocument binary records. We handle the multi-step attachment process (create ContentVersion, create ContentDocument, create ContentDocumentLink) with chunking for files over 5 MB and retry logic on transient API errors. If the Bullhorn tenant has file storage limits enabled, we flag storage consumption before migration and advise the customer to confirm available quota. Large resume libraries (over 5 GB total) may require phased import rather than a single bulk load.

Migration approach

Six steps for a successful Recruit ATS by HR Cloud to Bullhorn ATS & CRM data migration

  1. Discovery and Bullhorn data model confirmation

    We audit the source Recruit ATS tenant across Jobs, Candidates, Applications, Pipeline Stage definitions, Tags, custom field inventory, automation rule inventory, and attachment volume. We also confirm whether the destination Bullhorn tenant runs ATS v1 or ATS v2, whether the CRM layer (ClientCorporation, Lead, Placement) is active, and what custom fields already exist in the Bullhorn schema. The discovery output is a written migration scope document specifying the object mapping, stage mapping, entity-type custom field list, automation registry (for rebuild), and a Bullhorn schema gap report for any custom fields we need to pre-create before import.

  2. Pre-migration data audit and automation registry

    We run a full export of all migratable objects from Recruit ATS using the HR Cloud API. For each automation rule, we capture the rule name, trigger type, conditions, and actions in a structured registry. For entity-type custom fields, we generate a dependency map linking source record IDs to destination record IDs. We produce record-count summaries and attachment volume totals. The customer reviews the automation registry and confirms which rules are active, deprecated, or compliance-critical before we proceed to sandbox migration.

  3. Bullhorn schema preparation

    We pre-create any missing custom fields on Bullhorn entities (JobOrder, Candidate, JobSubmission or Application V2, ClientCorporation) based on the custom field gap report. We configure JobStage values to match the Recruit ATS pipeline stage names and ordinal positions. If the destination uses ATS v2, we configure the Application V2 custom object fields and page layouts. Bullhorn schema changes are deployed to a sandbox tenant first for validation. Bullhorn's API requires specific field type constraints (character limits, picklist value sets) that may differ from Recruit ATS; we reconcile these before production migration.

  4. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (Jobs in, Candidates in, Applications in, Notes in), spot-checks 25 to 50 records for field-level accuracy, and validates that entity-type custom field dependencies are correctly flagged in the re-linkage map. Stage mapping is validated by reviewing 10 randomly selected JobSubmission records to confirm the correct Bullhorn stage is assigned. Any mapping corrections are documented and applied to the production migration script before cutover. The customer signs off the sandbox migration before we proceed to production.

  5. Owner reconciliation and user provisioning

    We extract every distinct Recruit ATS Owner referenced on Candidate, Job, and Application records and match by email against the Bullhorn destination tenant's CorporateUser table. Owners without a matching Bullhorn user go to a reconciliation queue. The customer's Bullhorn admin provisions any missing users (active or inactive depending on whether the original Recruit ATS user is still active). Bullhorn user provisioning is a prerequisite step because OwnerID references are required on Candidate, JobOrder, and JobSubmission records.

  6. Production migration in dependency order

    We run production migration in record-dependency order: CorporateUser resolution (manual, validated), ClientCorporation records (if CRM layer is active), JobOrder records, Candidate records with resume attachments, JobSubmission or Application V2 records (with stage mapping applied), Notes, and Tags. Each phase emits a row-count reconciliation report. Entity-type custom field dependencies are not resolved during import; they are flagged in the re-linkage guide for manual post-migration handling. We run a delta migration of any records modified during the migration window before final cutover.

  7. Cutover, validation, and automation rebuild handoff

    We freeze writes to Recruit ATS during the cutover window, run a final delta migration pass, and hand off Bullhorn as the system of record. We deliver the automation registry and re-linkage guide to the customer's Bullhorn admin team. We support a five-business-day hypercare window where we resolve any data quality issues raised by the recruiting team. We do not rebuild Recruit ATS automation rules in Bullhorn Automation or Herefish as part of the migration scope; that work is handled by the customer's Bullhorn admin or a Bullhorn partner using the automation registry we delivered.

Platform deep dives

Context on both ends of the pair

Recruit ATS by HR Cloud logo

Recruit ATS by HR Cloud

Source

Strengths

  • Fully customizable Pipeline Stages with Kanban view adapt to any hiring workflow shape.
  • Native automation for knock-out questions, SMS invites, and email sequences reduce manual screening overhead.
  • Affordable tiered pricing with employee-band model keeps per-employee cost predictable for growing teams.
  • Strong customer support cited consistently in G2 reviews as responsive and solution-oriented.
  • Chrome extension and full resume text search accelerate sourcing for sourcers and recruiters.

Weaknesses

  • Interview scheduling requires a separate third-party calendar tool, not built into the platform.
  • Advanced features including LinkedIn InMail and in-platform chat are paid add-ons rather than base-tier inclusions.
  • Performance degrades on Kanban boards with several hundred active candidate records.
  • Automation rules and evaluation scorecards cannot be exported via API, requiring manual rebuild at the destination.
Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

Destination

Strengths

  • Unified ATS and CRM on one platform purpose-built for staffing agencies, eliminating separate tools for candidates and clients.
  • Automated resume parsing extracts structured candidate data—contact details, work history, skills—into searchable profiles instantly.
  • Native placement and split-billing model handles contract staffing workflows including start/end dates and overtime rules.
  • Bullhorn Recruitment Cloud Marketplace offers 100+ pre-validated third-party integrations spanning the full recruiting lifecycle.
  • 24/7 global support coverage from 350+ support staff with dedicated account management included at all tiers.

Weaknesses

  • Widely regarded as old and bloated with an unintuitive interface and steep learning curve for new recruiters.
  • Slow page loads and performance lag cited in over 200 verified G2 reviews during high-volume recruiting periods.
  • Pricing is opaque—custom-negotiated per organization with significant upfront implementation fees that vary by deal.
  • ATS Growth edition excludes API access entirely, preventing automated data export without upgrading first.

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Recruit ATS by HR Cloud and Bullhorn ATS & CRM.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Recruit ATS by HR Cloud: Not publicly documented.

  • Data volume sensitivity

    B

    Recruit ATS by HR Cloud doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Recruit ATS by HR Cloud to Bullhorn ATS & CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Recruit ATS by HR Cloud to Bullhorn ATS & CRM data migrations

Answers to the questions buyers ask most during Recruit ATS by HR Cloud to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Recruit ATS by HR Cloud to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 Candidates and 500 Jobs with no entity-type custom fields and a Bullhorn ATS v1 destination. Migrations with ATS v2 on the destination, entity-type custom field dependencies, large attachment volumes (over 2 GB of resume files), or a CRM layer requiring ClientCorporation mapping move to eight to twelve weeks because of schema preparation, re-linkage work, and sandbox validation cycles.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Recruit ATS by HR Cloud.
Land in Bullhorn ATS & CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day