HRMS migration

Migrate from Workable to Bullhorn ATS & CRM

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

Workable logo

Workable

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

67%

8 of 12

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Workable to Bullhorn is a structural migration from a recruiting-first ATS with bundled HRIS to a staffing-agency ATS built around a relational CRM model. Workable organizes hiring around Candidates, Jobs, Pipeline Stages, Interviews, and Offers; Bullhorn adds ClientCorporation, ClientContact, JobSubmission, and Placement as separate relational entities. The highest-risk mapping is Workable Offers to Bullhorn Placements: Workable tracks offer records at the candidate level before a hire decision, while Bullhorn creates a Placement only after a candidate is placed, carrying pay/billing structure. We separate candidate profile data from resume attachments (Workable requires separate API calls for each resume file) and map hiring team roles to Bullhorn user records with Owner, ClientContact, or CandidateOwner relationships. Bullhorn ATS Growth (Team Edition) has no API access, which blocks automated migration entirely for that tier; we flag this before scoping begins. Workflows, automated actions, and stage-based email triggers do not migrate; we deliver a written inventory for the customer admin to rebuild in Bullhorn Automation.

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

Workable logo

Workable

What's pushing teams away

  • Cannot add existing applicants to a talent pool for future roles — they must be re-entered, forcing manual workarounds for pipeline reuse.
  • Automated rejection emails cannot be scheduled in advance; they fire immediately or at fixed trigger points, limiting control over candidate communication timing.
  • Pricing scales by total company headcount, not recruiter seats, so growing teams get surprised by bills that rise faster than their hiring volume.
  • The platform becomes expensive for larger organizations, prompting evaluation of alternatives like BambooHR or Greenhouse for better cost efficiency.

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

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

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Workable Candidates map directly to Bullhorn Candidate records. We extract the full profile including name, email, phone, address, social URLs, communication history, and evaluation comments. Workable's tags and talent pool memberships map to Bullhorn Candidate tags. The Candidate record in Bullhorn is the parent for all submissions, so candidate migration must complete before JobSubmission records are loaded.

Workable

Job

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Workable Jobs map to Bullhorn JobOrder. Job title, description, department, employment type, and status migrate directly. Workable's job status (active, paused, closed) maps to Bullhorn's JobOrder status field. We flag whether the destination Bullhorn instance requires job reopen or job type reconfiguration per the customer's licensing tier.

Workable

Pipeline Stage

maps to

Bullhorn ATS & CRM

JobSubmission status

lossy
Fully supported

Workable pipeline stages are per-job and carry candidate counts and movement history. We map stage names and sequences to Bullhorn JobSubmission status values. ClonePartner's ATS migration checklist advises building a static mapping table (not dynamic) that the ETL pipeline references, forcing a sign-off on exact stage translations before any data moves. Stage probabilities from Workable migrate to JobSubmission custom fields if the Bullhorn instance has them enabled.

Workable

Interview

maps to

Bullhorn ATS & CRM

Event + Task

1:1
Fully supported

Workable interviews (scheduling data, interviewer assignments, meeting type, date/time) map to Bullhorn Event records linked to the JobSubmission. Interviewer assignments become EventRelation records pointing to Bullhorn User records resolved by email match. Meeting type and location migrate to Bullhorn Event description and custom fields.

Workable

Scorecard

maps to

Bullhorn ATS & CRM

Candidate Note (structured)

1:1
Fully supported

Workable structured scorecards (rating templates, individual scores, written feedback) migrate to Bullhorn Candidate Note records with a standardized format using a scorecard__c prefix in the note title for identification. Rating scales differ between platforms; we normalize numeric ratings to the destination scale and preserve the original Workable score as a text field for audit. Scorecard templates are not a portable format in Bullhorn and are documented separately for rebuild.

Workable

Offer

maps to

Bullhorn ATS & CRM

Placement

1:many
Fully supported

This is the highest-risk mapping in the pair. Workable Offer records (compensation, start date, status: sent, accepted, declined, retracted) map to Bullhorn Placement records only if the candidate has a confirmed hire. Workable Offer status is preserved as a custom Placement field; candidates with non-confirmed offer status become Bullhorn JobSubmissions without a Placement. Bullhorn Placement also carries pay/billing structure (bill rate, pay rate, overtime rate) that has no direct Workable equivalent; we leave these fields for the customer admin to populate post-migration or configure in Bullhorn Time & Expense.

Workable

Hiring Team Member

maps to

Bullhorn ATS & CRM

User + ownership relationships

1:1
Fully supported

Workable recruiters, hiring managers, and collaborators per job map to Bullhorn User records resolved by email. Role assignments (recruiter, hiring manager, coordinator) map to Bullhorn JobOrder owner, JobSubmission recruiter, or CandidateOwner relationships depending on the relationship type. Any Workable hiring team member without a matching Bullhorn User is flagged in the reconciliation queue for the customer admin to provision before record import.

Workable

Employee (HRIS)

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Workable HRIS employee records (name, department, job title, employment status) map to Bullhorn User records for employees who will also act as recruiters or internal staff. Bullhorn's User table does not have a direct HRIS equivalent; employee-only records that do not need Bullhorn access are documented in a separate employee inventory for the customer admin to manage outside Bullhorn or in Bullhorn Onboarding (formerly Able).

Workable

Time-Off Record

maps to

Bullhorn ATS & CRM

Not migrated

lossy
Fully supported

Workable time-off balances and requests (Standard plan and above) are an HRIS feature with no Bullhorn ATS equivalent. Bullhorn Onboarding handles onboarding workflow but not PTO accrual or balance tracking. We export time-off data as a CSV inventory during discovery and recommend the customer configure a separate HR or payroll system for this data post-migration. This is not a Bullhorn-supported object.

Workable

Talent Pool

maps to

Bullhorn ATS & CRM

Candidate Tag + Candidate Segment

lossy
Fully supported

Workable Talent Pools (customer-created candidate groupings) map to Bullhorn Candidate tags and, where applicable, Bullhorn Candidate Segments if the Bullhorn instance has the Segments feature enabled. Pool names migrate as tag values. The customer chooses during scoping whether to map pools to tags, segments, or both depending on how Bullhorn's segmentation is used for candidate sourcing.

Workable

Custom Field

maps to

Bullhorn ATS & CRM

Custom Field

1:1
Fully supported

Workable custom candidate and job fields migrate to Bullhorn custom fields on the equivalent entity. Bullhorn supports custom fields on all entities (Candidate, JobOrder, ClientCorporation, ClientContact, Placement, Lead) with per-entity limits. We audit all Workable custom field names, types, and values during scoping and map them to Bullhorn field types (text, number, date, dropdown, multi-select, checkbox). Bullhorn field mapping settings (required, hidden, sort order) are configured in Admin > Field Mappings before migration.

Workable

Resume/Attachment

maps to

Bullhorn ATS & CRM

Candidate Attachment

1:1
Fully supported

Resume files must be extracted separately from Workable candidate profile data. The CSV candidate-details export does not include resume files; we script bulk extraction using Workable's /candidates/{id}/resume endpoint. Bullhorn supports file attachments on Candidate records via the REST API or Bullhorn file upload. We re-associate extracted resume files by candidate email match during Bullhorn import. File naming conventions are preserved where Workable provides them.

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.

Workable logo

Workable gotchas

High

API rate limit of 10 req/10 sec throttles bulk exports

High

Headcount-based pricing means billing scales with total employees

Medium

Resumes require separate extraction from candidate profiles

Medium

Annual billing and no refunds create migration timing risk

Medium

Supported ATS migration list is narrow and plan-dependent

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

  • Bullhorn ATS Growth has no API access

    Bullhorn ATS Growth (formerly Team Edition) does not include API access, which means automated migration via REST API or Bulk API is not available for customers on that tier. If the source Workable account is mid-migration and the destination Bullhorn instance is ATS Growth, we cannot proceed with an API-based migration. We confirm the Bullhorn tier during scoping and flag whether the customer needs to upgrade to Corporate or Enterprise for API access before migration begins.

  • Workable resumes require per-candidate API extraction

    The Workable CSV candidate-details export does not include resume file attachments. Resume files must be downloaded individually via GET /candidates/{id}/resume for each candidate. Combined with Workable's 10 requests per 10 second rate limit, a 5,000-candidate database requires approximately 14 hours of sequential API calls just for resume extraction before any Bullhorn import can begin. We scope resume volume upfront and factor extraction time into the project timeline. Customers may choose to migrate candidate profiles without resume files and re-upload resumes manually or via Bullhorn's UI.

  • Workable headcount billing creates simultaneous billing overlap

    Workable prices by total company headcount and does not issue refunds for early cancellations or mid-cycle downgrades. Customers mid-annual Workable billing cycle who migrate to Bullhorn pay for both systems simultaneously until the Workable renewal date. We map out the Workable billing cycle during scoping and advise customers on whether to time migration close to a renewal date or negotiate a pro-rata arrangement with Workable before starting. This is a Workable platform policy, not a Bullhorn limitation.

  • Orphaned JobSubmission chains break placement history

    ClonePartner's ATS migration technical guides identify orphaned records, silently dropped custom fields, and broken placement chains as the most common post-go-live issues. In the Workable-to-Bullhorn migration, placement history breaks when Workable offers with non-confirmed status (declined, retracted) are not explicitly mapped to a JobSubmission status before Bullhorn import. We use static mapping tables per ClonePartner's recommendation and run reconciliation queries on Bullhorn JobSubmission and Placement records after each import phase to catch broken chains before cutover.

  • Workable automated actions have no portable export format

    Workable email triggers, stage-based rules, and automated actions are configuration data that do not have an export format compatible with Bullhorn. Attempting to migrate these as records creates broken automation in Bullhorn. We document every active Workable automated action during discovery, map them to Bullhorn Automation equivalents (if the customer licenses the add-on), and deliver a written inventory for the admin to rebuild. Bullhorn's own workflow migration documentation (kb.bullhorn.com/bh4sf) confirms that workflow rule migration requires manual reconstruction.

Migration approach

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

  1. Discovery and billing audit

    We audit the source Workable account for candidate volume, active job count, offer history, pipeline stage names, custom field inventory, HRIS scope (employee records, time-off data), and resume attachment count. We simultaneously confirm the destination Bullhorn tier (ATS Growth, Corporate, or Enterprise) and verify API access is enabled. We map the Workable billing cycle dates and flag overlap risk with Bullhorn onboarding. The discovery output is a written migration scope, a Workable-to-Bullhorn object mapping table, and a Bullhorn tier recommendation if the current tier lacks API access.

  2. Stage mapping and static translation table

    We build a static mapping table translating each Workable pipeline stage to a Bullhorn JobSubmission status. Per ClonePartner's ATS migration checklist, this mapping is signed off by the customer's recruiting lead before any ETL pipeline code is written. Stage probabilities migrate from Workable to Bullhorn custom fields; closed-lost and closed-won outcomes map to Placement status where applicable. We also define the offer-to-placement split rule here: Workable offers with confirmed status create Bullhorn Placements; non-confirmed offers create JobSubmissions only.

  3. Resume extraction and file preparation

    We script bulk resume extraction from Workable's /candidates/{id}/resume endpoint, pacing requests to comply with Workable's 10 req/10 sec limit. For a 5,000-candidate database this takes approximately 14 hours; we run this in parallel with schema setup in Bullhorn. Resume files are stored in a structured directory named by candidate email hash for reliable re-association during Bullhorn import. We flag any candidates with missing or inaccessible resume files in a separate report.

  4. Bullhorn schema setup and sandbox validation

    We provision Bullhorn custom fields (matching Workable custom field names and types), configure JobSubmission status values per the static stage mapping, and set up User provisioning for any Workable hiring team members without Bullhorn accounts. Bullhorn field mapping settings (required, hidden, sort order) are configured in Admin > Field Mappings before migration. We run a full migration into a Bullhorn Sandbox using representative production data volume. The customer's Bullhorn admin reconciles record counts and spot-checks 25-50 records against Workable before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Candidate profiles first (the parent object for all submissions), then JobOrder records, then JobSubmission records with status mapped via the static table, then Placement records for confirmed Workable offers, then interview events and scorecard notes, then hiring team assignments via User email match, then talent pool-to-tag mappings, then resume attachments re-associated to Bullhorn Candidate records. Each phase emits a row-count reconciliation report before the next phase begins. Workable's rate limit requires batch pacing on the export side; Bullhorn's 1,500 req/min import ceiling accommodates most candidate loads without throttling.

  6. Cutover, delta sync, and automation rebuild handoff

    We freeze Workable writes during cutover, run a final delta migration of any candidates, jobs, or submissions modified during the migration window, then enable Bullhorn as the system of record. We deliver the Workable automated action inventory document with Bullhorn Automation equivalents for the customer's admin to rebuild. Bullhorn Automation ($30-$50/user/month add-on) is the replacement for Workable email triggers and stage-based rules. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Workable workflows as Bullhorn Automation inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Workable logo

Workable

Source

Strengths

  • Generous free trial with full Standard feature access for 15 days — no credit card required.
  • Candidate interview features are best-in-class: structured kits, scorecards, and multi-interviewer feedback tools.
  • Combines ATS and HRIS in one platform, reducing tool sprawl for small to mid-sized HR teams.
  • Native video interviewing, assessments, and e-signature integrations reduce third-party tool dependencies.
  • Supports 5 native languages, useful for multinational or multilingual recruiting teams.

Weaknesses

  • Pricing is tied to total headcount, not recruiter seats — billing rises when hiring any new employee, not just ATS users.
  • API rate limit is restrictive: 10 requests per 10 seconds, which slows bulk exports significantly.
  • Cannot send scheduled or delayed rejection emails — automated messages fire immediately or at fixed trigger points.
  • Talent pool management is limited; candidates cannot be added from existing applicants without manual re-entry.
  • Downgrading plans or switching billing cycles mid-subscription is not supported; annual plans cannot convert to monthly.
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 Workable 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

    Workable: 10 requests per 10 seconds per org (returns 429 on excess).

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Workable to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Small staffing agencies (under 2,000 candidates, under 50 active jobs) can complete migration in four to six weeks. Bullhorn's own implementation blog states that small agencies go live within two weeks and mid-size agencies within two to six weeks with Bullhorn's implementation team. FlitStack AI migrations with high candidate volume (over 5,000 records), separate resume file extraction, offer-to-placement mapping complexity, or Workable HRIS data in scope extend to eight to twelve weeks.

Adjacent paths

Related migrations to explore

Ready when you are

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