HRMS migration

Migrate from SnapHire to Bullhorn ATS & CRM

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

SnapHire logo

SnapHire

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

67%

8 of 12

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from SnapHire to Bullhorn is a migration from a New Zealand-origin ATS with a strong regional footprint to a globally-dominant staffing platform serving over 10,000 agencies. The primary complexity is not schema translation but extraction: SnapHire does not publish bulk export API documentation, and data extraction from SnapHire for Bullhorn migrations has been documented at two to three weeks depending on volume. We coordinate with the SnapHire Client Success team early in discovery to request the export, which unblocks the migration schedule. We map SnapHire Candidates to Bullhorn Candidates, Jobs to Bullhorn JobOrders, and custom candidate data fields to Bullhorn Custom Objects or standard fields depending on the Bullhorn edition. Workflows, Candidate Match scoring logic, and intelliHR onboarding push configurations do not migrate; we document them for the customer's admin to rebuild in Bullhorn post-cutover.

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

SnapHire logo

SnapHire

What's pushing teams away

  • Reporting is criticised by reviewers as 'klunky' and not easily grasped for day-to-day users — analytics depth lags modern ATS competitors.
  • Lacks some advanced automation features (e.g., AI-driven candidate matching beyond Candidate Match) that are now standard in newer cloud ATS platforms.
  • Custom-quote-only pricing makes self-serve evaluation and budget benchmarking hard — third-party estimates suggest from ~$1,500/month but the actual rate is opaque.
  • Larger enterprises and high-volume hiring teams report outgrowing SnapHire's customisation ceiling and migrate to platforms with deeper workflow scripting and BI.
  • App-store ecosystem is smaller than global competitors (Workday, Greenhouse, iCIMS), limiting third-party connectors for niche assessment tools or vertical CRMs.

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 SnapHire objects map to Bullhorn ATS & CRM

Each row shows how a SnapHire 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.

SnapHire

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

SnapHire Candidate records (name, contact details, stage progression, application history) map directly to Bullhorn Candidate. We preserve the full hiring stage history as a note or custom text area on the Bullhorn Candidate record for audit continuity. Candidate status from SnapHire maps to Bullhorn Candidate status using an explicit value-mapping table built during scoping.

SnapHire

Job

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

SnapHire Job records (title, department, location, description, pipeline association) map to Bullhorn JobOrder. The JobOrder's status field maps from SnapHire job status, and we preserve the job's assigned categories as Bullhorn JobOrder categories or custom fields depending on the Bullhorn edition. Job attachments migrate as ContentDocumentLink records attached to the JobOrder.

SnapHire

Custom Candidate Data Fields

maps to

Bullhorn ATS & CRM

Custom Object or Custom Fields

lossy
Mapping required

SnapHire custom candidate data fields vary per-organization and are extracted during the SnapHire Client Success coordination phase. Multi-choice dropdowns and checkboxes require explicit value mapping to Bullhorn equivalent picklists or Custom Object fields. Bullhorn ATS edition supports 2 Custom Objects with 55 fields each; Bullhorn Front Office Growth/Enterprise supports 10. We pre-create the destination schema before migration and match field types to the closest Bullhorn field type.

SnapHire

Candidate Match (Talent Community)

maps to

Bullhorn ATS & CRM

Candidate with Custom Score Field

1:1
Mapping required

The SnapHire Candidate Match feature generates match scores between talent community candidates and job profiles. These scores are preserved as a static custom field on the Bullhorn Candidate record during migration. The matching algorithm logic itself is SnapHire-native and cannot be replicated in Bullhorn. We document the matched candidate list with their scores for the customer's Bullhorn admin to evaluate using Bullhorn Search & Match if that module is licensed.

SnapHire

Workflow

maps to

Bullhorn ATS & CRM

Candidate Pipeline Stage Configuration

lossy
Fully supported

SnapHire workflows define hiring stage progressions and configurable actions per stage. Bullhorn does not have a direct equivalent at the object level. We document the existing SnapHire workflow configuration (stages, actions, triggers, assignment rules) as a written specification and recommend Bullhorn Automation or manual pipeline stage configuration as the rebuild path post-cutover.

SnapHire

Category

maps to

Bullhorn ATS & CRM

JobOrder Category or Tag

lossy
Fully supported

SnapHire job categories are user-defined labels used for reporting. They have no direct Bullhorn equivalent at the object level. We map them to Bullhorn JobOrder categories or tag them using Bullhorn's tagging model depending on the Bullhorn edition. The customer chooses the preferred approach during scoping, and we flag any categories that cannot map directly.

SnapHire

Attachment (Candidate)

maps to

Bullhorn ATS & CRM

ContentDocumentLink (Candidate)

1:1
Fully supported

Candidate resumes, cover letters, and assessment files stored as attachments in SnapHire are downloaded as binary blobs and re-uploaded to Bullhorn as ContentDocument records linked via ContentDocumentLink to the Candidate record. We preserve the original filename and any SnapHire metadata (upload date, source) in the ContentDocument description field.

SnapHire

Attachment (Job)

maps to

Bullhorn ATS & CRM

ContentDocumentLink (JobOrder)

1:1
Fully supported

Job-level attachments (job descriptions, requirements documents, company briefs) migrate to Bullhorn JobOrder as ContentDocument records attached via ContentDocumentLink. We maintain the association to the correct JobOrder during import using the Bullhorn JobOrder ID resolved during the job migration phase.

SnapHire

Hiring Stage History

maps to

Bullhorn ATS & CRM

Note or Custom Text Area

1:1
Fully supported

SnapHire records each Candidate's movement through hiring stages with timestamps and optional rejection reasons. We preserve this as a formatted Note or custom text area on the Bullhorn Candidate record, maintaining the chronological order and including the original stage name, date, and any rejection reason recorded in SnapHire.

SnapHire

Rejection Reasons

maps to

Bullhorn ATS & CRM

Custom Field or Candidate Status Mapping

lossy
Mapping required

SnapHire rejection reasons are configured per-organization as freeform text or predefined lists. We extract the full rejection reason taxonomy from SnapHire during discovery and map each reason to either a Bullhorn custom Candidate field or a Candidate status value, depending on which approach the customer prefers. Unmapped reasons are preserved as text for manual review post-cutover.

SnapHire

Onboarding Workflow

maps to

Bullhorn ATS & CRM

Document

1:1
Fully supported

SnapHire onboarding workflows push new hire data to intelliHR (Humanforce) to create employee records. This integration does not exist in Bullhorn. We extract the onboarding configuration (trigger, field mappings, downstream destination) as a written specification for the customer's Bullhorn admin to rebuild using Bullhorn Onboarding or a third-party integration if applicable.

SnapHire

Owner

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

SnapHire Owners map to Bullhorn User records by email match. We extract every distinct owner referenced on Candidate, Job, and attachment records and match against the Bullhorn destination User table. Owners without a matching Bullhorn User are placed in a reconciliation queue for the customer's admin to provision before record import resumes.

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.

SnapHire logo

SnapHire gotchas

High

SnapHire Bullhorn export can take 2–3 weeks

Medium

Custom data fields vary per-organization

Medium

Candidate Match scores are not transferable as logic

Medium

No public API documentation for bulk export

Low

Onboarding workflows push to intelliHR only

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

  • SnapHire data extraction takes 2-3 weeks before migration begins

    SnapHire does not publish a bulk export API, and data extraction for Bullhorn migrations has been documented to require two to three weeks depending on data volume. We request the export from SnapHire's Client Success team during the discovery phase to avoid blocking the migration cutover date. If both a SnapHire-to-Bullhorn migration and a concurrent Bullhorn-to-SnapHire migration are underway, coordination between both extraction teams is required. We factor this extraction window into the project schedule so it does not compress the Bullhorn-side configuration and testing timeline.

  • Custom data field schema varies per SnapHire organization

    SnapHire supports custom candidate data fields with validation rules and multi-choice dropdown/checkbox options, but there is no publicly documented schema export. Each SnapHire customer's field set is unique. We request a full field inventory from the customer during scoping, map each custom field individually, and flag any multi-choice field option sets that need explicit value mapping to the destination Bullhorn Custom Object or field picklist. Bullhorn ATS edition limits Custom Objects to 2 with 55 fields each; larger schemas require Bullhorn Front Office Growth or Enterprise.

  • Bullhorn Custom Objects require Bullhorn Support to provision

    Unlike standard Bullhorn fields, Custom Objects in Bullhorn cannot be self-provisioned by the admin. Bullhorn Support must create the Custom Object schema based on a completed Custom Object Setup Spreadsheet. We prepare this spreadsheet during scoping and submit the support ticket early, because Bullhorn Support response times can vary. The Custom Object must be created and validated before any data migration into that object begins. We sequence schema provisioning before record import.

  • Candidate Match scores are static snapshots, not live logic

    SnapHire Candidate Match generates match scores between talent community candidates and job profiles using a SnapHire-native algorithm. We preserve matched candidate records with their scores as static custom fields on the Bullhorn Candidate record. The matching algorithm itself cannot be replicated in Bullhorn. Hiring teams should re-run matching after cutover if Bullhorn Search & Match (an optional module) is licensed, or evaluate candidates manually. We deliver the full list of matched candidates with scores as a reference document during cutover.

  • SnapHire workflows and intelliHR onboarding push do not migrate

    SnapHire hiring-stage workflows and the intelliHR onboarding automation are SnapHire-native configurations that have no direct Bullhorn equivalent. Workflows require a rebuild in Bullhorn Automation or through manual pipeline stage configuration post-cutover. The intelliHR onboarding push (which creates employee records when a candidate is marked Hired) has no Bullhorn analog without a separate Bullhorn Onboarding module or third-party integration. We document both configurations in detail as written specifications for the customer's Bullhorn admin to reference during rebuild.

Migration approach

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

  1. Discovery and SnapHire extraction request

    We audit the SnapHire tenant across objects in use: Candidate volume, Job volume, custom field inventory, workflow configuration summary, Candidate Match talent community size, rejection reason taxonomy, and attachment count. We immediately submit the data extraction request to SnapHire Client Success to start the two to three week extraction window in parallel with configuration work. We pair this with a Bullhorn edition assessment (Starter/Core/Pro) to determine Custom Object limits and whether Bullhorn Automation is in scope.

  2. Schema design and Custom Object setup

    We design the Bullhorn destination schema: standard fields mapped from SnapHire (Candidate, JobOrder, etc.), Custom Object schema built from the SnapHire custom field inventory, and any custom fields on JobOrder or Candidate. We submit the Bullhorn Custom Object Setup Spreadsheet to Bullhorn Support for provisioning (Bullhorn Support creates Custom Objects, not the admin). Bullhorn editions cap Custom Objects at 2 (ATS) or 10 (Front Office Growth/Enterprise); if the SnapHire custom field count exceeds this, we group fields into fewer Custom Objects or flag the overflow for manual post-migration entry. Stage history and rejection reasons are mapped to Bullhorn custom text areas or note records.

  3. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn Sandbox using production-like data volume once the SnapHire export is delivered. The customer's operations lead reconciles record counts (Candidates in, Jobs in, Attachments in), spot-checks 25-50 random records against the SnapHire source data, and validates custom field mapping completeness. We resolve any mapping gaps before production migration begins. This step also validates the SnapHire CSV structure and flags any malformed records that need correction in the source export.

  4. Owner reconciliation and User provisioning

    We extract every distinct SnapHire Owner referenced on Candidate, Job, and attachment records and match by email against the Bullhorn destination User table. Any Owner without a matching Bullhorn User goes to a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active or inactive depending on whether the original SnapHire user is still active) before production migration proceeds. OwnerId references on Bullhorn records must be valid at migration time.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Jobs/JobOrders (no parent dependencies), Candidates (with OwnerId resolved), custom data fields (after Custom Object schema is confirmed live in Bullhorn), attachments (via ContentDocument and ContentDocumentLink), stage history and rejection reasons (as notes or custom text fields), and Candidate Match scores (as custom fields on Candidate). Each phase emits a row-count reconciliation report before the next phase begins. We use Bullhorn REST API with rate-limit handling for standard imports and CSV-based bulk import where appropriate.

  6. Cutover, validation, and rebuild handoff

    We freeze SnapHire 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 SnapHire workflow configuration document and the intelliHR onboarding specification to the customer's Bullhorn admin for rebuild. We provide a one-week hypercare window to resolve reconciliation issues raised by the recruiting team. We do not rebuild SnapHire workflows as Bullhorn Automation inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

SnapHire logo

SnapHire

Source

Strengths

  • Configurable workflows let HR teams model their exact hiring stages and actions without code changes.
  • Talent community matching surfaces passive candidates against new job openings automatically.
  • Custom candidate data fields support industry-specific intake without workarounds.
  • Native intelliHR integration pushes hired candidates directly into employee records.
  • Built-in reporting categories help organizations track pipeline metrics by job type.

Weaknesses

  • Very limited public review corpus (3 reviews on G2) makes independent quality assessment difficult.
  • Candidate-facing experience is described as outdated and ineffective by some reviewers.
  • Pricing tiers are not publicly documented, requiring direct sales contact.
  • Limited documented API capability for bulk exports — migration often relies on CSV extraction.
  • Smaller market footprint outside New Zealand may limit partner and integration ecosystem.
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. All 7 core objects map 1:1 between SnapHire and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across SnapHire and Bullhorn ATS & CRM.

  • Object compatibility

    A

    All 7 core objects map 1:1 between SnapHire and Bullhorn ATS & CRM.

  • 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

    SnapHire: Not publicly documented.

  • Data volume sensitivity

    B

    SnapHire doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

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

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

Can't find your answer?

Walk through your SnapHire 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 four and six weeks once the SnapHire data export is delivered. However, the SnapHire data extraction process itself can take two to three weeks depending on data volume, because it is coordinated through SnapHire Client Success rather than a self-serve API. We request the extraction at the start of discovery so it runs in parallel with Bullhorn schema design. Migrations with extensive custom candidate data fields, large talent community exports, or multi-choice value mapping requirements move to eight to twelve weeks total.

Adjacent paths

Related migrations to explore

Ready when you are

Move from SnapHire.
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