HRMS migration
Field-level mapping, validation, and rollback between HigherMe and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
HigherMe
Source
Bullhorn ATS & CRM
Destination
Compatibility
8 of 12
objects map 1:1 between HigherMe and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from HigherMe to Bullhorn is a migration across two different ATS philosophies: HigherMe is a mobile-first hourly hiring platform built for franchise and multi-location restaurant and retail operators, while Bullhorn is a staffing-agency ATS with CRM, placement tracking, and back-office modules. The primary mapping challenge is converting HigherMe's candidate-centric, location-scoped data model into Bullhorn's Lead, Contact, Company, and Job entity structure. We preserve fit-score values as custom numeric fields, store screening question responses as text blobs in custom fields, and retain video application URLs as link fields since Bullhorn does not host video within the ATS. Multi-location HigherMe tenants require tenant-aware chunking by store identifier to prevent cross-location applicant contamination in the destination. We do not migrate background check results (third-party managed, API-inaccessible), onboarding documents (HigherMe HR Software is a separate product), or payroll records (Payroll product is distinct from ATS). Bullhorn workflows and Bullhorn Canvas configurations do not migrate as code; we deliver a written inventory for the customer's admin to rebuild post-cutover.
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 HigherMe 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.
HigherMe
Job/Posting
Bullhorn ATS & CRM
Job Order
1:1HigherMe job postings (title, description, location, screening questions, fit-score weighting, and job board distribution status) map to Bullhorn JobOrder records. The HigherMe store identifier maps to a custom JobOrder field store_id__c that we create during schema setup. Bullhorn JobOrder is the primary record type for publishing; we map the job title, description, and address fields directly. Screening question configuration does not migrate as Bullhorn Intake Forms; we document the screening question set as a custom field group for the Bullhorn admin to rebuild in Bullhorn's intake form builder.
HigherMe
Candidate
Bullhorn ATS & CRM
Lead and Contact (split by application status)
1:manyHigherMe's unified Candidate record, which aggregates all applications across jobs and locations for the same individual, maps to Bullhorn Lead for candidates not yet placed and Bullhorn Contact (attached to a Bullhorn Corporate record) for candidates who have been hired or have an active placement. We split at migration time using the HigherMe application status field. Name, email, phone, work authorization status, and geographic distance from the job location transfer as standard Bullhorn fields. The candidate's original HigherMe candidate ID is preserved in a custom field higherme_candidate_id__c for reconciliation.
HigherMe
Application
Bullhorn ATS & CRM
Candidate (JobSubmission)
1:1Each HigherMe Application (a candidate's response to a specific job posting) maps to a Bullhorn Candidate record with the JobOrder reference stored in a custom field originating_job_id__c. Application-level data including availability windows, screening question answers, fit-score output, and application source channel transfer as custom fields. The application status (applied, interviewed, offered, hired, rejected) maps to a Bullhorn Candidate custom status field migration_status__c because Bullhorn Candidate status follows a placement-centric model that does not match HigherMe's hiring-pipeline stages.
HigherMe
Fit Score
Bullhorn ATS & CRM
Custom Numeric Field (fitscore__c)
lossyHigherMe fit scores (0-100, computed per application from availability match, distance from location, and screening question responses) map to a Bullhorn Candidate custom numeric field fitscore__c that we create on the Candidate entity during schema setup. Bullhorn does not have a native fit-score model; this field is informational and used for sorting during reconciliation. We preserve the fit-score weighting configuration as a migration artifact document for the Bullhorn admin if they want to implement equivalent scoring in Bullhorn Amplify or a custom Flow.
HigherMe
Screening Questions
Bullhorn ATS & CRM
Custom Fields on Candidate
lossyHigherMe custom screening questions per job (single-choice, multi-choice, and free-text types with weighted scoring) map to Bullhorn Candidate custom fields. Each screening question becomes a custom field named with the pattern sq_question_<number>__c using the appropriate Bullhorn field type (picklist for single/multi-choice, text area for free-text). The weighted scoring configuration is preserved as a field description and migration artifact; Bullhorn does not natively compute weighted screening scores, so the customer admin configures any automated scoring in Bullhorn Workflows post-migration.
HigherMe
Video Application
Bullhorn ATS & CRM
Custom URL Field (video_url__c)
1:1HigherMe 30-second video cover letters stored as hosted media URLs migrate to a Bullhorn Candidate custom URL field video_url__c. Bullhorn does not host video content natively. We preserve the URL reference and duration metadata as a text field video_duration__c. Candidates with video applications should be notified that re-recording in Bullhorn's supported format may be required for active recruitment campaigns; we flag this in the cutover handoff document.
HigherMe
Location/Store
Bullhorn ATS & CRM
ClientCorporation with custom location fields
1:1HigherMe store locations (address, store identifier, and manager assignment) map to Bullhorn ClientCorporation records with a custom field store_id__c matching the HigherMe location identifier. The first Candidate migration pass uses store_id__c to route applicant records to the correct ClientCorporation. Bullhorn does not have a native multi-location hierarchy; franchise customers using Bullhorn Corporate typically configure a ClientCorporation per store or per region depending on reporting needs. We document the location inventory during scoping and coordinate the structure with the customer's Bullhorn admin before migration.
HigherMe
WOTC Records
Bullhorn ATS & CRM
Custom Object or Custom Fields on Candidate
lossyHigherMe WOTC eligibility questionnaire responses and associated tax credit data attach to the candidate record. We migrate the questionnaire answers as a set of custom Candidate fields (wotc_eligible__c as checkbox, wotc_questionnaire_blob__c as long text) and the eligibility flag as wotc_status__c. Bullhorn Custom Objects (available from Bullhorn ATS Growth tier with 2 objects or Bullhorn Front Office Growth/Enterprise with 10 objects at 55 fields each) are the supported way to capture structured WOTC data if the customer needs a dedicated record type. We recommend the Custom Object approach for customers with high WOTC claim volume. Note that WOTC eligibility is US-specific and has no equivalent in non-US Bullhorn deployments.
HigherMe
Interview Event
Bullhorn ATS & CRM
Task and Event
1:1HigherMe interview scheduling (date/time, interviewer assignment, interview type: phone, video, in-person) maps to Bullhorn Task records with TaskSubtype set appropriately. Interviewer assignment resolves by email against Bullhorn User records. Interview notes and structured feedback attached to the application migrate as separate Task records with a custom field feedback_type__c. The interview event status (scheduled, completed, cancelled) maps to the Task Status field.
HigherMe
Notes and Feedback
Bullhorn ATS & CRM
Note
1:1HigherMe manager notes and structured feedback attached to applications (free-text with author and timestamp) map to Bullhorn Note records linked via ContentDocumentLink to the parent Candidate record. Multi-author notes maintain the original author as a Note custom field. Bullhorn's Note object supports rich text; we preserve formatting where present in the source.
HigherMe
Background Check
Bullhorn ATS & CRM
Not migrated
1:1HigherMe background check results flow through integrated third-party providers (First Advantage and similar) and are not stored as readable records within the HigherMe ATS API. We do not migrate background check data. We document the provider name and the date of the last check for each candidate with an active check on file as a migration artifact. The customer coordinates re-initiating background checks in Bullhorn or their preferred third-party provider post-migration.
HigherMe
Onboarding Documents
Bullhorn ATS & CRM
Not migrated
1:1Post-hire onboarding documents, I-9 forms, and new-hire paperwork live in HigherMe HR Software, which is a separate product tier from the ATS. These records are not accessible via the HigherMe ATS API and fall outside our migration scope. We flag this boundary upfront during scoping. If the customer requires onboarding continuity, they should plan a parallel HR migration or accept manual re-documentation for new hires. Bullhorn Back Office (when licensed) handles post-placement onboarding workflows but does not import I-9 document blobs from HigherMe.
| HigherMe | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Job/Posting | Job Order1:1 | Fully supported | |
| Candidate | Lead and Contact (split by application status)1:many | Fully supported | |
| Application | Candidate (JobSubmission)1:1 | Fully supported | |
| Fit Score | Custom Numeric Field (fitscore__c)lossy | Fully supported | |
| Screening Questions | Custom Fields on Candidatelossy | Mapping required | |
| Video Application | Custom URL Field (video_url__c)1:1 | Fully supported | |
| Location/Store | ClientCorporation with custom location fields1:1 | Fully supported | |
| WOTC Records | Custom Object or Custom Fields on Candidatelossy | Mapping required | |
| Interview Event | Task and Event1:1 | Fully supported | |
| Notes and Feedback | Note1:1 | Mapping required | |
| Background Check | Not migrated1:1 | Fully supported | |
| Onboarding Documents | Not migrated1:1 | Not 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.
HigherMe gotchas
Onboarding data lives outside the ATS scope
Video application blobs are hosted URLs, not transferable files
Background checks are third-party managed and inaccessible
International applicants require manual filtering or auto-reject configuration
Multi-location data requires tenant-aware chunking
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 location inventory
We audit the HigherMe tenant for all active and archived job postings, candidate records, applications, interview events, screening question sets, WOTC questionnaire data, and fit-score history. We collect a location inventory spreadsheet from the customer covering every store identifier, address, and manager assignment. We also confirm the Bullhorn edition (Bullhorn ATS, Bullhorn Corporate, or Bullhorn Enterprise) and identify which Bullhorn modules are licensed (ATS/CRM, Bullhorn Amplify, Bullhorn Back Office, Canvas) because edition determines Custom Object availability and field limits. The discovery output is a written migration scope with object counts, location list, and Bullhorn edition confirmation.
Schema design in Bullhorn Sandbox
We provision a Bullhorn Sandbox (Full Copy or Partial Copy) and build the destination schema before any production data moves. This includes creating custom Candidate fields for fit score (fitscore__c, numeric), screening questions (sq_question_<n>__c, type per question), video URL (video_url__c, URL), video duration (video_duration__c, text), WOTC eligibility (wotc_eligible__c, checkbox) and WOTC status (wotc_status__c, text), application source (app_source__c, text), migration status (migration_status__c, text), and the HigherMe ID reference (higherme_candidate_id__c, text). We create ClientCorporation records for each store location with store_id__c populated. Bullhorn Custom Objects (if licensed) are created for WOTC compliance data if the customer has high claim volume.
Sandbox migration and reconciliation
We run a full migration into the Bullhorn Sandbox using production-like data volume extracted from HigherMe. The customer's Bullhorn admin and HR lead reconcile record counts (Candidates in, Jobs in, Interview Events in), spot-check 25-50 random records against the HigherMe source for field-level accuracy, and validate that fit scores, screening question responses, and WOTC data landed correctly in the custom fields. Any mapping corrections happen in the Sandbox before production migration. Bullhorn's standard data import covers up to 15,000 records; larger volumes may require Bullhorn Professional Services coordination or our bulk API approach.
Owner and User reconciliation
We extract every distinct HigherMe user (store managers, recruiters, franchise operators) referenced on job postings, applications, and interview events and match them by email against the Bullhorn destination org's User table. Any HigherMe user without a matching Bullhorn User goes to a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active or inactive depending on the original user's current status) before production migration begins. Bullhorn User provisioning cannot be automated by FlitStack AI because Bullhorn does not expose user creation via the standard REST API for external callers.
Production migration in dependency order
We run production migration in record-dependency order: ClientCorporation records (with store_id__c, created first for location routing), JobOrder records (mapped from HigherMe job postings), Candidates and Leads (with the application-status-based split applied), Interview Event Tasks and Event records (with User resolution for interviewer assignment), Notes and Feedback (linked via ContentDocumentLink), and WOTC custom fields or Custom Object records. Multi-location data is chunked by store identifier and imported in location batches to prevent cross-store applicant contamination. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta sync, and workflow handoff
We freeze HigherMe writes during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver a written migration artifact covering: complete list of Bullhorn Workflows and Bullhorn Canvas configurations that require manual rebuild, Bullhorn Amplify configuration guide if the customer licensed the module, WOTC compliance field documentation, and the background check provider list with last-check dates for candidates requiring re-initiation. We support a one-week hypercare window for reconciliation issues. We do not rebuild Bullhorn Workflows or Canvas as part of standard migration scope.
Platform deep dives
HigherMe
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between HigherMe and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across HigherMe and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between HigherMe 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
HigherMe: Not publicly documented.
Data volume sensitivity
HigherMe 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 HigherMe to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your HigherMe 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 HigherMe
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.