HRMS migration

Migrate from Bullhorn ATS & CRM to Crelate

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

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

Source

Crelate

Destination

Crelate logo

Compatibility

92%

11 of 12

objects map 1:1 between Bullhorn ATS & CRM and Crelate.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Crelate
Bullhorn ATS & CRM

Overview

What this migration involves

Bullhorn ATS & CRM and Crelate share a recruitment-focused data model—both treat Candidates and Companies as first-class objects—but the platforms diverge sharply on custom field capacity and object hierarchy. Bullhorn's ATS editions cap searchable custom objects at 2 per entity with 55 fields each, while Front Office editions allow 10 custom objects. Crelate imposes a hard 20-field limit per entity with no custom object support, forcing any Bullhorn custom object that functions as a child table (multiple certifications per candidate, multiple interview rounds per submission) to be flattened into custom fields, tags, or notes before migration. We audit the customer's Bullhorn edition during scoping, extract all custom object records via the REST API, transform multi-instance records into Crelate-compatible structures, and preserve resume file attachments that Bullhorn's CSV bulk export excludes. Workflows, automations, and Bullhorn Back Office billing records do not migrate; we deliver a written inventory of Bullhorn-specific configurations requiring rebuild at Crelate.

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

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

What's pushing teams away

  • The interface is widely described as old, bloated, and unintuitive with a steep learning curve that frustrates new users and slows recruiter adoption during onboarding.
  • Slow performance and page load lag appear in over 200 G2 reviews, making the platform feel unresponsive during high-volume recruiting days.
  • Pricing is opaque and negotiated individually with significant implementation fees, making it difficult to budget and compare against alternatives with published pricing.
  • Limited customization relative to modern CRM platforms constrains agencies that want to tailor workflows to niche or non-standard recruiting processes.

Choosing

Crelate logo

Crelate

What's pulling them in

  • Affordable per-seat pricing with transparent tiers makes Crelate accessible for small-to-mid staffing firms evaluating ATS platforms for the first time.
  • Fast implementation reported by customers—some describe getting live in a matter of minutes with support team assistance.
  • Unified ATS + CRM in a single product eliminates the need to buy and synchronize separate recruiting and sales tools.
  • Flexible custom fields across Contacts, Companies, and Opportunities allow recruiting teams to capture firm-specific data without developer involvement.
  • Positive reviews highlight the product's intuitive interface and functional breadth for teams that need recruiting workflows without enterprise overhead.

Object mapping

How Bullhorn ATS & CRM objects map to Crelate

Each row shows how a Bullhorn ATS & CRM 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 ATS & CRM

Candidate

maps to

Crelate

Contact

1:1
Fully supported

Bullhorn Candidates map to Crelate Contacts. The Bullhorn Candidate is the primary ATS record storing parsed resume data, work history, skills, certifications, and status. We map standard fields (name, email, phone, address, skills) directly. Bullhorn's Candidate custom fields and CandidateList associations (submissions to jobs) migrate as Crelate custom fields and activity tags respectively. Resume file attachments require separate retrieval via Bullhorn's file reference API because CSV exports do not include attachments.

Bullhorn ATS & CRM

JobOrder

maps to

Crelate

Job

1:1
Fully supported

Bullhorn JobOrders map to Crelate Jobs. JobOrder contains requirements, status, location, salary information, and links to Clients. We map standard job fields directly. Bullhorn's job pipeline stages (e.g., New, Interview, Offer, Extended) require a stage mapping table because Bullhorn's recruiting-specific stage names differ from Crelate's standard ATS pipeline terminology. We document the customer's stage names and build a custom mapping before import, preserving stage history as a Crelate activity tag if exact labels cannot be matched.

Bullhorn ATS & CRM

Client (ClientCorporation)

maps to

Crelate

Client Organization

1:1
Fully supported

Bullhorn Clients (ClientCorporation) map to Crelate Client Organizations. This is Bullhorn's CRM company record representing the staffing agency's customer. Standard fields—company name, industry, address, website—map directly. The primary contact within each Client record migrates separately as a Crelate Contact linked to the Client Organization.

Bullhorn ATS & CRM

Contact

maps to

Crelate

Contact

1:1
Fully supported

Bullhorn Contacts represent both client-side business contacts and candidate references. They share a schema but serve different roles. We separate Bullhorn Contacts by their entity type during migration to avoid confusion with Candidate records. Client-side contacts link to the Client Organization; candidate references link to the Candidate record. Email, phone, title, and company association migrate as standard fields.

Bullhorn ATS & CRM

Opportunity

maps to

Crelate

Opportunity (Pipeline Deal)

1:1
Fully supported

Bullhorn Opportunities are CRM-level pipeline deals tied to Clients, representing sales pipeline stages distinct from the ATS submission flow. They map to Crelate Opportunities or pipeline deals. Bullhorn's recruiting-specific pipeline stages (Interview, Offer, Extended) differ from standard CRM terminology. We build a custom stage mapping table during scoping, documenting the customer's exact stage names and probability percentages. Stage history is preserved as a custom field at Crelate if exact labels cannot be matched.

Bullhorn ATS & CRM

Placement

maps to

Crelate

Placement

1:1
Fully supported

Bullhorn Placements map to Crelate Placements. The Placement record links Candidate, JobOrder, and Client, with billing information including pay and charge rates. Contract placements carry overtime rules, start/end dates, and split-billing details. We preserve all placement billing fields including pay rate, charge rate, overtime multiplier, and billing frequency. Historical placements carry placement commission data that migrates as Crelate custom fields.

Bullhorn ATS & CRM

CandidateList (Job Submission)

maps to

Crelate

Candidate Submission / Activity Tag

1:1
Fully supported

CandidateList represents a candidate's submission to a specific job, storing status within the recruitment pipeline (e.g., Submitted, Phone Screen, Interview, Offer, Placed). Bullhorn assigns each CandidateList a status within the Bullhorn job pipeline. We migrate submission status as Crelate activity tags on the candidate Contact record, linked to the destination Job. This preserves the candidate's journey through each job submission without requiring a dedicated submissions object.

Bullhorn ATS & CRM

Custom Object

maps to

Crelate

Custom Fields, Tags, or Notes

1:many
Fully supported

Bullhorn custom objects (up to 10 per entity on Front Office editions, each with 55 fields) have no direct Crelate equivalent. Crelate supports a hard cap of 20 custom fields per entity with no child-table or custom object support. We audit every Bullhorn custom object during scoping. Single-instance custom object data (one record per candidate or job) flattens into Crelate custom fields. Multi-instance custom objects (e.g., multiple certifications per candidate, multiple interview rounds per job) are transformed into Crelate tags, notes (with structured text), or activity records depending on the customer's prioritization during scoping.

Bullhorn ATS & CRM

Task

maps to

Crelate

Task / Activity

1:1
Fully supported

Bullhorn Tasks store to-dos with type, due date, status, and owner assignment across entities. They map cleanly to Crelate Task records. Bullhorn's ATS Growth edition caps API subscriptions at 50, which may limit bulk task retrieval; we handle this with pagination and batched retrieval. Standard task fields (subject, due date, status, priority, owner) migrate directly.

Bullhorn ATS & CRM

User (Owner / Recruiter)

maps to

Crelate

User

1:1
Fully supported

Bullhorn Users are system accounts representing recruiters, sales staff, and administrators with assigned roles and permissions. User records include name, email, role, and department. We extract all Users and map them to Crelate Users by email. Recruiters without a matching Crelate User go to a reconciliation queue for the customer's admin to provision before record import resumes.

Bullhorn ATS & CRM

Attachment (Resume / File)

maps to

Crelate

Attachment (File)

1:1
Fully supported

Bullhorn stores resume files, parsed documents, and communications as separate attachment entities accessible via the file reference API endpoints (/entityFiles/{entityType}/{entityId} and /file/{entityType}/{entityId}/{fileId}). Bullhorn's standard CSV export does not include attachments. We retrieve every attachment via Bullhorn's file reference API, map the file to the corresponding migrated Candidate or Contact record, and upload to Crelate. This step is explicitly planned because it requires API calls beyond the standard export and cannot be completed via CSV alone.

Bullhorn ATS & CRM

Lead (Bullhorn CRM Leads)

maps to

Crelate

Lead

1:1
Fully supported

Bullhorn Lead records (distinct from Candidate) represent unqualified prospects in the CRM pipeline. They map to Crelate Leads if the customer maintains a separate lead queue. If the customer's Bullhorn workflow routes all prospects through the Candidate object, Leads may be empty and can be skipped. We confirm the customer's lead workflow during scoping.

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.

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

Crelate logo

Crelate gotchas

High

120 req/min API rate limit throttles bulk migrations

High

20 custom field per-entity cap forces data model decisions

Medium

15,000-record export ceiling on single operations

Medium

Sequences and automation workflows do not migrate

Low

API key is a querystring parameter, not a header

Pair-specific challenges

  • Crelate's 20-field limit breaks Bullhorn custom object migrations

    Bullhorn Front Office editions support up to 10 custom objects per entity, each with up to 55 fields. Crelate caps custom fields at 20 per entity with no custom object support. Agencies with extensive Bullhorn custom objects—tracking certifications, compliance records, onboarding documents, or multi-round interview data—face a mandatory data rationalization step. We audit every Bullhorn custom object during scoping, rank fields by business value, and recommend which fields flatten into Crelate custom fields, which categorical data converts to tags, and which multi-instance records convert to notes or activity entries. Skipping this step results in failed imports or silent data truncation at Crelate.

  • Bullhorn CSV exports silently omit all file attachments

    Bullhorn's standard list-view CSV export does not include file attachments. Resume files, parsed documents, and uploaded communications exist as separate entity objects accessible only via the REST API. If the migration strategy relies on CSV exports, every resume and attachment is silently omitted from Crelate. We always include explicit attachment-migration steps using Bullhorn's file reference API endpoints. Bullhorn's ATS Growth edition, which has no API access, presents a particular challenge for attachment retrieval; we document this during scoping and discuss manual attachment transfer options.

  • Bullhorn ATS Growth edition blocks automated export entirely

    Bullhorn's ATS Growth edition (formerly Team Edition) explicitly excludes API access. Any migration scoped against a Growth-tier Bullhorn instance cannot rely on the REST API for data export. Bullhorn will not notify you of rate limit breaches on Growth because API access does not exist by design. We identify the customer's Bullhorn edition during scoping and adjust the migration approach to use CSV bulk exports where API is not available. CSV exports omit attachments (see above) and custom objects, so the customer must decide which data elements are acceptable to lose before proceeding.

  • Bullhorn opportunity pipeline stages require explicit remapping

    Bullhorn Opportunities use recruiting-specific pipeline stages (e.g., Interview, Offer, Extended) that differ from standard CRM terminology. Crelate uses standard ATS pipeline stages for its Opportunity or deal tracking. If opportunity history is migrated without remapping stages, pipeline reports at Crelate will show mislabeled or empty stages. We document the customer's Bullhorn opportunity stage names and build a custom stage mapping table before importing, preserving the original Bullhorn stage label in a Crelate custom field for reporting continuity.

  • Duplicate record risk when Bullhorn Candidate and ClientContact share an email

    Bullhorn maintains separate Candidate and ClientContact entities. The same person can exist as both a candidate (someone the agency has sourced or placed) and a client contact (someone at a hiring company). In Crelate, both become Contacts in the same object. Our transformation layer detects duplicates by email or name-plus-phone, merges records preserving the most complete data from each, and carries forward both sets of activity history. We flag duplicate merges for customer review before finalizing the migration.

Migration approach

Six steps for a successful Bullhorn ATS & CRM to Crelate data migration

  1. Discovery and Bullhorn edition audit

    We audit the source Bullhorn instance across edition (ATS Growth/ATS/Corporate/Front Office), custom objects per entity, pipeline stages, engagement volume, and attachment count. Bullhorn ATS Growth editions are flagged immediately because API access is absent. We extract a full list of custom object schemas, field names, and record counts. We pair this with Crelate's schema requirements confirmation: the 20-field limit per entity, no custom object support, and supported object types. The discovery output is a written migration scope with a custom object rationalization plan and an explicit list of data elements that cannot migrate from Bullhorn ATS Growth.

  2. Custom object transformation design

    We design the transformation layer for every Bullhorn custom object that cannot map directly to Crelate. Single-instance data (one record per candidate, job, or placement) flattens into Crelate custom fields, prioritized by the customer during scoping. Multi-instance data (multiple certifications, multiple interview rounds, multiple compliance records) converts to Crelate tags (for categorical data), notes with structured text, or activity entries. We document every transformation decision in a mapping table that the customer reviews before any data moves. This step is the primary driver of timeline for migrations with heavy custom object usage.

  3. API extraction and attachment retrieval

    We extract all Bullhorn entities via the REST API: Candidates, JobOrders, Clients, Contacts, Opportunities, Placements, CandidateLists, Tasks, and Users. Bullhorn's REST API returns entity metadata including custom fields and custom object instances. For attachments, we call Bullhorn's file reference endpoints (/entityFiles/{entityType}/{entityId} and /file/{entityType}/{entityId}/{fileId}) to retrieve every resume and document. Bullhorn's ATS Growth edition is handled via CSV export with explicit documentation that attachments will not transfer. We paginate large result sets and implement rate-limit handling per Bullhorn's Fair Use Policy.

  4. Crelate test migration and reconciliation

    We run a full migration into a Crelate test environment using production-like data volume. The customer's recruitment lead reconciles record counts (Candidates in, Contacts in, Jobs in, Placements in), spot-checks 25-50 random records against the Bullhorn source, and reviews the custom field and tag assignments for transformed custom objects. The customer validates the opportunity stage mapping and placement billing fields. Any mapping corrections happen here, not in production. Crelate's own migration documentation (Discovery, Development, Testing, Verification, Launch) serves as our validation checklist.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users and Owners first (provisioned by the customer's Crelate admin), then Client Organizations, Contacts (with deduplication resolved), Candidates (with custom field assignments applied), Jobs, Opportunities with stage remapping, Placements with billing fields, CandidateList submission history as activity tags, Tasks, and finally attachments via file upload. Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn writes are frozen during cutover, and we run a final delta migration of records modified during the migration window.

  6. Cutover, validation, and workflow handoff

    We enable Crelate as the system of record and deliver a written workflow and automation inventory to the customer's admin team. This document lists every Bullhorn workflow, automation trigger, and Bullhorn-specific configuration (e.g., Back Office billing rules, Herefish automations, Canvas reporting) requiring rebuild at Crelate. We do not rebuild Bullhorn workflows as Crelate automations inside the migration scope; that is a separate engagement. We support a one-week hypercare window where we resolve reconciliation issues raised by the recruiting team.

Platform deep dives

Context on both ends of the pair

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

Source

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.
Crelate logo

Crelate

Destination

Strengths

  • Unified ATS and CRM in a single platform reduces data synchronization overhead for recruiting teams.
  • Fast setup with guided implementation reported as a significant time saver for small teams.
  • Transparent per-seat pricing without surprise fees at the base tier.
  • Flexible custom field configuration across core objects without developer dependency.
  • Export capability supports up to 15,000 records per operation for Contacts, Companies, and Opportunities.

Weaknesses

  • API rate limit of 120 requests per minute restricts bulk migration throughput.
  • Custom field cap of 20 per entity requires field consolidation for complex recruiting schemas.
  • All advanced features (Activities, Activity Forms, Core Record Field customization) are tier-gated add-ons.
  • Customer service responsiveness receives consistent negative feedback in reviews.
  • Resume parsing quality trails competitors and generates support requests.

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 Bullhorn ATS & CRM and Crelate.

  • 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

    Bullhorn ATS & CRM: 1,500 req/min, 100,000 calls/month, 50 concurrent sessions, 50 subscriptions; ATS Growth edition has NO API access.

  • Data volume sensitivity

    B

    Bullhorn ATS & CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Bullhorn ATS & CRM to Crelate 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 Bullhorn ATS & CRM to Crelate data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Straightforward migrations under 15,000 Candidates, 2,000 JobOrders, and no custom objects land between two and three weeks. Migrations with Bullhorn custom objects requiring transformation, large attachment libraries (over 50,000 files), or Bullhorn ATS Growth edition (requiring CSV-only extraction) extend to five to eight weeks. Bullhorn ATS Growth presents additional complexity because attachments cannot be retrieved without API access, and the customer must decide whether manual attachment transfer is acceptable before proceeding.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Bullhorn ATS & CRM.
Land in Crelate, 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