HRMS migration

Migrate from Wizehire to Bullhorn ATS & CRM

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

Wizehire logo

Wizehire

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

62%

8 of 13

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Wizehire and Bullhorn serve different segments of the recruiting market, and the migration reflects that gap. Wizehire is a flat-rate SMB hiring platform where each job posting distributes to 100+ boards and candidates are tracked per application in a simple pipeline. Bullhorn is an agency-grade ATS and CRM where a single Candidate record links across multiple JobOrders, Placements, and ClientCorporations, and where the data model includes a full back-office layer for temp-to-perm billing. We resolve Wizehire's candidate-duplication issue during scoping (the same person applied to two jobs becomes two separate Wizehire records), map each pipeline stage to a Bullhorn JobOrder status and custom Sales Process, and load DISC+ psychometric results as custom objects on the Candidate. Wizehire has no documented public bulk export API, so we coordinate directly with Wizehire support to obtain normalized data packages before migration begins. Bullhorn enforces API rate limits of 1,500 calls per minute and 100,000 calls per month on standard editions; the ATS Growth edition does not include API access at all. Workflows, interview guides, and job templates do not migrate as code; we deliver written inventories for your Bullhorn admin to rebuild using Bullhorn's Field Mappings and Automation tools.

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

Wizehire logo

Wizehire

What's pushing teams away

  • Does not have the technology enhancements of traditional ATS systems — enterprise users switching from tools like Greenhouse or Lever find it feels limited, clunky, and lacking in configurability.
  • Interview request tools are not very customizable — teams that need structured, branded interview workflows outgrow what WizeHire offers out of the box.
  • Candidate applications are not linked across multiple jobs — the same person applying to two different roles creates two separate candidate records with no shared profile to consolidate them.
  • Messaging and candidate communication features are unreliable — users report that in-app messaging sometimes fails to deliver, creating gaps in candidate conversation history.
  • Job board placement is not premium by default — getting featured placement on job boards requires paying an additional fee on top of the subscription, which surprises customers who expected inclusive distribution.

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

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

Wizehire

Jobs

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

WizeHire Jobs map to Bullhorn JobOrder. Each Job carries title, description, status (open/closed/paused), location, and department. WizeHire's per-account pipeline stage names (Applied, Screening, Interview, Offer, Hired, Rejected or custom variants) map to Bullhorn JobOrder status values via a Sales Process we configure before migration. Job status (open/paused/closed) maps to the Bullhorn isDeleted flag and jobOrderStatus field. Job board distribution history from WizeHire does not transfer as integration records; we document the list of boards for reconfiguration in Bullhorn via Bullhorn Marketplace or manual setup.

Wizehire

Candidates

maps to

Bullhorn ATS & CRM

Candidate

1:many
Fully supported

WizeHire Candidate records map to Bullhorn Candidate. WizeHire creates a separate Candidate record for each application, so a single person who applied to two different jobs appears as two separate WizeHire records. During migration we identify these duplicates by comparing name, email, and phone across all WizeHire Candidate records and consolidate them into a single Bullhorn Candidate. The original WizeHire application IDs are preserved as custom fields on the Bullhorn Candidate so the audit trail is complete. Resume files attach to the Bullhorn Candidate via ContentDocumentLink.

Wizehire

Applications

maps to

Bullhorn ATS & CRM

JobSubmission

1:1
Fully supported

WizeHire Application records (linking a Candidate to a Job with a status and stage-transition timestamps) map to Bullhorn JobSubmission. The JobSubmission record links the Candidate and JobOrder and stores the candidate's status within that specific job pipeline. Stage-transition timestamps (Applied date, Screening date, Interview date, Offer date, Hire date, Rejection date) migrate as custom date fields on the JobSubmission to preserve the full audit trail. If the candidate was rejected, the rejection date and reason migrate to the JobSubmission record.

Wizehire

DISC+ Assessments

maps to

Bullhorn ATS & CRM

Custom Object (customObject1)

lossy
Mapping required

WizeHire stores DISC+ personality profile results per Candidate as structured data covering Dominance, Influence, Steadiness, and Conscientiousness dimensions plus an overall profile type. Bullhorn has no native DISC+ field, so we create a custom object (customObject1s) assigned to the Candidate entity in Bullhorn with text fields for each dimension and a profile type field. We use Bullhorn's custom object metadata API to verify the available custom object assignments before creating the schema. The DISC+ raw score and narrative text migrate as separate fields within the custom object.

Wizehire

Scorecards

maps to

Bullhorn ATS & CRM

Custom Object (customObject2) or Note

1:1
Mapping required

WizeHire scorecards store custom evaluation criteria and per-candidate scores assigned by hiring managers. Scorecard templates (criteria names, weightings) and per-application scores migrate to a Bullhorn custom object (customObject2s) on the JobSubmission or Candidate. If the scorecard data is simple (criteria + numeric score), we evaluate whether to store it as a Note with structured text format instead of a custom object to conserve custom object inventory. The customer's Bullhorn admin decides the storage strategy during scoping.

Wizehire

Screening Questions

maps to

Bullhorn ATS & CRM

Custom Fields or Note

lossy
Mapping required

WizeHire stores custom pre-screening question text and candidate responses per Job per Application. Question text migrates as a Note attached to the JobOrder for documentation. Candidate responses migrate as a custom text area field on JobSubmission (customField4, for example) if the number of questions is consistent across all jobs. If jobs have varying question sets, we document the question-response mapping per Job in a separate JSON configuration file for the customer's Bullhorn admin to rebuild as custom fields on each relevant JobOrder.

Wizehire

Background Checks

maps to

Bullhorn ATS & CRM

Custom Fields on Candidate

1:1
Mapping required

WizeHire stores background check pass/fail flags and provider names as fields on the Candidate or Application. These migrate to Bullhorn custom fields on the Candidate record (customBoolean1 for pass/fail, customText1 for provider name). Full background check report documents migrate as ContentDocument records linked to the Candidate via ContentDocumentLink. We flag any background check data for explicit customer sign-off before migration since this may include sensitive PII subject to regional compliance requirements.

Wizehire

Hiring Pipeline Stages

maps to

Bullhorn ATS & CRM

Sales Process + JobOrder Status

lossy
Mapping required

WizeHire's customizable pipeline (Applied, Screening, Interview, Offer, Hired, Rejected or account-specific variants) maps to Bullhorn's JobOrder status field within a Bullhorn Sales Process. We export the full stage name and order from WizeHire and configure a Bullhorn Sales Process that whitelists the exact stage values in the same order. Stage probabilities from WizeHire map to the corresponding Bullhorn stage probability percentages. The Sales Process is assigned to a Record Type on JobOrder that matches the customer's placement type (direct hire, temp-to-perm, contract).

Wizehire

Job Templates

maps to

Bullhorn ATS & CRM

Note or External Document

1:1
Mapping required

WizeHire provides 100+ industry-tested job templates stored as organizational configuration data. We export templates as structured text records and handle them as documentation in the migration handoff. Bullhorn does not have a native job template object; templates are re-created using Bullhorn's JobOrder duplication feature or stored as Notes on a designated Bullhorn Admin JobOrder that the customer's team references when creating new jobs. We deliver a CSV of template names and content for the Bullhorn admin to load.

Wizehire

Interview Guides

maps to

Bullhorn ATS & CRM

Note on JobOrder

1:1
Mapping required

WizeHire Interview Guides are attached to Jobs and outline questions and evaluation criteria. Bullhorn has no native interview guide object. We export interview guide text per Job and attach it as a Note on the corresponding Bullhorn JobOrder with a type of 'Interview Guide'. Bullhorn's Field Mappings tool allows the admin to add a custom Interview Guide label if they want a visible custom field on the JobOrder layout instead of using Notes.

Wizehire

Candidate Notes

maps to

Bullhorn ATS & CRM

Note

1:1
Mapping required

Hiring team notes stored in WizeHire on Candidate profiles (text entries with author name and timestamp) migrate to Bullhorn Note records attached to the Candidate. The Note body preserves the full text. We set the Note's createdDate to the original WizeHire timestamp to preserve the chronological order of the candidate's evaluation history. Author attribution migrates as the Note's ownedBy field by resolving the WizeHire user email against Bullhorn User records.

Wizehire

Candidate Tags

maps to

Bullhorn ATS & CRM

Custom Fields or Multi-Select Picklist

lossy
Mapping required

WizeHire users tag candidates with custom labels for filtering and segmentation. Tags stored as a list per Candidate migrate to Bullhorn custom fields on the Candidate record. If the tag vocabulary is consistent and bounded (fewer than 50 distinct tags), we create a custom multi-select picklist field and map each tag to a picklist value. If the vocabulary is unbounded or frequently changing, we use a custom text field and store tags as comma-separated values. The customer decides the strategy during scoping.

Wizehire

User/Team Members

maps to

Bullhorn ATS & CRM

User

1:1
Mapping required

WizeHire user accounts (hiring managers, admins) with roles and names migrate as Bullhorn User records. We export WizeHire users by email and name and match by email against the Bullhorn destination org's User table. Any WizeHire user without a matching Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision before record migration proceeds. OwnerId references on JobOrder, Candidate, and JobSubmission are resolved at migration time using the User mapping.

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.

Wizehire logo

Wizehire gotchas

High

Billing does not stop when all jobs are closed

High

No documented public bulk API

Medium

Candidate duplication across multiple job postings

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

  • WizeHire has no documented public bulk export API

    WizeHire does not publish a bulk export endpoint in its developer documentation. All migration data must be requested through WizeHire support or manually exported from the application interface. We coordinate directly with WizeHire support to obtain data in a format we can normalize and transform, which may add one to two weeks of lead time to the project before migration begins. We flag this constraint in the discovery call and plan the data-request timeline as the first critical path item.

  • Bullhorn ATS Growth edition excludes API access

    Bullhorn's ATS Growth edition (formerly Team Edition) does not include API access, which means bulk data migration through Bullhorn's REST API is not available on that tier. If the destination Bullhorn instance is ATS Growth, we must use Bullhorn's manual import wizard with CSV files, which has a 15,000-record limit per import. Records above that threshold require Bullhorn professional services or a staged import approach. We verify the Bullhorn edition during scoping and adjust the migration method accordingly.

  • Duplicate Candidate records require pre-migration deduplication

    WizeHire creates a separate Candidate record each time a person applies to a different job posting, even if that person already exists in the system. During migration, this produces duplicate Bullhorn Candidate records that must be identified and resolved before insert to avoid creating multiple records for the same person. We run a deduplication pass during the transform phase using name, email, and phone as matching keys, flag the duplicates for customer review, and consolidate them into a single Bullhorn Candidate before load. This step adds scope to the discovery and transform phases.

  • Bullhorn custom fields are limited per entity

    Bullhorn limits the number of custom fields available per entity (Candidate, JobOrder, JobSubmission, etc.). The Field Mappings article in Bullhorn's documentation notes that each entity has a finite pool of custom fields, and administrators should use the highest-numbered unused custom fields first to conserve the lower-numbered fields for future needs. We audit the full custom field requirement (DISC+ dimensions, screening questions, background check flags, scorecard values) during scoping and reserve the required custom field slots before migration begins. If the migration requires more custom fields than available, we create Bullhorn custom objects as an alternative storage layer.

  • Billing continues in WizeHire even when all jobs are closed

    WizeHire charges the monthly subscription continuously regardless of whether any job postings are active. Customers expecting their subscription to pause when not actively hiring receive surprise billing charges. We flag this on the migration planning call. The customer should cancel or downgrade their WizeHire subscription before migration cutover to avoid ongoing charges for a platform they are no longer actively using. We do not coordinate billing cancellation directly; the customer handles this with WizeHire's billing team.

Migration approach

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

  1. Discovery and Bullhorn edition verification

    We audit the WizeHire account across active jobs, total candidates, application count, DISC+ assessment volume, scorecard templates, pipeline stage names, and user accounts. We simultaneously verify the destination Bullhorn edition (Growth, Pro, Enterprise) to confirm API availability and custom field inventory. If the destination is ATS Growth, we switch to a CSV-based import method and alert the customer to the 15,000-record limit. We also request data exports from WizeHire support during this phase, which begins the one-to-two-week lead time for obtaining the raw export. The discovery output is a written migration scope with record counts per object and a Bullhorn edition confirmation.

  2. Data normalization and deduplication

    We receive WizeHire export files and normalize them into a FlitStack AI staging format. This includes parsing application-stage timestamps, flattening DISC+ assessment JSON into structured fields, normalizing screening question and answer pairs, and running the candidate deduplication pass (name + email + phone) to identify WizeHire duplicate records. We produce a deduplication report listing the duplicate clusters and the recommended consolidation action (keep the most recent record, merge notes, merge application history). The customer reviews and approves the deduplication decisions before we proceed to the transform phase.

  3. Bullhorn schema preparation

    We design and deploy the Bullhorn destination schema in a Sandbox org (Full Copy or Partial Copy). This includes creating custom objects for DISC+ results and scorecards using Bullhorn's customObject1-10 assignments, reserving custom fields on JobOrder and JobSubmission for pipeline stages and screening questions, configuring a Sales Process with WizeHire stage names mapped to Bullhorn status values, and creating Record Types on JobOrder for each placement type in scope. Bullhorn field mapping configuration is done via the Admin > Field Mappings interface. Schema validation runs in the Sandbox before any production data moves.

  4. Sandbox migration and reconciliation

    We run a full migration into the Bullhorn Sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, JobOrders in, JobSubmissions in, Notes in, custom objects in) and spot-checks 25-50 random records against the WizeHire source. Bullhorn's API rate limits (1,500 calls/min, 100,000 calls/month on standard editions) are respected via exponential backoff during Sandbox migration. The admin validates DISC+ custom object fields, pipeline stage labels, and note chronology. Any mapping corrections are made and the Sandbox migration is re-run before production cutover.

  5. User provisioning and owner reconciliation

    We extract every distinct WizeHire user referenced on JobOrders, Candidates, and JobSubmissions and match by email against the Bullhorn destination org's User table. Users without a matching Bullhorn User go to a reconciliation queue. The customer's Bullhorn admin provisions any missing users and assigns the appropriate Bullhorn role (recruiter, hiring manager, admin) before production migration begins. Migration cannot proceed past this step because OwnerId references on Bullhorn records require a valid User lookup.

  6. Production migration in dependency order

    We run production migration in record-dependency order: ClientCorporations (if any company records exist), JobOrders (using the configured Sales Process and Record Types), Candidates (with deduplication applied), JobSubmissions (linking Candidate and JobOrder with stage timestamps), Notes (for candidate notes and interview guides), custom objects (DISC+ results, scorecards), and custom fields (background check flags, candidate tags). Each phase emits a row-count reconciliation report. Bullhorn API rate limits and concurrent session limits are enforced throughout. During cutover we freeze WizeHire writes, run a final delta migration of any records modified during the window, and enable Bullhorn as the system of record.

  7. Handoff, validation, and workflow inventory delivery

    We deliver a written inventory of WizeHire job templates, interview guides, and any configuration items that cannot migrate as data (these are documented separately for the Bullhorn admin to rebuild). We deliver the DISC+ custom object schema and any unused custom field reservation list. We conduct a live validation session with the customer's Bullhorn admin to confirm record counts and spot-check five to ten records in the live Bullhorn instance. We offer a one-week hypercare window for reconciliation issues. We do not rebuild WizeHire automations or interview request workflows as Bullhorn Automation; those are documented in the handoff inventory for the customer's Bullhorn admin or implementation partner to address as a separate engagement.

Platform deep dives

Context on both ends of the pair

Wizehire logo

Wizehire

Source

Strengths

  • Single job post distributes to 100+ job boards simultaneously without manual reposting.
  • DISC+ personality assessment is included at every tier, giving small teams structured candidate evaluation out of the box.
  • Hiring coaches provide human guidance on job ad writing, candidate filtering, and offer decisions.
  • Flat monthly pricing ($249–$449) is predictable and far below enterprise ATS monthly seat costs.
  • Integrates directly with ADP for payroll sync and HRIS integrations, reducing downstream onboarding friction.

Weaknesses

  • Interview request and communication tools are limited compared to traditional ATS platforms.
  • No native feature for linking the same candidate across multiple open roles — candidates are siloed per application.
  • Premium job board placement is not included in the base subscription and requires an additional paid add-on.
  • API documentation is not publicly available, limiting automated migration and integration options.
  • Billing continues even when all job postings are closed, which surprises customers expecting their subscription to pause.
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. All 7 core objects map 1:1 between Wizehire and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Wizehire and Bullhorn ATS & CRM.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Wizehire and Bullhorn ATS & CRM.

  • 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

    Wizehire: Not applicable..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Wizehire 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 three and five weeks for accounts under 5,000 Candidates and 500 Jobs with no custom object creation required. Migrations requiring DISC+ custom object creation, Bullhorn Sandbox validation, multi-division pipeline configuration, or more than 5,000 Candidates extend to seven to twelve weeks. The primary variable is the one-to-two-week lead time for obtaining WizeHire data exports through their support team before migration can begin. Bullhorn ATS Growth edition migrations use a manual CSV method that also extends timeline due to the 15,000-record import limit per batch.

Adjacent paths

Related migrations to explore

Ready when you are

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