HRMS migration
Field-level mapping, validation, and rollback between Breezy HR and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Breezy HR
Source
Bullhorn ATS & CRM
Destination
Compatibility
12 of 13
objects map 1:1 between Breezy HR and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Breezy HR to Bullhorn is a migration from a single-company ATS designed for SMB hiring teams to a recruitment- agency platform built around the Candidate-to-ClientCorporation-to-Job-to-Placement data model. Breezy's flat object model (Candidates, Positions, Pipelines per position) maps directly to Bullhorn's entity graph, but per-position pipeline stages in Breezy must be split and reconciled into Bullhorn's global stage configuration before any candidate records move. We flag the Bootstrap plan's 30-day candidate visibility cap at scoping, migrate all candidate attachments and stage history, and map Breezy's custom candidate fields to Bullhorn's field types or custom objects depending on the destination edition. Bullhorn's automated Stage Actions, Breezy's career site pages, and offer letter templates do not migrate; we deliver written inventories for your admin to rebuild.
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 Breezy HR 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.
Breezy HR
Candidate
Bullhorn ATS & CRM
Candidate
1:1Breezy Candidate records map directly to Bullhorn Candidate. All standard fields (name, email, phone, social profiles) transfer as-is. The Breezy candidate identifier is preserved in a custom Bullhorn field for reconciliation. Stage history (the ordered list of pipeline stages the candidate passed through) migrates as a structured array attached to the Candidate record, with timestamps. Resume files and attachments bundle with the candidate record during transfer.
Breezy HR
Position
Bullhorn ATS & CRM
Job
1:1Breezy Position records map to Bullhorn Job. Job title, description, department, location, state, and job type transfer directly. Breezy's position-level status (open, closed, archived, draft) maps to Bullhorn Job status. The Job is the parent record for candidate submissions in Bullhorn, so Job records are created before any Candidate-to-Job associations are established during migration.
Breezy HR
Pipeline (per-position)
Bullhorn ATS & CRM
JobOrder Stage + WorkFlow
1:manyThis is the primary architectural difference in this migration. Breezy supports unique pipeline configurations per position, with different stage names, stage counts, and stage actions per job. Bullhorn uses a global stage model with JobOrder-level overrides. We split Breezy's per-position pipelines into Bullhorn JobOrder records with stage values configured per Job. If the destination is Bullhorn ATS (limited to 2 custom objects), we use standard Bullhorn stages and document the per-position stage differences for manual configuration post-migration. If the destination is Front Office Growth or Enterprise, we create a WorkFlow per original Breezy pipeline to replicate stage-action logic.
Breezy HR
Hiring Team Member
Bullhorn ATS & CRM
BullhornUser + Role
1:1Breezy users, hiring managers, and team members migrate to BullhornUser. We resolve by email match against the Bullhorn destination tenant. Breezy's Owner/User role assignments (Admin, Hiring Manager, Recruiter, Interviewer) map to Bullhorn role categories, but Bullhorn's role model is more granular for agencies (Business Administrator, Recruiter, Placement Manager, etc.). We preserve the original role name in a custom field and the customer maps to the correct Bullhorn role during the sandbox validation phase.
Breezy HR
Custom Candidate Field
Bullhorn ATS & CRM
Custom Field or Custom Object
1:1Breezy custom fields (Text, Date, Currency, Dropdown, Radio) require per-type mapping. Text and Date fields map cleanly to Bullhorn equivalent fields. Currency fields carry the currency code and must be validated against Bullhorn's allowed currency configuration. Dropdown and Radio options are stored as explicit value lists in Breezy; if the Bullhorn equivalent field does not include matching options, we flag the discrepancy and the customer must pre-configure option sets in Bullhorn before migration. If the customer has more custom fields than Bullhorn ATS edition supports (2 in Bullhorn ATS), we provision a Custom Object to hold overflow fields.
Breezy HR
Tag and Source
Bullhorn ATS & CRM
Candidate Tag
1:1Breezy tags (up to 250 per account) and sources (up to 250 per account) migrate as Bullhorn Candidate tags. Tags used for candidate classification (skills, seniority, source channel) map to Bullhorn's tag taxonomy. If the customer uses Breezy sources as a structured taxonomy (LinkedIn, Referral, Job Board), we map these to Bullhorn Candidate source fields or tags depending on the customer's reporting requirements.
Breezy HR
Scorecard and Rating
Bullhorn ATS & CRM
Candidate (scorecard fields)
1:1Interview scorecards and structured ratings from Breezy migrate as fields on the Bullhorn Candidate record. Stage-level feedback (which interviewer rated which stage and with what score) preserves ordering against the original pipeline stage. Bullhorn's native rating model uses a 1-5 star system; Breezy's numeric or letter-grade scores are mapped to the nearest Bullhorn-compatible rating.
Breezy HR
Candidate Note and Comment
Bullhorn ATS & CRM
Note
1:1Internal comments and activity history tied to a Breezy candidate record migrate as timestamped Note entries attached to the Bullhorn Candidate. Formatting is preserved where possible. Note authorship and timestamp migrate to preserve the audit trail of who added what comment at what stage of the pipeline.
Breezy HR
Attachment and Resume
Bullhorn ATS & CRM
CandidateAttachment
1:1Resume files, cover letters, and uploaded candidate attachments are bundled with the candidate record. We preserve original filenames and file MIME types and reconstruct the attachment hierarchy in Bullhorn. Bullhorn supports file attachments on Candidate records via the Bullhorn REST API. Attachments are uploaded after candidate records are created, referencing the candidate by BullhornCandidateID.
Breezy HR
Offer
Bullhorn ATS & CRM
JobSubmission + Offer (if applicable)
1:1Breezy offer records (available on Business tier and above) migrate to Bullhorn JobSubmission with offer status fields. The offer letter template and eSignature status cannot be transferred; these are platform-native features that require recreation in Bullhorn. We flag every offer record with missing templates in the migration inventory for the customer to address post-migration.
Breezy HR
Company
Bullhorn ATS & CRM
ClientCorporation
1:1Breezy does not have a dedicated Company object for employer-of-record or client tracking, but candidate companies referenced in position records migrate as Bullhorn ClientCorporation. If the customer uses Breezy's company association on candidates, we create the ClientCorporation record before the candidate association. ClientCorporation address, industry, and billing contact fields populate from Breezy position and candidate company data where available.
Breezy HR
Career Site Content
Bullhorn ATS & CRM
(not migrated)
1:1Breezy branded career site pages, job board distribution settings, and employee referral portal configurations are platform-native and cannot be exported in a portable format. We do not migrate this object. We deliver a written inventory of active career site pages, active job board distributions, and referral portal settings for the customer's marketing team to rebuild in Bullhorn or a separate careers hosting tool.
Breezy HR
Automated Stage Actions
Bullhorn ATS & CRM
(not migrated)
1:1Breezy Stage Actions (automated emails, SMS alerts, and task triggers that fire on pipeline stage changes) are tied to Breezy's internal messaging and integration infrastructure. Bullhorn WorkFlow automation handles similar triggers differently using Bullhorn's own action library. We do not migrate Stage Actions as executable code. We deliver a written inventory of every active Stage Action with its trigger condition, action type, and template content, mapped to the equivalent Bullhorn WorkFlow configuration for the customer's admin to rebuild.
| Breezy HR | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Position | Job1:1 | Fully supported | |
| Pipeline (per-position) | JobOrder Stage + WorkFlow1:many | Fully supported | |
| Hiring Team Member | BullhornUser + Role1:1 | Fully supported | |
| Custom Candidate Field | Custom Field or Custom Object1:1 | Fully supported | |
| Tag and Source | Candidate Tag1:1 | Fully supported | |
| Scorecard and Rating | Candidate (scorecard fields)1:1 | Fully supported | |
| Candidate Note and Comment | Note1:1 | Fully supported | |
| Attachment and Resume | CandidateAttachment1:1 | Fully supported | |
| Offer | JobSubmission + Offer (if applicable)1:1 | Fully supported | |
| Company | ClientCorporation1:1 | Fully supported | |
| Career Site Content | (not migrated)1:1 | Not supported | |
| Automated Stage Actions | (not migrated)1:1 | 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.
Breezy HR gotchas
Bootstrap 30-day candidate visibility cap causes silent data loss
Add-on pricing inflates the real subscription cost significantly
Custom fields require destination mapping per field type
Breezy's own free migration is competitor-locked
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
Plan tier audit and visibility check
We audit the source Breezy account's plan tier (Bootstrap, Startup, Growth, or Business) during scoping. If the account is on Bootstrap, we detect any candidate records added more than 30 days ago and warn the customer that those records are not accessible via API or export. We advise upgrading to a paid plan immediately before migration scoping begins so that all historical candidates are available for export. We also capture the add-on subscriptions active on the account (SMS, AI credits, onboarding) to itemize the customer's current actual spend for comparison against Bullhorn's per-user pricing.
Object inventory and per-position pipeline audit
We extract a full object inventory from Breezy via the REST API: all Candidate records (with stage history), all Position records (with pipeline configurations), all custom field definitions (field type, required flag, dropdown options), all hiring team members, all tags and sources, and all offer records where applicable. We identify the distinct pipeline configurations across all Positions and count how many unique stage templates exist. This determines the Bullhorn stage split scope and the migration complexity estimate.
Bullhorn edition check and schema design
We confirm the customer's Bullhorn edition and feature entitlements. If the destination is Bullhorn ATS or ATS Growth, we count custom fields that require custom object storage and compare against the edition limit (2 or 0). We design the Bullhorn schema: standard field mapping, custom fields (with types and picklist values pre-configured in Bullhorn), JobOrder stage configuration per Position, and any custom objects required for overflow fields. Schema is deployed to a Bullhorn Sandbox first for validation before production migration begins.
Sandbox migration and reconciliation
We run a full migration into Bullhorn Sandbox using production-like data volume. The customer's recruiting operations lead reviews the Bullhorn sandbox environment: checks record counts (Candidates, Jobs, JobSubmissions), spot-checks 25-50 candidate records against the Breezy source (contact details, stage history, attached resumes, notes, tags), and validates that pipeline stage mapping reflects the original Breezy pipeline names. Any field mapping corrections, missing picklist values, or stage name adjustments are documented and applied before the production migration begins.
Owner and user provisioning
We extract every distinct Breezy hiring team member and cross-reference by email against Bullhorn's User table. Breezy owners without a matching Bullhorn User are placed in a reconciliation queue. The customer's Bullhorn admin provisions any missing Bullhorn Users and assigns the correct Bullhorn role (Business Administrator, Recruiter, Hiring Manager, etc.) before production migration. OwnerId references on Bullhorn records require valid User records, so this step gates the production migration.
Production migration in dependency order
We run production migration in record-dependency order: ClientCorporation records (from Breezy company associations), Job records (from Breezy Positions), Candidate records (with stage history, custom fields, tags, and sources), JobSubmission records linking Candidates to Jobs, Note records and candidate attachments (uploaded after candidate creation via Bullhorn REST API), Scorecard and rating data on Candidate records, and Offer records with metadata. Each phase emits a row-count reconciliation report before the next phase begins. Pipeline stages are configured in Bullhorn JobOrder during the Job phase.
Cutover, delta migration, and handoff
We freeze writes to Breezy during cutover, run a final delta migration capturing any records modified during the migration window, then confirm Bullhorn as the system of record. We deliver the Stage Action inventory document listing every Breezy automated email, SMS, and task trigger with its conditions and Bullhorn WorkFlow equivalent recommendation, the career site inventory for the marketing team to rebuild, and the offer template recreation list. We support a one-week post-cutover window for reconciliation issues. We do not rebuild Breezy Stage Actions as Bullhorn WorkFlows within migration scope; that is a separate engagement.
Platform deep dives
Breezy HR
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Breezy HR and Bullhorn ATS & CRM.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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
Breezy HR: Not publicly documented in official API reference.
Data volume sensitivity
Breezy HR exposes a bulk API — large-volume migrations stream efficiently.
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 Breezy HR to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Breezy HR 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 Breezy HR
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.