HRMS migration
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
Source
Bullhorn ATS & CRM
Destination
Compatibility
8 of 13
objects map 1:1 between Wizehire and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
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.
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 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
Bullhorn ATS & CRM
JobOrder
1:1WizeHire 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
Bullhorn ATS & CRM
Candidate
1:manyWizeHire 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
Bullhorn ATS & CRM
JobSubmission
1:1WizeHire 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
Bullhorn ATS & CRM
Custom Object (customObject1)
lossyWizeHire 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
Bullhorn ATS & CRM
Custom Object (customObject2) or Note
1:1WizeHire 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
Bullhorn ATS & CRM
Custom Fields or Note
lossyWizeHire 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
Bullhorn ATS & CRM
Custom Fields on Candidate
1:1WizeHire 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
Bullhorn ATS & CRM
Sales Process + JobOrder Status
lossyWizeHire'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
Bullhorn ATS & CRM
Note or External Document
1:1WizeHire 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
Bullhorn ATS & CRM
Note on JobOrder
1:1WizeHire 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
Bullhorn ATS & CRM
Note
1:1Hiring 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
Bullhorn ATS & CRM
Custom Fields or Multi-Select Picklist
lossyWizeHire 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
Bullhorn ATS & CRM
User
1:1WizeHire 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.
| Wizehire | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Jobs | JobOrder1:1 | Fully supported | |
| Candidates | Candidate1:many | Fully supported | |
| Applications | JobSubmission1:1 | Fully supported | |
| DISC+ Assessments | Custom Object (customObject1)lossy | Mapping required | |
| Scorecards | Custom Object (customObject2) or Note1:1 | Mapping required | |
| Screening Questions | Custom Fields or Notelossy | Mapping required | |
| Background Checks | Custom Fields on Candidate1:1 | Mapping required | |
| Hiring Pipeline Stages | Sales Process + JobOrder Statuslossy | Mapping required | |
| Job Templates | Note or External Document1:1 | Mapping required | |
| Interview Guides | Note on JobOrder1:1 | Mapping required | |
| Candidate Notes | Note1:1 | Mapping required | |
| Candidate Tags | Custom Fields or Multi-Select Picklistlossy | Mapping required | |
| User/Team Members | User1:1 | Mapping required |
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.
Wizehire gotchas
Billing does not stop when all jobs are closed
No documented public bulk API
Candidate duplication across multiple job postings
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 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.
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.
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.
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.
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.
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.
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
Wizehire
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Wizehire and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Wizehire and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between Wizehire and Bullhorn ATS & CRM.
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
Wizehire: Not applicable..
Data volume sensitivity
Wizehire 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 Wizehire to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Wizehire
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.