HRMS migration
Field-level mapping, validation, and rollback between Yello and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Yello
Source
Bullhorn ATS & CRM
Destination
Compatibility
7 of 12
objects map 1:1 between Yello and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-7 weeks
Overview
Moving from Yello to Bullhorn is a cross-platform migration from a campus-recruiting-focused ATS to a staffing-agency ATS with a documented REST API. Yello lacks a public API, so we extract from structured CSV exports and sequence records in dependency order before writing into Bullhorn. We preserve Candidate profiles, Job Requisition metadata, Event registrations, Pipeline Stages, Evaluations, Notes, Tags, and binary Attachments. Multi-day Events require flattening from a date range into individual day records. Bullhorn's Custom Objects must be requested through Bullhorn Support and are capped at 2 for Bullhorn ATS tier and 10 for Front Office Growth/Enterprise; we scope custom field destinations accordingly and submit the Custom Object Setup Sheet on the customer's behalf during configuration. Workflows, automations, and email sequences do not migrate; we deliver a written inventory of every active automation for the customer's admin to rebuild in Bullhorn.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Yello 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.
Yello
Candidate
Bullhorn ATS & CRM
Candidate
1:1Yello Candidate records map to Bullhorn Candidate. Standard fields (name, email, phone, address, source, pipeline stage, tags) migrate directly. Any custom Candidate properties discovered during the custom field audit phase map to Bullhorn custom fields on the Candidate entity or to Bullhorn Custom Objects (customObject1s-customObject10s) if the customer is on Front Office Growth/Enterprise tier. Candidates without an email are flagged in a deduplication pass because Bullhorn uses email as the primary Candidate dedupe key. Tags from Yello map to Bullhorn Tags (category, skill, school) via the tag relationship in Bullhorn's Candidate schema.
Yello
Job Requisition
Bullhorn ATS & CRM
JobOrder
1:1Yello Job Requisitions map to Bullhorn JobOrder records. Requisition metadata (title, department, location, headcount, status, employment type) migrates directly to corresponding JobOrder fields. The Requisition-to-Candidate association migrates as JobSubmission records in Bullhorn, preserving the applicant relationship. JobOrder's status field maps from Yello's Requisition status (Open, Closed, On Hold) to Bullhorn's jobStatus values.
Yello
Event
Bullhorn ATS & CRM
Event (multiple strategy)
1:manyYello Campus Events spanning multiple days require flattening. Yello exports a multi-day Event as a single record with a start date and end date. We parse the date range, split into individual day records, and write each as a separate Bullhorn Event. If the destination Bullhorn edition supports Custom Objects, we create a parent Event Custom Object (customObject1) to link the daily records back to the original Event for reporting. Registration lists and Candidate attendance records migrate as EventAttendee or custom Event registration records.
Yello
Evaluation
Bullhorn ATS & CRM
Candidate Scorecard or Custom Object
lossyYello Evaluations are structured feedback records tied to a Pipeline Stage including scores, comments, and evaluator attribution. Bullhorn does not have a native evaluation form object below the Front Office tier, so we evaluate the customer's Bullhorn edition during scoping. For Front Office Growth/Enterprise, Evaluations map to a Bullhorn Custom Object (customObject2) with numeric score fields, comment body, evaluator name, and timestamp. For Bullhorn ATS tier, Evaluations map to the Candidate Scorecard feature. Custom evaluation forms with non-standard field names require a pre-migration field-mapping table generated from the Yello export sample.
Yello
Pipeline Stage
Bullhorn ATS & CRM
Placement Pipeline Stage
lossyYello Pipeline Stages (configurable stage names and ordering) map to Bullhorn's Placement Track stages or to a Bullhorn Custom Object (customObject3) representing the customer's Yello-specific hiring workflow. Stage ordering is preserved by writing stages in ascending position order. We validate that the stage names in the export are supported by Bullhorn's jobStatus and placementStatus picklists or document any custom status values requiring Bullhorn Support to add.
Yello
Note
Bullhorn ATS & CRM
Note or Task (description)
1:1Yello Notes (free-text commentary attached to Candidates or Requisitions) migrate to Bullhorn Note records linked via ContentDocumentLink to the parent Candidate or JobOrder. Note body migrates as plain text. Author and timestamp preserve. Bullhorn Note records display in the Candidate and JobOrder activity timeline alongside Tasks and Emails.
Yello
Tag
Bullhorn ATS & CRM
Tag
1:1Yello flexible label system (Candidates tagged by school, degree, role, recruiting season) migrates to Bullhorn Tags. Bullhorn stores Tags as a separate entity linked to Candidate and JobOrder via the tag relationship. We extract the flat tag list from Yello and create corresponding Tag records in Bullhorn before attaching them to Candidates. Tags that do not exist in Bullhorn are created during migration.
Yello
Attachment
Bullhorn ATS & CRM
ContentDocument (Resume)
1:1Binary files associated with Candidates including resumes, cover letters, and portfolio items migrate as Bullhorn ContentDocument records attached to the Candidate via ContentDocumentLink. The original filename and file blob preserve. Bullhorn's resume parsing runs on ingestion, extracting structured fields (skills, experience, education) from the uploaded document. We migrate the blob first, then trigger Bullhorn's parse action if enabled on the customer's tier.
Yello
User
Bullhorn ATS & CRM
User (Owner)
1:1Yello internal recruiter and admin user accounts map to Bullhorn User records. We resolve by email match. Owner references on Candidate, JobOrder, and other records migrate by resolving the Yello user ID to the Bullhorn User ID via the User mapping table. Any Yello user without a matching Bullhorn User goes to a reconciliation queue for the customer's admin to provision before record import resumes.
Yello
Custom Fields (Candidate-level)
Bullhorn ATS & CRM
Candidate custom fields or Custom Object
lossyYello custom Candidate properties discovered during the discovery phase map to Bullhorn Candidate custom fields (standard field type: text, number, date, picklist, checkbox) or to a Bullhorn Custom Object (customObject1) if the customer's edition limits standard custom fields. We generate a field-mapping table covering field name, data type, and target Bullhorn field API name before any data writes. Custom field discovery must complete before migration scoping because missed custom fields appear as unmapped blanks in Bullhorn and require a correction pass.
Yello
Custom Fields (Requisition-level)
Bullhorn ATS & CRM
JobOrder custom fields or Custom Object
lossyYello custom Requisition properties map to Bullhorn JobOrder custom fields or to a Bullhorn Custom Object (customObject4) if the destination edition limits standard JobOrder extensions. Multi-select picklist values from Yello map to Bullhorn picklist fields with values created in advance via Bullhorn Support if the values do not already exist in the target org's value set.
Yello
Requisition-Candidate Association
Bullhorn ATS & CRM
JobSubmission
1:1The many-to-one relationship between Yello Requisitions and Candidates (a Candidate can apply to multiple Requisitions) maps to Bullhorn JobSubmission records. Each JobSubmission links a Candidate to a JobOrder and captures application status, submission date, and source. We preserve the application status from Yello (Applied, Screening, Interview, Offer, Rejected) as JobSubmission status values.
| Yello | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job Requisition | JobOrder1:1 | Fully supported | |
| Event | Event (multiple strategy)1:many | Fully supported | |
| Evaluation | Candidate Scorecard or Custom Objectlossy | Fully supported | |
| Pipeline Stage | Placement Pipeline Stagelossy | Fully supported | |
| Note | Note or Task (description)1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | ContentDocument (Resume)1:1 | Fully supported | |
| User | User (Owner)1:1 | Fully supported | |
| Custom Fields (Candidate-level) | Candidate custom fields or Custom Objectlossy | Fully supported | |
| Custom Fields (Requisition-level) | JobOrder custom fields or Custom Objectlossy | Fully supported | |
| Requisition-Candidate Association | JobSubmission1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Yello gotchas
No documented public API forces export-based migration
Custom field discovery must happen before migration scoping
Event multi-day structure requires flattening during export
Bullhorn ATS & CRM gotchas
ATS Growth edition has no API access
Attachments excluded from CSV bulk exports
Custom Object limits vary sharply by edition
Opportunity pipeline stages are recruitment-specific
Resume parse quality varies by document format
Pair-specific challenges
Migration approach
Discovery and export coordination with Yello
We audit Yello's configured objects: Candidate schema (standard and custom fields), Requisition schema, Event list (with multi-day date ranges noted), Evaluation forms, Pipeline Stage definitions, Tag taxonomy, Attachment volume, and user list. We request a full data export from Yello support and validate the export completeness against the object list. Any objects not included in the first export pass (for example, nested Evaluations or Event attendance records) are flagged and a second export pass is requested. We also confirm the customer's Bullhorn edition and submit the Custom Object Setup Sheet to Bullhorn Support if the migration scope requires Custom Objects beyond the Bullhorn ATS tier's limit of 2.
Bullhorn schema design and Custom Object provisioning
We design the destination Bullhorn schema. This includes standard custom fields on Candidate and JobOrder, Custom Objects (customObject1s-customObject10s) with all required fields per the Custom Object Setup Sheet, Tag definitions, and Pipeline Stage configurations. Bullhorn's Field Mappings feature controls where fields display on Add/Edit pages; we configure these during schema design so that migrated fields land in the correct sections of the Bullhorn UI. Schema is validated in a Bullhorn sandbox org before production deployment. Bullhorn Support typically turns around Custom Object provisioning within 5-10 business days.
Sandbox migration and reconciliation
We run a full migration into the customer's Bullhorn sandbox using production-like data volume from the Yello export. The customer's recruiting operations lead reconciles record counts (Candidates in, JobOrders in, Events in, Evaluations in, Attachments in), spot-checks 25-50 random records against the Yello source for field accuracy and tag fidelity, and reviews the multi-day Event flattening output. Sign-off on the sandbox migration gates production migration. Any field mapping corrections, custom field additions, or Event splitting logic adjustments happen here.
Owner reconciliation and User provisioning
We extract every distinct Yello user referenced on Candidate, Requisition, Event, Evaluation, and Note records and match by email against the Bullhorn destination org's User table. Yello users without a matching Bullhorn User go to a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active or inactive depending on whether the original Yello user is still with the organization). Migration cannot proceed past this step because OwnerId references are required on most Bullhorn standard objects.
Production migration in dependency order
We run production migration in record-dependency order: Tags (reference data), Users (validated), Custom Objects (with Bullhorn Support-provisioned schemas), JobOrders (from Yello Requisitions), Candidates (with Tag associations and OwnerId resolved), JobSubmissions (linking Candidates to JobOrders), Events (multi-day flattening applied), Evaluations (to Bullhorn Scorecard or Custom Object per edition), Notes (as Bullhorn Notes with ContentDocumentLink), and Attachments (as Bullhorn ContentDocument with ContentDocumentLink to Candidate). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn's REST API handles standard object writes; Bulk API 2.0 is used for Attachments and large custom object batches.
Cutover, validation, and automation rebuild handoff
We freeze Yello write access during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We validate record counts against the Yello export totals, check a random sample of migrated Candidates against source profiles, and confirm all Attachments are retrievable in Bullhorn. We deliver the Yello automation inventory document (workflow triggers, stage progression rules, event-based actions) to the customer's Bullhorn admin with a mapping to Bullhorn's workflow engine equivalents. We support a one-week hypercare window where we resolve any data quality issues raised by the recruiting team. Workflow and automation rebuilds are out of scope for the data migration and require a separate Bullhorn implementation engagement.
Platform deep dives
Yello
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Yello and Bullhorn ATS & CRM.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Yello: Not publicly documented. Yello's API is enterprise-focused and operates under customer-specific service agreements rather than a public per-minute quota..
Data volume sensitivity
Yello exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Yello to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Yello to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Yello
Other ways to arrive at Bullhorn ATS & CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.