HRMS migration

Migrate from Ashby to Bullhorn ATS & CRM

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

Ashby logo

Ashby

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

71%

10 of 14

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Ashby and Bullhorn serve different recruiting markets—Ashby targets in-house corporate talent acquisition teams, while Bullhorn is purpose-built for staffing and recruitment agencies with ATS, CRM, and integrated back-office (timesheets, invoicing, onboarding). Moving from Ashby to Bullhorn is an agency-market pivot, not a lateral platform switch, which means the schema mapping must account for client relationships, VMS connectors, and placement records that have no Ashby equivalent. We migrate Candidates, Applications, Jobs, Openings, and custom field data through Bullhorn's REST API, preserving application stage history and interview plan structures as configuration notes for Bullhorn setup. Bullhorn's 55-field Custom Object limit and Admin-accessible Field Mappings tool govern how Ashby custom fields land in the destination. Workflows, Sequences, automations, and interview plan triggers do not migrate as code; we deliver a written inventory for Bullhorn Automation rebuild. Report definitions export as CSV from Ashby; Bullhorn configurable reports and performance dashboards require rebuild post-migration.

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

Ashby logo

Ashby

What's pushing teams away

  • Pricing shock when elevated seat model is revealed at renewal—$800/seat/year for hiring managers adds up fast at scale and feels punitive for organizations that include managers broadly in the hiring process.
  • High customizability that was a selling point becomes a burden—teams without dedicated recruiting ops bandwidth feel overwhelmed by implementation choices that simpler ATSs make for them.
  • Feature gaps for non-technical hiring workflows—automation features and advanced analytics require higher tiers, pushing organizations toward add-on costs or compromising on functionality at the Foundations level.
  • Implementation timelines for complex configurations can stretch beyond the promised one-month migration, especially when custom fields, interview plans, and integrations require extensive setup.

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

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

Ashby

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Ashby Candidate records map directly to Bullhorn Candidate. We preserve name, contact info, employment history, skills, source, and status. Ashby custom fields on Candidates map to Bullhorn Custom Object fields or native Candidate fields via Field Mappings (configured in Bullhorn Admin > Field Mappings). Bullhorn's Candidate entity supports up to 55 custom fields if a Custom Object is provisioned; we audit Ashby custom field count during scoping to determine whether native fields suffice or a Custom Object is required.

Ashby

Application

maps to

Bullhorn ATS & CRM

JobSubmission

1:1
Fully supported

Ashby Applications (candidates linked to specific jobs) map to Bullhorn JobSubmission records. We preserve submission date, current stage, stage transition history, rejection reason, and all stage timestamps. Bullhorn JobSubmission tracks the candidate's journey through the job order pipeline and supports status flags (active, rejected, placed). Stage names from Ashby map to Bullhorn JobSubmission status values via a configurable mapping table.

Ashby

Job

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Ashby Job records map to Bullhorn JobOrder. We preserve title, description, department, team, location, employment type, status (open/closed/draft), and job board distribution history. Ashby's multi-opening structure (one Job with multiple Opening slots) maps to Bullhorn's JobOrder with the opening count preserved in a custom field. Bullhorn JobOrder includes client-facing fields (Client Corporation, Client Contact, Client Job ID) that Ashby does not have; these are populated where the Ashby Job has an associated client organization or left blank for in-house-position-only migrations.

Ashby

Opening

maps to

Bullhorn ATS & CRM

JobOrder (headcount slot)

lossy
Fully supported

Ashby Openings (individual headcount slots within a Job) map to Bullhorn JobOrder headcount slots. Multi-opening positions require individual Opening-to-JobOrder mapping to ensure that each slot receives the correct candidate pipeline. We preserve opening status (filled, open, cancelled) and link each Opening to its parent Job in Ashby, which becomes a single Bullhorn JobOrder with multiple submissions tracked via JobSubmission.

Ashby

Offer

maps to

Bullhorn ATS & CRM

Placement (partial)

lossy
Fully supported

Ashby Offers (compensation details, start dates, e-signature status, offer history) do not have a direct Bullhorn equivalent because Bullhorn's placement lifecycle begins at the placed candidate, not the offer stage. We migrate Offer data to a Bullhorn Custom Object (OfferHistory__c) with fields for compensation, start date, e-signature status, and offer-to-placement transition. Bullhorn Placements capture the placed record and ongoing assignment but not pre-placement offer details; we close that gap with the custom object.

Ashby

User

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Ashby Users (recruiters, hiring managers, admins) map to Bullhorn User records. Role assignments from Ashby map to Bullhorn permission structures (Admin, Standard). We match by email address. Bullhorn's user licensing model differs from Ashby's seat model; we document the user's Ashby role and tier so the customer's Bullhorn admin can assign the appropriate Bullhorn license (Full, Limited Recruiter, Limited Sales) during provisioning.

Ashby

Interview Plan

maps to

Bullhorn ATS & CRM

Interview Plan (configuration notes only)

1:1
Fully supported

Ashby Interview Plans export with stage structures, stage names, and activity definitions. Automated activity triggers tied to stage entry (sending booking links, assessments, questionnaires) are tier-gated at Ashby Plus and Enterprise and do not migrate as functional rules. We deliver a written Interview Plan inventory with each stage, its associated activities, and the automation trigger (if any) documented for Bullhorn admin to rebuild in Bullhorn Automation or Bullhorn's scheduling configuration.

Ashby

Sequence

maps to

Bullhorn ATS & CRM

Bullhorn Automation (configuration notes only)

1:1
Fully supported

Ashby email Sequences (templates, stage definitions, cadence rules) export as templates and configuration notes. Live-running sequences require scoping to determine whether to migrate as templates or close them before migration. Bullhorn Automation (formerly Herefish) handles outbound cadence and candidate engagement separately from Bullhorn ATS/CRM. We do not migrate sequences as functional automations; we deliver a sequence inventory document with step definitions, timing, and action types for Bullhorn Automation rebuild.

Ashby

Activity

maps to

Bullhorn ATS & CRM

Note, Task, or EmailMessage

1:1
Fully supported

Ashby Activities (emails, notes, calls, scorecards, meetings) map to Bullhorn equivalents. Emails migrate as Bullhorn Note records linked to the Candidate and JobSubmission; calls migrate as Note records with call-type classification; scorecards migrate as Note records with structured fields (score, criteria, feedback). Bullhorn's activity model differs from Ashby's unified activity API; we use Bullhorn's REST API to write activities as Note records with activity type, date, author, and content preserved.

Ashby

Custom Field

maps to

Bullhorn ATS & CRM

Custom Object Field or Native Field

lossy
Fully supported

Ashby custom fields on Candidates, Applications, and Jobs enumerate via customField.list. Bullhorn supports custom fields via Custom Objects (55 fields per object on Front Office Growth/Enterprise; 2 on ATS Growth). We audit the Ashby custom field inventory during scoping, group fields by entity, and determine whether native Bullhorn fields, Custom Object fields, or a combination is required. Bullhorn Field Mappings (Admin > Field Mappings) controls display behavior for native fields. Custom Objects require Bullhorn Support ticket and the Custom Object Setup Spreadsheet.

Ashby

Department

maps to

Bullhorn ATS & CRM

Department

1:1
Fully supported

Ashby Department records map to Bullhorn Department. Department hierarchy and department-level permissions are preserved in the migration. Bullhorn's department structure supports reporting and security group assignment at the department level.

Ashby

Team

maps to

Bullhorn ATS & CRM

Team

1:1
Fully supported

Ashby Team records within departments map to Bullhorn Team. Team assignments on jobs and users are preserved. Bullhorn Teams manage recruiter workload distribution and can be assigned to JobOrders for routing.

Ashby

Assessment

maps to

Bullhorn ATS & CRM

Note (linked to JobSubmission)

1:1
Fully supported

Ashby Assessments from integrations like HackerRank and CoderPad link to Ashby but live in third-party systems. We export assessment results attached to Applications and map the association as a Note on the Bullhorn JobSubmission, with the assessment type, score, and external link preserved. The assessment tool itself requires reconnection as a new integration in Bullhorn.

Ashby

Report

maps to

Bullhorn ATS & CRM

Bullhorn Reports (rebuild required)

lossy
Fully supported

Ashby Report definitions export as CSV via the report endpoint, including funnel analytics, pipeline metrics, and time-to-hire data. Bullhorn configurable reports and performance dashboards require rebuild post-migration. We export all available report data as CSV and deliver a report inventory with the Ashby report name, metric definition, and recommended Bullhorn report equivalent (BH Analytics, configurable reports, or third-party BI tool). Dashboard layouts do not export via API from Ashby and are documented as a manual rebuild checklist.

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.

Ashby logo

Ashby gotchas

High

Report API rate limits throttle large-scale migrations

High

File-based migrations omit candidate lifecycle history

Medium

Elevated seat pricing not visible at initial pricing discussion

Medium

Automation triggers are tier-gated and may not migrate

Low

Dashboard layouts do not export via API

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

  • Ashby report API rate limits throttle large-scale exports

    Ashby's report.synchronous endpoint limits your org to 15 requests per minute and a maximum of 3 concurrent report operations. For organizations with thousands of applications, large-scale data exports are slow and prone to retry loops. We handle this by chunking export requests across time windows, pre-fetching report metadata, and pacing our API calls to stay within the 3-concurrent limit. We scope total record counts before exporting so we can budget migration time accurately and communicate the expected export window upfront.

  • File-based migrations omit candidate lifecycle history

    Ashby's self-serve bulk import tool only supports CSV format, which does not capture the full candidate lifecycle with a team—including stage history, activity logs, and application associations. We handle this by combining file-based exports for candidate records with separate API calls for activity history and application data, then stitching records together in Bullhorn. Bullhorn's Candidate and JobSubmission entities must be loaded in dependency order (Candidate first, then JobSubmission with CandidateId resolved) to maintain referential integrity. Customers must approve this two-step approach before migration begins.

  • Bullhorn Custom Objects have 55-field limits that constrain Ashby custom field migration

    Bullhorn Custom Objects are capped at 55 fields per entity on Front Office Growth and Enterprise editions (2 on ATS Growth; none on ATS). Ashby customers often have dozens of custom fields across Candidates, Applications, and Jobs. We audit the Ashby custom field inventory during scoping and either map fields to native Bullhorn Candidate/JobOrder fields via Field Mappings, consolidate fields into a single Custom Object, or split fields across multiple Custom Objects if the count exceeds 55. Bullhorn Custom Objects require a Support ticket and the Custom Object Setup Spreadsheet to provision—these are created during the Bullhorn implementation phase before data migration begins.

  • Interview plan triggers and automation rules do not migrate

    Activity automations in Ashby interview plans—automatically sending booking links, assessments, or questionnaires when candidates enter a stage—are only available on Plus and Enterprise tiers. Bullhorn Automation (formerly Herefish) handles outbound cadence and engagement workflows but uses a different trigger model. We audit all Ashby automation rules during scoping, document each trigger with its conditions and actions, and deliver a written automation inventory for Bullhorn admin to rebuild in Bullhorn Automation post-migration. This is explicitly out of scope as a migration deliverable.

  • Bullhorn's candidate-centric model requires client mapping for agency migrations

    Bullhorn is built for staffing agencies with a client relationship layer (Client Corporation, Client Contact, Client Job Order) that has no Ashby equivalent for in-house teams. If the Ashby environment contains client or company data that should map to Bullhorn Client Corporations, we create a client mapping phase during migration scoping to determine which Ashby organizations become Bullhorn Client Corporations versus Bullhorn Companies (candidate employers). This architectural decision must be made before any data is migrated because it affects the entire CRM structure.

Migration approach

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

  1. Discovery and edition scoping

    We audit the Ashby environment across tier (Foundations/Plus/Enterprise), candidate and application volume, custom field inventory, active interview plans, active sequences, automation rules, and report definitions. We pair this with a Bullhorn edition assessment: ATS Growth (minimal), Front Office (standard agency), or Front Office + AI (with Bullhorn Automation). We also determine whether the migration is a pure data move or an agency-market pivot requiring Bullhorn Client Corporation structure, which governs the CRM schema design from day one.

  2. Schema design and custom object planning

    We design the Bullhorn destination schema based on the migration type. For in-house-to-agency pivots, we define Client Corporation mapping from Ashby organizations. We provision Bullhorn Custom Objects (via Support ticket and the Custom Object Setup Spreadsheet) for any Ashby custom fields exceeding native field capacity. We configure Field Mappings (Admin > Field Mappings) for native field display behavior. All schema work deploys into a Bullhorn sandbox first for validation before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into Bullhorn sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, JobSubmissions in, JobOrders in, Activities in), spot-checks 25-50 random records against Ashby source, and signs off the schema and mapping before production migration begins. Any mapping corrections—including Bullhorn Field Mapping adjustments, Custom Object field assignments, and Client Corporation versus Company routing decisions—happen in sandbox.

  4. Owner reconciliation and user provisioning

    We extract every distinct Ashby user referenced on Candidate, Application, Job, and Activity records and match by email against Bullhorn's User table. Any Ashby user without a matching Bullhorn User goes to a reconciliation queue. The customer's Bullhorn admin provisions missing users and assigns appropriate Bullhorn license types. Migration cannot proceed past this step because UserId references are required on Bullhorn Candidate and JobOrder records.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Bullhorn Users (provisioned, validated), Client Corporations or Companies (from Ashby organizations, based on agency-market decision), JobOrders (with Client Corporation linkage where applicable), Candidates (with UserId resolved), JobSubmissions (with CandidateId and JobOrderId resolved), Activities (as Note records via Bullhorn REST API), Offer history (as Custom Object records), and finally custom field data (mapped to Custom Object fields). Each phase emits a row-count reconciliation report before the next phase begins. Ashby's report API rate limits govern pacing on the export side.

  6. Cutover, validation, and rebuild handoff

    We freeze Ashby 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 Interview Plan inventory, Sequence inventory, and Automation inventory documents to the customer's Bullhorn admin team. We support a one-week hypercare window where we resolve reconciliation issues. We do not rebuild Ashby automations as Bullhorn Automation workflows inside the migration scope; that is a separate engagement or an internal Bullhorn admin task.

Platform deep dives

Context on both ends of the pair

Ashby logo

Ashby

Source

Strengths

  • All-in-one ATS, CRM, sourcing, and analytics platform eliminates tool sprawl for recruiting teams.
  • Advanced analytics and AI Report Builder available without third-party BI tools.
  • Interview scheduling automation removes coordinator overhead for smaller teams.
  • Contract buyout program reduces switching costs from incumbent ATS platforms.
  • Strong integrations with developer hiring tools (HackerRank, CoderPad, Checkr) for technical recruiting.

Weaknesses

  • Elevated seat pricing model for hiring managers creates unpredictable cost scaling.
  • High customizability requires significant implementation bandwidth that smaller teams may not have.
  • Automation and advanced analytics gated behind higher pricing tiers.
  • File-based migrations do not capture full candidate lifecycle history.
  • No native bulk export—all data pulls require pagination and scripting.
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 Ashby 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

    Ashby: 15 requests per minute per org; max 3 concurrent report operations (shared between report.generate and report.synchronous).

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Ashby 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 15,000 Candidates and 3,000 Jobs with no custom objects and no client CRM restructuring. Migrations with custom objects (requiring Bullhorn Custom Object setup), large application histories (over 200,000 records), client CRM structure mapping (in-house to agency pivot), or split Bullhorn front-office/back-office configurations move to eight to twelve weeks because of Bullhorn API rate-limit handling, Custom Object provisioning via Bullhorn Support, and client mapping scoping.

Adjacent paths

Related migrations to explore

Ready when you are

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