HRMS migration
Field-level mapping, validation, and rollback between GoHire and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
GoHire
Source
Bullhorn ATS & CRM
Destination
Compatibility
11 of 13
objects map 1:1 between GoHire and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from GoHire to Bullhorn is a migration from an SMB-focused ATS with a flat-rate pricing model to an enterprise staffing platform with per-user licensing and a combined ATS and CRM. GoHire has no documented public API, so we extract data through the admin panel export and reconstruct it in Bullhorn's REST API with field-level mapping for every object. Bullhorn's JobOrder object replaces GoHire's Job; Bullhorn's Candidate replaces GoHire's Candidate; GoHire's Application records map to Bullhorn's JobSubmission with source attribution preserved. Pipeline stages map to Bullhorn's Opportunity record types and sales processes, which we configure before any data loads. Custom properties discovered at scan time become Bullhorn custom fields or custom objects depending on the customer's edition tier. Job board distribution metadata from GoHire's multi-posting layer is preserved as structured fields on JobOrder so re-syndication to Indeed, Monster, and other boards is possible without re-entry. We do not migrate workflows, automated candidate communications, or GoHire's built-in scheduling links; these require manual rebuild in Bullhorn's platform.
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 GoHire 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.
GoHire
Job
Bullhorn ATS & CRM
JobOrder
1:1GoHire Job records map to Bullhorn JobOrder with job title, description, requirements, department, location, and open/closed status transferred as structured fields. GoHire's job board distribution metadata (which boards the job was published to) transfers as structured fields on JobOrder so Bullhorn's own job board connectors can re-syndicate without re-entry. Indeed formatting compliance issues flagged during scan (where GoHire jobs may have failed Indeed's content standards) are surfaced before import so the customer can remediate before jobs appear in Bullhorn.
GoHire
Candidate
Bullhorn ATS & CRM
Candidate
1:1GoHire Candidate profiles transfer directly to Bullhorn Candidate records. Contact information, work history, skills, and application metadata map to Bullhorn's standard Candidate fields. Resume files are exported via GoHire's built-in bulk download tool (an admin-panel action, not an API endpoint) and reimported as Bullhorn Candidate attachments. We flag this bulk export requirement during migration kickoff so the customer exports resumes before closing GoHire access.
GoHire
Application
Bullhorn ATS & CRM
JobSubmission
1:1GoHire Application records link a Candidate to a Job and carry source attribution (which job board, direct link, or careers page generated the application). We preserve this linkage and source channel as the submissionDate, source, and humanSubmitter fields on Bullhorn JobSubmission. The Candidate-to-JobOrder relationship is resolved at migration time using the Job mapping.
GoHire
Pipeline Stage
Bullhorn ATS & CRM
Opportunity Stage
lossyGoHire pipeline stages are configurable per job and vary by customer setup. We map source stage names to Bullhorn Opportunity stages using a naming convention agreed with the customer during scoping. Stage probability percentages transfer to Bullhorn StageProbability. If the customer uses multiple GoHire pipelines, each maps to a Bullhorn Record Type on Opportunity with its own Sales Process whitelisting the relevant stages.
GoHire
Screening Question
Bullhorn ATS & CRM
Custom Fields on JobSubmission
1:1GoHire custom screening questions attached to a Job are stored as custom fields. Their response values transfer as structured data to Bullhorn custom fields on JobSubmission. The question text itself (as opposed to the candidate's answer) is preserved in a separate document delivered as part of the migration inventory so the customer's Bullhorn admin can recreate the screening question in Bullhorn's form builder.
GoHire
Interview Event
Bullhorn ATS & CRM
Event
1:1GoHire interview scheduling records and associated calendar invite metadata transfer as Bullhorn Event records linked to the Candidate and JobOrder. We do not transfer GoHire's own self-scheduling link preferences, Google Meet vs Outlook meeting link types, or calendar invite settings. These require manual configuration in Bullhorn Calendar Settings post-migration.
GoHire
Team Member
Bullhorn ATS & CRM
User
1:1GoHire hiring team member accounts (recruiters, hiring managers) transfer as Bullhorn User records. Role-based permissions from GoHire map to Bullhorn UserType (Admin, Standard, Limited) and the relevant Bullhorn permission sets. Users without a matching Bullhorn account enter a reconciliation queue for the customer's admin to provision before record import completes.
GoHire
Custom Property (Job)
Bullhorn ATS & CRM
Custom Field on JobOrder
1:1GoHire custom fields on Jobs are discovered at scan time and mapped to equivalent Bullhorn custom fields on JobOrder. Field types (text, number, date, picklist) are matched to Bullhorn field types. If the customer's Bullhorn edition limits custom fields on JobOrder, custom properties are promoted to a Custom Object with a lookup to JobOrder.
GoHire
Custom Property (Candidate)
Bullhorn ATS & CRM
Custom Field on Candidate
1:1GoHire custom fields on Candidates are discovered at scan time and mapped to equivalent Bullhorn custom fields on Candidate. Multi-select picklists from GoHire map to Bullhorn multi-select picklist fields. Any custom properties exceeding Bullhorn's per-entity field limits migrate to a Custom Object with a Candidate lookup.
GoHire
Company/Employer
Bullhorn ATS & CRM
ClientCorporation
1:1GoHire stores employer or client information linked to jobs as structured records. These map to Bullhorn ClientCorporation with company name, address, industry, and contact information. If GoHire does not maintain a separate employer record (many GoHire setups store this data only within the Job), we create ClientCorporation records from Job data during transformation.
GoHire
Job Board Metadata
Bullhorn ATS & CRM
JobOrder ExternalReference + Custom Fields
1:1GoHire's multi-job-board distribution layer records which boards (Indeed, Monster, CareerBuilder, SimplyHired) received each job listing and the posting status on each. This metadata transfers as structured fields on JobOrder (externalReference, boardName, postingStatus) so Bullhorn's own job board connectors can identify re-syndication requirements. If any GoHire jobs failed Indeed formatting compliance, we flag those separately before import.
GoHire
Candidate Note
Bullhorn ATS & CRM
Note
1:1GoHire notes attached to Candidates migrate as Bullhorn Note records linked via ContentDocumentLink to the parent Candidate record. Note body migrates as text with attachment references preserved as separate ContentDocument records. Timestamps are preserved for activity timeline ordering.
GoHire
Careers Page Configuration
Bullhorn ATS & CRM
Template Documentation
lossyGoHire's built-in careers page builder configuration transfers as a written template document describing the job board categories, branding elements, filtering options, and styling choices. We do not migrate careers page code; the customer's Bullhorn admin rebuilds the careers page using Bullhorn's Career Portal (an open-source GitHub-hosted tool) or a CMS-based approach.
| GoHire | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Job | JobOrder1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Application | JobSubmission1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Screening Question | Custom Fields on JobSubmission1:1 | Fully supported | |
| Interview Event | Event1:1 | Fully supported | |
| Team Member | User1:1 | Fully supported | |
| Custom Property (Job) | Custom Field on JobOrder1:1 | Fully supported | |
| Custom Property (Candidate) | Custom Field on Candidate1:1 | Fully supported | |
| Company/Employer | ClientCorporation1:1 | Fully supported | |
| Job Board Metadata | JobOrder ExternalReference + Custom Fields1:1 | Fully supported | |
| Candidate Note | Note1:1 | Fully supported | |
| Careers Page Configuration | Template Documentationlossy | 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.
GoHire gotchas
Job board standards compliance affects migration completeness
Bulk resume export requires GoHire account access
No documented public API for automated extraction
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 GoHire export coordination
We audit the customer's GoHire account at scan time covering active jobs, candidate records, application history, pipeline stage names, custom properties, team member accounts, and job board distribution metadata. Because GoHire has no API, we request a full data export from GoHire's admin panel (including bulk resume download) during kickoff. We validate the export completeness against our scan counts and surface any gaps before transformation begins. We also confirm the customer's target Bullhorn edition and whether Bullhorn Support provisioning is needed for custom objects.
Bullhorn schema design and sandbox provisioning
We design the destination Bullhorn schema based on the customer's target edition tier. This includes mapping GoHire pipeline stages to Bullhorn Opportunity Record Types and Sales Processes, creating custom fields to accommodate GoHire custom properties, and submitting the Bullhorn Support ticket for any required Custom Objects. Schema is deployed to a Bullhorn Sandbox for validation before production migration begins. If the customer is mid-implementation with Bullhorn, we coordinate with their Bullhorn consultant to align migration schema with the production configuration plan.
Data transformation and sandbox migration
We transform the GoHire export into Bullhorn's entity schema: Jobs become JobOrder records with externalReference and boardName fields preserving job board metadata; Candidates become Candidate records with resume attachments; Applications become JobSubmission records linked to the correct JobOrder and Candidate; Pipeline stages are mapped per the agreed Sales Process configuration; Team members become User records with permissions set according to their GoHire roles. We run the full migration in the Bullhorn Sandbox and deliver a reconciliation report (record counts, field coverage, attachment counts) for the customer to validate before production cutover.
Production migration in dependency order
We execute production migration in record-dependency order: ClientCorporation records first (if GoHire employers are stored separately), then JobOrder records with job board metadata, then Candidate records with resume attachments, then JobSubmission records linking Candidates to JobOrders, then User records for team members. Each phase emits a reconciliation report before the next begins. Custom fields and Custom Objects load last after Bullhorn Support has provisioned the custom object schema. Bullhorn's REST API is used for all inserts with rate-limit handling and exponential backoff for large batches.
Cutover, delta migration, and careers page handoff
We freeze GoHire writes during a defined cutover window, run a final delta migration of any records modified since the initial export, then enable Bullhorn as the system of record. We deliver the careers page configuration as a written template and the screening question inventory as a structured document for the customer's Bullhorn admin to rebuild. We support a one-week hypercare window for reconciliation issues raised by the recruiting team. Workflows, automated candidate communications, and GoHire's interview scheduling preferences do not migrate; these require manual rebuild in Bullhorn's platform and are documented as separate scope.
Platform deep dives
GoHire
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between GoHire and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across GoHire and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between GoHire 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
GoHire: Not publicly documented.
Data volume sensitivity
GoHire 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 GoHire to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your GoHire 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 GoHire
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.