HRMS migration
Field-level mapping, validation, and rollback between Workable Zone - HRM and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Workable Zone - HRM
Source
Bullhorn ATS & CRM
Destination
Compatibility
11 of 14
objects map 1:1 between Workable Zone - HRM and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Migrating from Workable Zone - HRM to Bullhorn is a move from a combined ATS-and-HRMS platform to a staffing-specialized ATS-and-CRM. Workable candidates, jobs, pipeline stages, scorecards, and offers map 1:1 to Bullhorn's Candidate, JobOrder, Pipeline, Scorecard, and Opportunity records. The structural complication is Workable's HR module: Bullhorn has no native HRIS, so Employee records, Time-Off balances, and payroll data do not migrate into standard Bullhorn objects and are instead inventoried in a written deliverable for the customer to onboard into a separate HRMS. Resume binaries from Workable's bulk export attach to Bullhorn Candidates via the ContentDocument API, which requires a multi-step API call sequence distinct from the standard CSV field mapping. We do not migrate Workflows, Sequences, or Automations; we deliver a written map of every Workable automation for the customer's admin to rebuild in Bullhorn or via a Bullhorn-certified partner.
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 Workable Zone - HRM 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.
Workable Zone - HRM
Candidate
Bullhorn ATS & CRM
Candidate
1:1Workable Candidate records map to Bullhorn Candidate via the Candidate's email address as the dedupe key. Core fields (firstName, lastName, email, phone, address, LinkedIn URL, source, status) migrate directly. Workable's skills, certifications, and custom text fields map to Bullhorn Candidate standard fields or custom fields if the Bullhorn edition supports them. Resume binaries from Workable's bulk export attach to Bullhorn Candidate via the ContentDocument API: we create the Candidate record first, then issue a POST to /file/{entityType}/{entityId}/uploadDocument to attach the binary with the correct ContentDocumentLink.
Workable Zone - HRM
Employee
Bullhorn ATS & CRM
Worker (external HRMS required)
lossyWorkable Employee records (skills, payroll details, department, title, employment status) have no native Bullhorn HRIS equivalent. Bullhorn is an ATS-and-CRM for recruitment agencies and does not include an HR module. We exclude Employee records from standard Bullhorn migration scope and instead deliver a written inventory of all Employee fields, data types, and sample values in a CSV for the customer to onboard into a separate HRMS such as BambooHR, Rippling, or ADP. The customer should select and configure the destination HRMS before migration so that any future Employee-to-Candidate conversion can reference the same person record.
Workable Zone - HRM
Job (Job Posting)
Bullhorn ATS & CRM
JobOrder
1:1Workable Job postings map to Bullhorn JobOrder. Workable's job status (open, paused, closed) maps to Bullhorn's JobOrder isOpen flag and status field. Workable's departments and offices map to Bullhorn JobOrder categories and businessSector. Workable's pay-rate and employment-type fields map to Bullhorn JobOrder custom fields or standard fields. Active jobs are imported first; archived jobs can be imported in a separate phase or excluded from the primary migration scope.
Workable Zone - HRM
Pipeline Stage
Bullhorn ATS & CRM
Pipeline (Bullhorn)
lossyWorkable pipeline stages map to Bullhorn Pipeline stages. Each Workable pipeline becomes a Bullhorn Pipeline with its own stage array. Stage names and order transfer directly; stage probabilities map to Bullhorn's probability percentages rounded to the nearest integer. Bullhorn's Pipeline builder is configured during schema setup before any JobOrder records are imported.
Workable Zone - HRM
Scorecard (Evaluation)
Bullhorn ATS & CRM
Scorecard (Bullhorn)
1:1Workable interview scorecards and evaluator feedback migrate to Bullhorn Scorecard records linked to the Candidate and JobOrder. Evaluation ratings and free-text reviewer comments transfer as structured fields on the Scorecard. Bullhorn's Scorecard object is entity-specific and attaches to a Candidate submission for a given JobOrder; we ensure the Scorecard is created after both the Candidate and JobOrder exist in Bullhorn by resolving both IDs before inserting.
Workable Zone - HRM
Offer
Bullhorn ATS & CRM
Opportunity
1:1Workable Offer records (compensation, start date, offer status, offer letter document) map to Bullhorn Opportunity. The Workable JobOrder ID becomes the parent WhatId on the Opportunity. Compensation fields (salary, bonus, equity) migrate to Bullhorn Opportunity custom fields. The offer letter document migrates as a ContentDocument attached to the Opportunity via ContentDocumentLink. Bullhorn Opportunity stages are configured to reflect the Workable offer lifecycle (offer extended, accepted, declined, rescinded).
Workable Zone - HRM
Time-Off Balance
Bullhorn ATS & CRM
Custom Object or exclusion (no HRIS)
lossyWorkable Time-Off balances (leave type, balance, accrual rate, used days) have no standard Bullhorn equivalent. Bullhorn does not include a native HRIS or time-tracking module. We exclude Time-Off records from the standard Bullhorn migration scope and deliver them as a structured CSV inventory (employee identifier, leave type, balance, accrual date) with a recommendation to onboard the data into a separate HRMS post-migration. This is a key scoping decision made at the discovery call.
Workable Zone - HRM
Custom Field (Candidate, Employee, Job)
Bullhorn ATS & CRM
Custom Field or Custom Object (Bullhorn)
1:1Workable custom properties (text, number, date, dropdown, boolean, multi-select) on Candidates, Employees, and Jobs map to Bullhorn Candidate, JobOrder, or Worker custom fields. Bullhorn Enterprise and Front Office Growth support up to 10 custom objects with 55 fields each; Bullhorn ATS Growth supports 2 custom objects; Bullhorn ATS does not support custom objects. We pre-create the destination custom fields via Bullhorn metadata API before import. Workable custom fields that exceed Bullhorn's field count limits per entity are flagged in scoping and mapped to a custom object or excluded with a written explanation in the migration inventory.
Workable Zone - HRM
Company (Workable HR module)
Bullhorn ATS & CRM
ClientCorporation
1:1Workable Companies stored in the HR module (the employer side of the organization) map to Bullhorn ClientCorporation if the migration scope includes company records. Workable's company name, website, industry, and address map to Bullhorn ClientCorporation standard fields. For staffing firms, Workable's client companies map to ClientCorporation; for in-house recruiting teams moving to Bullhorn, the Workable HR module company record may represent the employer organization itself and is treated as a ClientCorporation in Bullhorn for consistency.
Workable Zone - HRM
Note (Candidate, Employee, Job)
Bullhorn ATS & CRM
Note
1:1Workable notes attached to Candidates, Employees, or Jobs migrate to Bullhorn Note records linked via ContentDocumentLink to the parent record. Rich-text notes transfer as Note Body; the original author and timestamp are preserved. Bullhorn Note is subject to the 55-field limit on the parent entity but Note itself is a standard object and does not consume custom object allocation.
Workable Zone - HRM
Attachment (Resume, Offer Letter, Employee Document)
Bullhorn ATS & CRM
ContentDocument
1:1Binary attachments from Workable's bulk export (resumes in PDF/DOCX, offer letters, employee documents) migrate as Bullhorn ContentDocument records attached to the parent Candidate, Opportunity (for offers), or Worker record via ContentDocumentLink. Resume files for Candidates use the dedicated /file/{entityType}/{entityId}/uploadDocument endpoint after Candidate creation. We verify each ContentDocument is linked before proceeding to the next batch. Files exceeding Bullhorn's size limits (typically 25 MB per file) are flagged and optionally split or excluded.
Workable Zone - HRM
Owner (Workable user)
Bullhorn ATS & CRM
User (Bullhorn)
1:1Workable Owners referenced on Candidate, Job, and Offer records are resolved to Bullhorn User records by email match. Bullhorn requires every record to have a valid OwnerId at insert time. Any Workable Owner whose email does not exist in the Bullhorn destination org is held in a reconciliation queue; the customer's Bullhorn admin provisions the missing User before we resume migration. We do not create Bullhorn Users on behalf of the customer.
Workable Zone - HRM
Candidate Source
Bullhorn ATS & CRM
Candidate Source
1:1Workable's candidate source field (job board, referral, LinkedIn, direct application) maps directly to Bullhorn Candidate.source. Source values are preserved as-is; if the customer wants to normalize source values post-migration, we flag this as a post-migration admin task in the handoff document.
Workable Zone - HRM
Interview Schedule
Bullhorn ATS & CRM
Event (Calendar Entry)
1:1Workable self-scheduled interview bookings (candidate name, interview type, scheduled time, interviewer, meeting link) map to Bullhorn Event records linked to the Candidate and JobOrder. StartDateTime, EndDateTime, and Location transfer directly. Bullhorn EventRel records are created for each interviewer listed in the Workable interview schedule to preserve the attendee list.
| Workable Zone - HRM | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Employee | Worker (external HRMS required)lossy | Fully supported | |
| Job (Job Posting) | JobOrder1:1 | Fully supported | |
| Pipeline Stage | Pipeline (Bullhorn)lossy | Fully supported | |
| Scorecard (Evaluation) | Scorecard (Bullhorn)1:1 | Fully supported | |
| Offer | Opportunity1:1 | Fully supported | |
| Time-Off Balance | Custom Object or exclusion (no HRIS)lossy | Fully supported | |
| Custom Field (Candidate, Employee, Job) | Custom Field or Custom Object (Bullhorn)1:1 | Fully supported | |
| Company (Workable HR module) | ClientCorporation1:1 | Fully supported | |
| Note (Candidate, Employee, Job) | Note1:1 | Fully supported | |
| Attachment (Resume, Offer Letter, Employee Document) | ContentDocument1:1 | Fully supported | |
| Owner (Workable user) | User (Bullhorn)1:1 | Fully supported | |
| Candidate Source | Candidate Source1:1 | Fully supported | |
| Interview Schedule | Event (Calendar Entry)1: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.
Workable Zone - HRM gotchas
Per-job billing model affects migration scoping
Resume export requires API bulk endpoint
Tier-gated objects on Standard plan
No native bulk import into Workable
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 scoping call
We audit the Workable Zone - HRM account across active job count, total candidate records, employee record count, custom field inventory, attachment volume (resumes, offer letters, employee documents), pipeline stage count, and active workflows or automations. We pair this with a Bullhorn edition assessment to determine whether the customer's target Bullhorn tier supports the required custom object count. We explicitly flag the HRIS gap during this call: Employee records, Time-Off balances, and HR documents do not migrate into Bullhorn and require a separate HRMS onboarding plan. The discovery output is a written migration scope with record counts, HR data disposition, and Bullhorn edition recommendation.
Schema setup in Bullhorn
We configure Bullhorn before any data moves. This includes creating Bullhorn Pipeline records that mirror Workable's pipeline stage names and probabilities, configuring JobOrder status field values (open, paused, closed) to match Workable's job lifecycle, provisioning custom fields via Bullhorn metadata API to match Workable's custom property types, and requesting Bullhorn Support to create any required custom objects (up to 10 on Enterprise). Bullhorn field mapping enforces a 55-field limit per entity; custom fields exceeding this threshold are redistributed to custom objects or flagged as excluded. Bullhorn edition limits are checked against the Workable custom field inventory before schema creation begins.
Workable bulk export and data extraction
We extract data from Workable using the bulk API export endpoint for Candidates, including resume binaries as separate file payloads. We pull Jobs, Pipeline stages, Scorecards, Offers, Notes, and custom field values in parallel. For the HR module, we extract Employee records and Time-Off balances separately for the HR data inventory deliverable. We validate record counts against the Workable UI and flag any discrepancy before transformation begins. Owner email addresses are extracted from all entities for the Bullhorn User reconciliation step.
Sandbox migration and reconciliation
We run a full migration into the customer's Bullhorn Sandbox (Partial Copy or Full Copy depending on data volume) before touching production. The customer's Bullhorn admin reviews record counts (Candidates in, JobOrders in, Pipeline stages configured, Scorecards attached, Opportunities created), spot-checks 25-50 candidate records for field accuracy, verifies resume attachment presence, and reviews the Owner reconciliation queue. Any mapping corrections, custom field additions, or Bullhorn User provisioning requirements surface here and are resolved before production migration begins.
Owner reconciliation and User provisioning
We extract every distinct Workable Owner referenced across all migrating entities and match by email against the Bullhorn destination org's User table. Workable Owners with no matching Bullhorn User go to a written reconciliation queue. The customer's Bullhorn admin provisions any missing Users (active or inactive depending on whether the original Workable user is still with the firm). Migration cannot proceed past the User validation gate because Bullhorn rejects any record insert without a valid OwnerId. We resume migration only after the reconciliation queue is confirmed empty.
Production migration in dependency order
We run production migration in record-dependency order: Users (validated from step 5), ClientCorporations (for staffing firms with client records), Candidates with resume binaries (Candidate created first via REST, then ContentDocument attached via /file/Candidate/{id}/uploadDocument, then ContentDocumentLink created), JobOrders (with status flags from Workable job status), Pipelines (stage values matched to Bullhorn Pipeline), Scorecards (linked to Candidate and JobOrder by resolved IDs), Opportunities (for offers, with JobOrder as WhatId), Notes (via ContentDocumentLink), and HR data inventory (Employee CSV, Time-Off CSV delivered separately for the customer's HRMS onboarding). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and handoff
We freeze writes on Workable during the cutover window, run a final delta migration of any records modified during the migration window, then deliver the production reconciliation report. We validate record counts, spot-check resume attachments, verify Opportunity records against Workable Offer data, and confirm Notes are linked to the correct parent records. We deliver the written Workflow and Automation inventory (all Workable automations documented with trigger, conditions, and actions for Bullhorn rebuild) and the HR data inventory CSV. We support a one-week hypercare window for reconciliation issues raised by the recruiting team. Workflow rebuild in Bullhorn is a separate engagement handled by the customer's admin or a Bullhorn-certified implementation partner.
Platform deep dives
Workable Zone - HRM
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 2 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 Workable Zone - HRM and Bullhorn ATS & CRM.
Object compatibility
2 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
Workable Zone - HRM: Not publicly documented; customers with high-volume exports should anticipate batch processing.
Data volume sensitivity
Workable Zone - HRM 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 Workable Zone - HRM to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Workable Zone - HRM 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 Workable Zone - HRM
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.