HRMS migration

Migrate from Jobtrain to Bullhorn ATS & CRM

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

Jobtrain logo

Jobtrain

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

85%

11 of 13

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

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Jobtrain to Bullhorn is a cross-platform migration between two different ATS models: Jobtrain is a UK public-sector, fixed-fee platform optimised for multi-site approval workflows, while Bullhorn is a per-seat, staffing-agency-focused ATS and CRM with a documented REST API. The primary migration constraint is on the source side: Jobtrain does not publish a bulk-export API, so we request a full data export early in scoping, validate its completeness, and flag any gaps before building the migration field map. We sequence Vacancies before Candidates before Applications to preserve the Jobtrain application relationship, document approval routes and cost-centre hierarchies as written outputs for your Bullhorn admin to configure post-migration, and map custom Jobtrain fields to Bullhorn's custom object or custom field structure. Bullhorn supports custom objects on ATS Growth (2 objects), ATS (2 objects), and Front Office Growth and Enterprise (10 objects each), with up to 55 fields per object, but custom objects require Bullhorn Support to provision. We do not migrate onboarding templates, offer-letter documents, or approval workflow logic as code; we deliver a written inventory of these for your team to rebuild.

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

Jobtrain logo

Jobtrain

What's pushing teams away

  • The 12–16 week implementation timeline creates significant switching costs and lock-in; organisations wanting to change ATS face a long, structured migration project before they can evaluate fit at the destination.
  • Pricing is opaque—there is no published per-seat or per-module cost, only a fixed setup and implementation fee—making it difficult to budget for a migration or compare total cost of ownership upfront.
  • The absence of a publicly documented bulk API means data export relies on manual Jobtrain reporting exports or vendor-assisted data pulls, increasing migration effort and dependency on Jobtrain's professional services team.
  • Organisations with simpler hiring needs may find Jobtrain's enterprise configuration model over-engineered; the platform is optimised for complex, multi-site, multi-approver workflows rather than small-team rapid hiring.

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

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

Jobtrain

Vacancy

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Jobtrain Vacancy records map to Bullhorn JobOrder. We map vacancy reference number to externalID for deduplication, job title, grade/level, department, cost centre, advert sources, and description. Jobtrain's custom vacancy fields map to Bullhorn custom fields on JobOrder (requires Bullhorn Support to provision if migrating custom vacancy fields on ATS Growth or ATS tier, which only support 2 custom objects total; Front Office Growth and Enterprise support up to 10 custom objects with 55 fields each). Approval route status is captured as a text property for the admin to rebuild in Bullhorn.

Jobtrain

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Jobtrain Candidate profiles map directly to Bullhorn Candidate. We map contact details (name, email, phone, address), source attribution, application history as linked records, and any custom candidate fields. Candidate is staged after Vacancy so that the JobOrder exists for application linkage. Attachment files (CVs, cover letters) export from Jobtrain and attach to Bullhorn Candidate via ContentDocumentLink.

Jobtrain

Application

maps to

Bullhorn ATS & CRM

JobSubmission

1:1
Fully supported

Jobtrain Application records link a Candidate to a Vacancy at a specific stage. We sequence Application migration after both Candidates and Vacancies are staged in Bullhorn. The mapping preserves application date, current stage, and stage history as text properties. Bullhorn JobSubmission (also called CandidateJobOrderShift in some API versions) is resolved via CandidateID and JobOrderID lookups.

Jobtrain

Vacancy Template

maps to

Bullhorn ATS & CRM

JobOrder (template reference)

lossy
Fully supported

Jobtrain vacancy templates are reusable structures defining interview stages, questions, and approval routes. Bullhorn does not have a native vacancy template object, so we map template content to a Bullhorn JobOrder as a configuration reference document and attach it as a content note. The customer's Bullhorn admin rebuilds the template structure using Bullhorn's job order fields and any Bullhorn Automation workflow if licensed.

Jobtrain

Job Grade and Level

maps to

Bullhorn ATS & CRM

Text field or Custom Object

1:1
Fully supported

Jobtrain allows clients to define custom job grade and level hierarchies (e.g., Band 5, Grade 7, PO1). We map these as text fields on JobOrder if the destination Bullhorn tier supports custom fields, or as values in a dedicated Grade custom object if the customer requires structured grade lookups. Bullhorn ATS Growth and ATS tier allow custom fields on standard objects; Enterprise tier allows custom objects with 55 fields.

Jobtrain

Approval Route

maps to

Bullhorn ATS & CRM

Workflow documentation (no migration)

lossy
Fully supported

Jobtrain approval routes define unlimited configurable approval chains per vacancy or division. Bullhorn's approval workflow model is different and does not accept a direct migration of route topology. We document the approval chain structure during scoping, capturing the route name, approver sequence, routing conditions, and escalation rules as a written handoff document for the customer's Bullhorn admin to configure using Bullhorn's workflow engine or Bullhorn Support. Approval routes are flagged as out of scope for automated migration.

Jobtrain

Cost Centre

maps to

Bullhorn ATS & CRM

Text field or Division lookup

1:1
Fully supported

Jobtrain cost centres are defined in settings and used to categorise vacancies. We map cost centre codes and names to a text field on JobOrder (costcentre__c) or to Bullhorn's Division object if the customer has configured it. Bullhorn does not have a native cost centre field on JobOrder, so the mapping attaches cost centre as a tagged property that the customer's admin can configure as a filter or reporting dimension.

Jobtrain

Department

maps to

Bullhorn ATS & CRM

Department

1:1
Fully supported

Jobtrain Departments are organisational units used to categorise vacancies and approver routing. Bullhorn has a native Department object. We map department names and IDs and attach them to JobOrder records. Department hierarchies in Jobtrain (if multi-level) are flattened to a single department name on Bullhorn with a parent-department reference stored as a custom field if required.

Jobtrain

Communication Template

maps to

Bullhorn ATS & CRM

Email Template (Bullhorn)

1:1
Fully supported

Jobtrain stores email and letter templates used during recruitment stages. We export template content as structured text and attach it to the relevant Bullhorn JobOrder or Candidate record as a content note. Bullhorn has an Email Template object that stores templates for candidate communication; we map the template name, body content, and associated vacancy type as a reconstruction guide. Full template import into Bullhorn's Email Template object requires admin re-entry or Bullhorn Support configuration.

Jobtrain

Advert Source

maps to

Bullhorn ATS & CRM

Text field or Source custom field

1:1
Fully supported

Jobtrain advert sources include origin channels (Indeed, LinkedIn, agency website) and associated costs for reporting. We map source names and attributions to a text field on Candidate (source__c) or JobOrder (advertSource__c). Bullhorn does not have a native advert source field on Candidate; the value attaches as a tagged property for the customer's admin to configure as a reporting dimension.

Jobtrain

Onboarding Template and New Starter Document

maps to

Bullhorn ATS & CRM

No migration

1:1
Fully supported

Jobtrain onboarding templates, employment contracts, and offer letters are document-centric objects stored with limited structured metadata. Bullhorn does not have a dedicated onboarding document module on standard ATS tiers. We export the document files and metadata we can retrieve from Jobtrain as a file archive and flag which records require manual re-creation or re-upload at Bullhorn. Onboarding templates are out of scope for automated migration.

Jobtrain

Attachment (on Vacancy, Candidate, Application)

maps to

Bullhorn ATS & CRM

ContentDocumentLink

1:1
Fully supported

Attachments on Jobtrain vacancies, candidates, and applications (CVs, cover letters, interview notes) are downloadable via the Jobtrain interface. We export them as files and associate them with the correct Bullhorn record via ContentDocumentLink. Bullhorn's ContentDocument model requires the ContentVersion and ContentDocument records to be created first, then linked to the parent Candidate or JobOrder record. Large attachment volumes (over 10,000 files) require chunked processing to stay within Bullhorn API rate limits.

Jobtrain

Custom Field (vacancy, candidate, application)

maps to

Bullhorn ATS & CRM

Custom Field or Custom Object

1:1
Fully supported

Jobtrain allows super-users to create custom fields across vacancy, candidate, and application objects. Every customer's Jobtrain instance has a unique custom field set. We discover the full custom field schema during scoping and map each to a Bullhorn custom field on the corresponding standard object (JobOrder, Candidate, JobSubmission). Bullhorn ATS Growth and ATS tiers allow 2 custom objects with 55 fields each; Front Office Growth and Enterprise allow 10 custom objects with 55 fields each. Custom objects require a Bullhorn Support ticket to provision, which we raise on the customer's behalf during schema design.

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.

Jobtrain logo

Jobtrain gotchas

High

No publicly documented bulk export API

High

Custom field schema varies per installation

Medium

12–16 week implementation timeline

Medium

Onboarding and offer-letter documents are not structured for bulk export

Low

Approval routes and approver chains are installation-specific

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

  • Jobtrain has no publicly documented bulk-export API

    Jobtrain does not publish a developer-facing REST or GraphQL endpoint for bulk data extraction. All migration data must be sourced from the built-in Jobtrain reporting and export interface or requested from Jobtrain's professional services team. We request a full data export early in the scoping phase, validate its completeness against the customer's record counts, and flag any gaps before building the migration field map. Where exports are incomplete or require vendor assistance, timeline extends because we cannot begin field mapping until the export is confirmed. This is the primary constraint on the source side of this migration pair.

  • Bullhorn custom objects require Support ticket to provision

    Bullhorn custom objects (up to 10 on Front Office Growth and Enterprise, 2 on standard ATS) must be requested via a Bullhorn Support ticket before any data can be written to them. We raise the custom object setup ticket during schema design using Bullhorn's Custom Object Setup Sheet spreadsheet template. If the customer is on ATS Growth or standard ATS tier, the 2-custom-object limit constrains the migration scope: custom vacancy fields, custom candidate fields, and custom application fields cannot all migrate as separate custom objects and must be prioritised or attached as text fields on standard objects.

  • Approval workflow logic does not transfer between platforms

    Jobtrain's approval routes define multi-step approver chains with conditional routing and escalation rules per vacancy or division. Bullhorn does not have a native equivalent that accepts a direct migration of route topology. We document the approval chain structure during scoping as a written output (route name, approver sequence, conditions, escalation path) for the customer's Bullhorn admin to configure using Bullhorn's workflow engine or Bullhorn Support. Approval workflow logic is out of scope for automated migration. Customers who rely heavily on Jobtrain's approval routing should factor the rebuild effort into their migration timeline.

  • Onboarding documents have no stable migration path

    Jobtrain onboarding templates, employment contracts, and offer letters are document-centric objects without a stable structured export schema. We export the document files and available metadata as an archive but cannot guarantee a clean 1:1 import into Bullhorn because Bullhorn does not have a native onboarding document module on standard tiers. We flag which records require manual re-creation or re-upload at the destination. Customers who need onboarding document management in Bullhorn should evaluate Bullhorn Onboarding (formerly Able) as a separate product.

  • Resume parsing quality differs between platforms

    Bullhorn includes resume parsing as a standard feature, but G2 and Capterra reviewers report that Bullhorn's parsing can produce poorly formatted output (jumbled text without spacing) particularly for complex CV layouts. Jobtrain's resume parsing is used during candidate creation in the source system. We migrate candidate records with their parsed fields intact; we do not re-parse CV files during migration. Candidates with CV attachments that were not fully parsed in Jobtrain will have incomplete parsed fields migrated as-is and may require re-parsing in Bullhorn after migration.

Migration approach

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

  1. Scoping and export validation

    We audit the customer's Jobtrain instance to establish record counts for Vacancies, Candidates, Applications, Vacancy Templates, Job Grades, Departments, Cost Centres, Communication Templates, Advert Sources, and any custom field sets. We request a full data export from Jobtrain via the built-in reporting interface and validate its completeness against the customer's internal record counts. Where exports are incomplete, we flag gaps and request supplementary exports from Jobtrain's professional services team. This step cannot proceed in parallel with other work because the export determines the migration field map.

  2. Schema discovery and Bullhorn edition assessment

    We map the Jobtrain schema to the Bullhorn schema, including standard field names, custom field discovery, department hierarchy, and cost centre structure. We assess the customer's target Bullhorn edition (Starter $99/user/mo, Core $165/user/mo, Pro custom) to determine the custom object and custom field limits that apply. Bullhorn Support tickets for custom object provisioning are raised at this stage. We also document approval route topology, communication templates, and vacancy templates as written outputs for post-migration rebuild. The output is a migration field map reviewed and signed off by the customer's Jobtrain administrator.

  3. Staging migration in dependency order

    We run a staging migration into a Bullhorn sandbox or the production environment with a subset of records (typically 500-1,000 per object) to validate the field map, test ContentDocument attachment linking, and confirm the application linkage between Candidate and JobOrder. The customer's administrator spot-checks 25-50 records against the Jobtrain source and confirms the mapping before full production migration begins. Corrections to the field map happen in staging, not in production.

  4. Vacancy staging and JobOrder provisioning

    We stage Vacancies first because JobOrder records are the parent entity for Applications. Jobtrain Vacancy Templates are mapped to JobOrder records as configuration references with template content stored as content notes. Job Grades, Departments, and Cost Centres are provisioned as text fields or custom fields on JobOrder before vacancy import begins. Approval route status is captured as a text field for the customer's Bullhorn admin to rebuild post-migration.

  5. Candidate and Application import with attachment handling

    We stage Candidates with their contact details, source attribution, and custom fields resolved from the Jobtrain export. CV and cover letter attachments are staged as ContentDocument records and linked via ContentDocumentLink to the parent Candidate record after the Candidate is inserted. Applications (JobSubmission in Bullhorn) are staged last, after both Candidate and JobOrder exist, using CandidateID and JobOrderID lookups. Application date, stage, and stage history are preserved. Large attachment volumes are chunked to comply with Bullhorn API rate limits.

  6. Cutover, delta migration, and documentation handoff

    We freeze Jobtrain 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 approval route documentation, communication template inventory, vacancy template reconstruction guide, and onboarding document archive to the customer's Bullhorn administrator. We support a one-week hypercare window where we resolve any record linkage issues or field mapping discrepancies. Bullhorn workflow rebuilds, automation configuration, and onboarding module setup are outside migration scope and are handled by the customer's Bullhorn admin or a Bullhorn implementation partner.

Platform deep dives

Context on both ends of the pair

Jobtrain logo

Jobtrain

Source

Strengths

  • G-Cloud 14 listed and suitable for UK public-sector procurement frameworks.
  • No user, vacancy, or candidate count limits—flat-fee model removes volume-based billing surprises.
  • Azure-hosted SaaS with fault-tolerant virtual infrastructure operating at ~20% capacity with no hard scaling ceiling.
  • Highly configurable approval routing, vacancy templates, and cost-centre assignments accessible to super-users without vendor tickets.
  • Documented NHS and local government references with 25 years of UK recruitment-software history.

Weaknesses

  • Pricing is not publicly available—fixed implementation fee only; no transparent per-seat or tier pricing for budgeting.
  • 12–16 week implementation is lengthy for organisations looking for quick ATS deployment or rapid migration to a new platform.
  • Limited publicly documented API; bulk data export depends on Jobtrain's built-in reporting tools rather than a developer-facing REST or GraphQL endpoint.
  • Configuration depth means every installation is effectively custom—migration field mapping requires per-client scoping rather than a standard schema.
  • Competitors such as Greenhouse and Lever offer more internationally recognised platforms with better-documented APIs and broader integration ecosystems.
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 Jobtrain 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

    Jobtrain: Not publicly documented in summary form..

  • Data volume sensitivity

    A

    Jobtrain exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

Walk through your Jobtrain 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 eight weeks for accounts under 5,000 Vacancies, 20,000 Candidates, and a straightforward custom field schema. The primary timeline driver is export validation: because Jobtrain has no bulk-export API, confirming the completeness of the data export before building the field map can add one to three weeks. Migrations with extensive custom vacancy and candidate fields, large attachment volumes (over 50 GB), or multi-level approval route documentation move to ten to sixteen weeks because of schema discovery, custom object provisioning via Bullhorn Support, and attachment chunking during API load.

Adjacent paths

Related migrations to explore

Ready when you are

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