HRMS migration
Field-level mapping, validation, and rollback between Applicant Starter and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Applicant Starter
Source
Bullhorn ATS & CRM
Destination
Compatibility
7 of 12
objects map 1:1 between Applicant Starter and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Applicant Starter to Bullhorn is a structural migration from a small-team ATS to an enterprise staffing platform. Applicant Starter stores candidates, jobs, and activities in a flat schema with account-specific stage names and limited API access; Bullhorn enforces a typed schema with separate Candidate, Contact/Client Corporation, Job Order, and Placement objects, custom objects gated by edition, and a REST API requiring authentication. We extract the Applicant Starter schema during scoping, design the Bullhorn destination schema including Record Types and stage values, and execute migration in dependency order. Workflows and automations do not migrate; we deliver a written inventory for the customer's Bullhorn admin to rebuild.
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 Applicant Starter 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.
Applicant Starter
Candidate
Bullhorn ATS & CRM
Candidate
1:1Applicant Starter Candidates map directly to Bullhorn Candidate records. The core fields (name, email, phone, resume) migrate as typed Bullhorn Candidate fields. We download resume files as binary blobs, name them consistently using candidate ID and timestamp, and attach them to the Bullhorn Candidate record via ContentDocumentLink. Any Applicant Starter candidate ID is preserved as a reference field bullhorn_migration_source_id__c for audit and deduplication.
Applicant Starter
Job Requisition
Bullhorn ATS & CRM
Job Order
1:1Applicant Starter job postings map to Bullhorn Job Order records. The original job ID is preserved as a reference field. Bullhorn Job Orders have a richer schema than Applicant Starter including EdCode, StartDate, FeePercent, and OPRecordType; during scoping we extract every active and closed job field from Applicant Starter and map them to Bullhorn equivalents or custom fields. Open/closed status from Applicant Starter maps to Bullhorn's status field (Open/Closed/Hold/Canceled).
Applicant Starter
Pipeline Stage
Bullhorn ATS & CRM
Sales Process + Job Order Stage
lossyApplicant Starter allows free-form stage names per account. We extract the full stage taxonomy during scoping (Applied, Screening, Interview, Offer, Hired in one account; Open, Qualified, Shortlisted, Placed in another). Bullhorn stages are configured as Sales Processes per Job Order Record Type with specific StageName values and probabilities. We build a custom stage map during scoping that resolves each Applicant Starter stage to a Bullhorn equivalent, flagging any that have no logical counterpart.
Applicant Starter
Activity/Notes
Bullhorn ATS & CRM
Note + Task
1:manyApplicant Starter stores activity logs (calls, emails, interview notes) as a stream attached to a candidate. Bullhorn separates these: calls map to Task with TaskSubtype=Call and CallDurationInSeconds; interview notes map to Note records linked via ContentDocumentLink; emails map to EmailMessage records linked to the Candidate. We decompose the Applicant Starter activity stream into Bullhorn's typed activity objects preserving timestamps for timeline ordering. Some older Applicant Starter activities may lack timestamps; we flag these and assign them a placeholder date for visibility.
Applicant Starter
Company
Bullhorn ATS & CRM
Client Corporation
1:1Applicant Starter may store minimal company data alongside candidates. Bullhorn has a dedicated Client Corporation object with fields for billing address, industry, annual revenue, and owner. If Applicant Starter contains company data (name, address, contact), we map it to Bullhorn Client Corporation. If company data is sparse or absent in Applicant Starter, we create placeholder Client Corporation records from candidate company associations for completeness.
Applicant Starter
Job Distribution Log
Bullhorn ATS & CRM
Job Posting
1:1Applicant Starter tracks where each job was distributed (LinkedIn, Indeed, job boards). Bullhorn Job Orders have a built-in posting distribution history. We map Applicant Starter job distribution records to Bullhorn Job Posting entries tied to the corresponding Job Order, preserving the posting date and distribution channel.
Applicant Starter
Custom Field
Bullhorn ATS & CRM
Custom Object (Growth/Enterprise) or Custom Field (Corporate+)
lossyApplicant Starter custom fields on Candidates or Jobs require explicit mapping. Bullhorn's Custom Objects (Growth/Enterprise: up to 10 Custom Objects with 55 fields each; Corporate+: Custom Fields and Workflows) provide the destination schema. We extract the Applicant Starter custom field schema during scoping, map each to a Bullhorn Custom Object or custom field, and pre-create the destination schema before any data import. Bullhorn ATS Growth does not support Custom Objects; if the destination is ATS Growth, custom fields from Applicant Starter must be absorbed into standard Candidate or Job fields or noted as unmapped.
Applicant Starter
Scorecard/Evaluation
Bullhorn ATS & CRM
Unmapped
1:1Applicant Starter Scorecard data, if present, is stored in a proprietary format not accessible via the export API. Bullhorn does not have a native scorecard object at the standard ATS level; evaluations are handled via custom fields or Bullhorn's Canvas reporting. We notify customers during scoping and advise manual export or screenshot-based handoff. No scorecard data migrates programmatically.
Applicant Starter
Candidate Tags
Bullhorn ATS & CRM
Candidate Tags or Multi-Select Picklist
lossyApplicant Starter uses a tag taxonomy per account to classify candidates (skills, source, clearance level, etc.). Bullhorn Candidate records support a Tags field (multi-select picklist) and Custom Objects for more structured tagging. We map Applicant Starter tags to Bullhorn Candidate Tags for simple taxonomies or to a Custom Object for complex multi-dimensional tagging schemes.
Applicant Starter
Owner/User
Bullhorn ATS & CRM
Bullhorn User
1:1Applicant Starter owners (recruiters, hiring managers) map to Bullhorn User records. We resolve owners by email match against the Bullhorn destination org's User table. Any Applicant Starter owner without a matching Bullhorn User goes to a reconciliation queue for the customer's admin to provision before record import resumes.
Applicant Starter
Attachment/Resume
Bullhorn ATS & CRM
ContentDocument + ContentDocumentLink
1:1Resume files and binary attachments from Applicant Starter are downloaded during export, named consistently using candidate ID and original filename, and uploaded to Bullhorn as ContentDocument records attached via ContentDocumentLink to the corresponding Candidate record. We preserve the original upload timestamp as ContentVersion's Origin field.
Applicant Starter
Lead/Placement Record
Bullhorn ATS & CRM
Placement (via Lead and Opportunity)
1:manyApplicant Starter does not have a native Placement object; Bullhorn's Placement record represents a candidate placed in a job for a client. When Applicant Starter contains placed candidates, we map them to a Bullhorn Job Order (if not already created) and a Bullhorn Placement linked to the Candidate and Job Order. If Applicant Starter tracks placement status only as a stage value, we create Placement records post-migration based on the stage mapping.
| Applicant Starter | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job Requisition | Job Order1:1 | Fully supported | |
| Pipeline Stage | Sales Process + Job Order Stagelossy | Fully supported | |
| Activity/Notes | Note + Task1:many | Fully supported | |
| Company | Client Corporation1:1 | Fully supported | |
| Job Distribution Log | Job Posting1:1 | Fully supported | |
| Custom Field | Custom Object (Growth/Enterprise) or Custom Field (Corporate+)lossy | Fully supported | |
| Scorecard/Evaluation | Unmapped1:1 | Fully supported | |
| Candidate Tags | Candidate Tags or Multi-Select Picklistlossy | Fully supported | |
| Owner/User | Bullhorn User1:1 | Fully supported | |
| Attachment/Resume | ContentDocument + ContentDocumentLink1:1 | Fully supported | |
| Lead/Placement Record | Placement (via Lead and Opportunity)1:many | 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.
Applicant Starter gotchas
No public API documentation or developer portal
Export requires a paid plan
No native bulk export endpoint
Stage and tag schema varies per account
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
Scoping and API access verification
We audit the Applicant Starter account for paid-plan API access, candidate volume, job count, custom field schema, and stage definitions. We test a read call against the Candidates endpoint to verify API access (free or trial accounts have no programmatic export capability). We extract the full custom field and stage taxonomy from the account and map each to a Bullhorn equivalent or flag it as requiring custom configuration. The scoping output is a written migration scope document including record counts, a field map, and a Bullhorn edition recommendation based on custom object requirements.
Bullhorn schema design and custom object provisioning
We design the destination Bullhorn schema including Record Types for Job Orders, Sales Processes for stage values, custom fields on Candidate and Job Order, and Custom Objects (if required and supported by the purchased edition). Bullhorn Custom Objects require a Support ticket using Bullhorn's Custom Object Setup Spreadsheet; we draft this during schema design and submit it with the customer's Bullhorn account team. All Bullhorn schema is deployed into a Sandbox org first for validation before any production import begins.
Iterative candidate and job export
We paginate through Applicant Starter's candidate and job endpoints using iterative API calls. Resume files and attachments are downloaded as binary blobs and stored in a structured staging directory named by candidate ID. Activity history streams are decomposed into typed records (calls to Task, notes to Note, emails to EmailMessage) with timestamps preserved. We run a row-count reconciliation against the Applicant Starter source before proceeding to import.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn Sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, Jobs in, Notes in, Tasks in), spot-checks 25-50 random records against the Applicant Starter source, and signs off the schema and mapping before production migration begins. Bullhorn's Bullhorn Plugin and OnRamp portal provide additional validation tools that we use during this phase.
Production migration in dependency order
We run production migration in record-dependency order: Client Corporations (if present), Job Orders (with status preserved), Candidates (with resume attachments linked via ContentDocumentLink), Notes, Tasks, EmailMessage records (via Bullhorn REST API), and Custom Object records last. Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn's REST API handles inserts with proper dependency resolution (Candidate must exist before attaching Note; Job Order must exist before creating Placement).
Cutover, delta export, and workflow inventory handoff
We freeze Applicant Starter writes during cutover, run a final delta migration of records modified during the migration window, then enable Bullhorn as the system of record. We deliver a written inventory of Applicant Starter automations and stage configurations requiring rebuild in Bullhorn. Bullhorn Launch and the OnRamp portal guide the customer's team through initial configuration. We support a one-week hypercare window for reconciliation issues. We do not rebuild Applicant Starter automations as Bullhorn automations inside the migration scope; that work is handled by the customer's Bullhorn admin or an implementation partner.
Platform deep dives
Applicant Starter
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 Applicant Starter 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
Applicant Starter: Not publicly documented.
Data volume sensitivity
Applicant Starter doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Applicant Starter to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Applicant Starter 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 Applicant Starter
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.