HRMS migration

Migrate from AgileATS to Bullhorn ATS & CRM

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

AgileATS logo

AgileATS

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

83%

10 of 12

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

AgileATS and Bullhorn serve different corners of the recruiting market, and the structural differences between them shape the entire migration. AgileATS is purpose-built for government contractors with no public REST API — all data leaves as structured file exports — while Bullhorn provides full REST API access with a combined ATS and CRM model. The highest-signal migration work is clearance data mapping, compliance field remapping, and partner user reconciliation because AgileATS partner accounts have no direct Bullhorn equivalent. We validate export completeness from AgileATS, map every clearance and EEO field to Bullhorn custom fields, configure pipeline stages against Bullhorn's record type and sales process model, and ingest via Bullhorn's REST API with batch chunking and parent-record resolution. Bullhorn editions cap custom objects at 10 per entity on Front Office Growth and Enterprise, which we audit before migration. Workflows, sequences, and Agile Recruiting framework structures do not migrate; we deliver a written inventory for the customer's admin to rebuild in Bullhorn.

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

AgileATS logo

AgileATS

What's pushing teams away

  • Per-seat pricing scales steeply once more than a handful of full recruiters are added, pushing total cost above comparable platforms with flat or unlimited-user tiers.
  • The platform is narrow in scope — teams outside government contracting find the GovCon-specific features irrelevant and feel they are paying for compliance tooling they never use.
  • Limited third-party integrations beyond ClearanceJobs means teams relying on background check vendors, HRIS platforms, or onboarding tools often need workarounds or custom API builds.
  • Customer support responsiveness is inconsistent, particularly on non-Enterprise tiers where response times for technical or data export questions can stretch across multiple business days.

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

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

AgileATS

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

AgileATS Candidate records map directly to Bullhorn Candidate. We map firstName, lastName, email, phone, address, status, and clearanceLevel to Bullhorn standard fields and Bullhorn custom fields respectively. Custom fields on AgileATS candidates (clearance types, partner assignments, EEO flags) map to Bullhorn custom fields on the Candidate entity, subject to Bullhorn's custom field cap per entity per edition. Candidate ownership from AgileATS maps to Bullhorn Candidate ownerId by email-matched User lookup. Attachments (resumes, certifications, background forms) export from AgileATS alongside record data and re-attach to the Bullhorn Candidate record using Bullhorn's ContentDocumentLink structure.

AgileATS

Job

maps to

Bullhorn ATS & CRM

Job Order

1:1
Fully supported

AgileATS Job records (title, location, clearance requirements, description, status) map to Bullhorn JobOrder. Job title maps to title, location maps to address, and any clearance requirement flags on the AgileATS job map to Bullhorn custom fields on the JobOrder. Job-to-Candidate associations (which candidates are pipeline-assigned to which jobs) map to Bullhorn JobSubmission records created during the candidate import phase, preserving the candidate-to-job relationship. We flag any jobs with status set to Closed or On Hold in AgileATS for Bullhorn status mapping review.

AgileATS

Pipeline Stage

maps to

Bullhorn ATS & CRM

Record Type + Sales Process (Opportunity)

lossy
Fully supported

AgileATS uses a structured Agile Recruiting framework with configurable pipeline stage names and counts that vary by customer configuration. Bullhorn maps recruiting pipelines to Opportunity record types and Sales Processes. We map each AgileATS stage name to a Bullhorn Opportunity stage value and create new stages as needed within the Bullhorn Sales Process. Stage ordering and probability percentages transfer from AgileATS to Bullhorn StageProbability values. If the customer uses multiple AgileATS pipelines, each maps to a separate Bullhorn Record Type on Opportunity.

AgileATS

Offer

maps to

Bullhorn ATS & CRM

Placement

1:1
Fully supported

AgileATS Offer records carry compensation details, start date, and offer status. Bullhorn represents an accepted offer as a Placement record. We map AgileATS offer compensation to Bullhorn Placement's payRate or billRate custom fields (depending on whether the offer is candidate-facing or client-facing), map startDate to dateBegin, and preserve offer status as a Placement custom field. The offer-to-candidate relationship maps through the JobSubmission created during the candidate and job import phase.

AgileATS

Custom Field (clearance, partner, EEO)

maps to

Bullhorn ATS & CRM

Custom Field on Candidate or JobOrder

lossy
Fully supported

AgileATS uses custom fields heavily for clearance types (e.g., Secret, Top Secret, SCI), partner assignments, and EEO flagging. We extract all custom field definitions during scoping, map each to a Bullhorn custom field on the appropriate entity (Candidate or JobOrder), and flag any that exceed Bullhorn's field cap per entity per edition (Front Office Growth/Enterprise: 55 fields per custom object, capped at 10 custom objects per entity). Bullhorn ATS tier allows 2 custom objects; ATS Growth allows 0. Clearance type values migrate as picklist values in the Bullhorn custom field.

AgileATS

Compliance Reports

maps to

Bullhorn ATS & CRM

Candidate Custom Fields + Written Field Inventory

1:1
Mapping required

AgileATS OFCCP, DoL, and EEO reports are generated exports rather than structured data objects. We migrate the underlying candidate fields (EEO flags, hire dates, job categories, pay ranges, clearance levels) to Bullhorn custom fields on the Candidate record. Compliance reports themselves do not migrate because they are report definitions, not record data. We deliver a written field inventory mapping each AgileATS compliance field to the corresponding Bullhorn custom field and specifying which Bullhorn field feeds each compliance report line item, so the customer's compliance team can validate output post-migration.

AgileATS

User / Recruiter

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

AgileATS full Recruiter seats map to Bullhorn standard User records by email match. We extract every distinct user referenced on candidate, job, and offer records, match by email against the Bullhorn destination User table, and provision any missing Users in the reconciliation queue before the production migration begins. AgileATS Partner Users are a distinct user class with limited permissions; they map to Bullhorn Client User or standard User with restricted access, and we flag any partner assignments on candidate records for the customer's Bullhorn admin to review and configure post-migration.

AgileATS

Partner / Subcontractor

maps to

Bullhorn ATS & CRM

Client User + Custom Field Flag

1:1
Fully supported

AgileATS Partner Users are tracked as a separate user class with distinct permissions and billing ($20/month each). Bullhorn does not have a direct partner-tier user equivalent. We preserve partner assignments as a custom flag field (e.g., isPartnerUser__c) on the candidate record and flag the candidate records where a Partner User is the assigned owner for review in Bullhorn. We also flag any active partners that may lose access granularity if remapped to a standard Bullhorn User role, so the customer's admin can configure appropriate permissions before cutover.

AgileATS

Clearance Data

maps to

Bullhorn ATS & CRM

Custom Fields on Candidate

1:1
Mapping required

Security clearance level (e.g., NACI, MBI, CI, Polygraph) and clearance status (Active, Expired, Pending) are stored as structured fields on AgileATS candidate records. We preserve clearance values in Bullhorn custom fields on the Candidate entity (clearanceLevel__c, clearanceStatus__c, clearanceExpirationDate__c). We flag any candidates whose clearance status may have expired or requires renewal based on the AgileATS clearance expiration date, and we flag candidates pending reinvestigation for compliance review. Clearance type values map to Bullhorn picklist values in the custom field definition.

AgileATS

Notes and Activity History

maps to

Bullhorn ATS & CRM

Note + Task

1:1
Mapping required

AgileATS recruiter notes and activity timestamps export from the structured file output and map to Bullhorn Note records linked via ContentDocumentLink to the parent Candidate record. Activity type (call, email, meeting) maps to Bullhorn Task records with TaskSubtype set appropriately. Activity ordering is preserved by setting ActivityDate to the original AgileATS timestamp. Note body migrates as plain text. Bullhorn's Notes support rich text; we convert AgileATS note formatting where present in the export.

AgileATS

Attachment (resume, certification, background form)

maps to

Bullhorn ATS & CRM

ContentDocument / Resume on Candidate

1:1
Fully supported

AgileATS stores candidate attachments (resumes, certifications, security clearance forms, background check documents) in a separate file store from record data. We export attachments alongside record data, map file names to the Bullhorn Candidate's primary resume field, and re-attach supporting documents as ContentDocument records linked via ContentDocumentLink to the candidate. We flag any file types that may exceed Bullhorn's supported attachment size limits or unsupported formats before import.

AgileATS

AgileATS Organization Settings

maps to

Bullhorn ATS & CRM

Bullhorn Admin Configuration

1:1
Fully supported

AgileATS organization-level settings (org name, federal contractor identification, DCAA audit configuration) have no direct Bullhorn equivalent and do not migrate as structured records. We deliver a written inventory of all organization settings in AgileATS with recommended Bullhorn equivalents (e.g., Bullhorn Admin settings, corporate branding, user role configuration), so the customer's Bullhorn admin can configure these post-migration. This inventory is delivered alongside the field mapping document during the handoff phase.

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.

AgileATS logo

AgileATS gotchas

High

No public API requires structured file-based migration

High

Candidate storage caps differ by tier and are enforced

Medium

Compliance report data lives in exports, not structured records

Medium

Partner users are a distinct billing class

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

  • No public API forces structured file-based migration

    AgileATS does not expose a documented REST API, so all migration work runs through their structured file exports (CSV, JSON, or platform-specific dumps). We request these exports directly from the customer's AgileATS instance, validate schema completeness against their candidate count and field inventory, and flag any missing fields or truncated exports before ingestion begins. Without this validation step, gaps in the export are discovered mid-migration, requiring a fresh export request that delays the project. Bullhorn's REST API then handles the ingestion side with batch chunking and parent-record lookup resolution.

  • Clearance field mapping requires explicit design

    AgileATS stores security clearance level, status, and expiration as structured fields on candidate records. Bullhorn has no native clearance tracking fields. We map each AgileATS clearance field to a Bullhorn custom field on the Candidate entity, and we flag any candidates whose clearance has expired or is pending reinvestigation. Clearance type values (NACI, MBI, CI, TS/SCI, Polygraph) must be created as picklist values in Bullhorn's custom field definition before migration. If the customer's Bullhorn edition is Bullhorn ATS (2 custom objects max) or ATS Growth (0 custom objects), we flag the constraint before migration begins so the customer can upgrade or select which custom fields to prioritize.

  • Compliance report data does not migrate as records

    OFCCP, DoL, and EEO reports in AgileATS are generated exports rather than structured data objects. The underlying candidate data (EEO flags, hire dates, job categories, pay ranges, clearance levels) migrates to Bullhorn custom fields. We document exactly which Bullhorn custom fields map to which compliance report line items so the customer's compliance team can reconstruct reports post-migration. If the customer relies on AgileATS compliance reports for active government contracts, we flag this during scoping and deliver the field inventory before the production migration window opens.

  • Partner user accounts have no Bullhorn equivalent

    AgileATS separates Partner Users ($20/month each) from full Recruiter seats with distinct permissions scoped to subcontractor relationships. Bullhorn does not have a partner-tier user class. We preserve partner assignments on candidate records as a custom flag field and map partner user ownership to Bullhorn Client User or a standard User with restricted access. We flag any active partners that may lose access granularity when remapped, so the customer's Bullhorn admin can configure appropriate permissions before cutover. Partner user billing does not transfer to Bullhorn because Bullhorn's licensing model is per-user with no partner subclass.

  • Bullhorn custom object limits vary by edition

    Bullhorn editions enforce different limits on custom objects and custom fields. Front Office Growth and Enterprise support up to 10 custom objects per entity with 55 fields each. Bullhorn ATS allows 2 custom objects per entity. ATS Growth allows 0. If the customer's AgileATS instance uses more than 2 custom objects on candidates or jobs, we flag this during scoping and recommend a Bullhorn edition upgrade or a prioritized custom field list before migration begins. Custom objects created by Bullhorn marketplace integrations or compliance functionality do not count toward the limit and are documented separately.

Migration approach

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

  1. Export validation and schema audit

    We request structured file exports from the customer's AgileATS instance covering all candidate records, job records, pipeline stage definitions, offer records, user accounts, partner assignments, and attachment metadata. We validate schema completeness against the customer's reported candidate count and field inventory, flag any truncated exports or missing fields, and alert the customer to request a fresh export before ingestion begins. We also extract AgileATS custom field definitions for clearance types, partner assignments, and EEO flags at this stage.

  2. Field mapping design and clearance field creation

    We design the Bullhorn custom field schema for all AgileATS clearance, partner, and compliance fields that have no native Bullhorn equivalent. Each AgileATS clearance type becomes a Bullhorn picklist value in a clearanceLevel__c custom field on Candidate. Partner assignments become a flag in isPartnerUser__c. EEO flags map to Bullhorn custom fields on Candidate with documented OFCCP report line item mappings. We check the customer's Bullhorn edition against the field count and flag any that exceed edition limits. Bullhorn custom fields are deployed to the destination org before any record import begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn Sandbox environment using production-like data volumes. The customer's operations lead reconciles record counts (candidates in, jobs in, placements in, notes in), spot-checks 25-50 random candidate records against the AgileATS source data, and validates that clearance fields, partner flags, and EEO data landed correctly in Bullhorn. Pipeline stage mapping and record type configuration are validated at this stage. Any field mapping corrections happen in sandbox before production migration begins.

  4. User reconciliation and Bullhorn User provisioning

    We extract every distinct AgileATS user referenced on candidate, job, and offer records and match by email against the Bullhorn destination User table. AgileATS Partner Users without a matching Bullhorn User go to a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active for current recruiters, inactive for departed users with candidate ownership records to preserve). Migration cannot proceed past this step because ownerId references on Bullhorn records require a valid User lookup.

  5. Production migration in dependency order

    We run production migration in record-dependency order using Bullhorn's REST API with batch chunking and rate-limit handling. Users are validated first. Accounts (from AgileATS client records if present) import next. Candidates import with ownerId resolved to Bullhorn User, clearance fields populated, partner flag set, and attachments re-attached. Jobs import with clearance requirement flags mapped to Bullhorn JobOrder custom fields. JobSubmission records are created to preserve candidate-to-job pipeline assignments. Placements import from AgileATS Offers. Activity history (notes, calls, meetings) imports as Bullhorn Note and Task records with timestamps preserved. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and handoff documentation

    We freeze AgileATS 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 the migration manifest: field mapping document, compliance field inventory, pipeline stage mapping, partner user flagging report, and any organization settings that require manual Bullhorn admin configuration. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruiting team. We do not rebuild AgileATS workflows or Agile Recruiting framework structures as Bullhorn automations inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

AgileATS logo

AgileATS

Source

Strengths

  • Purpose-built OFCCP, DoL, and EEO compliance reporting with automated generation rather than manual exports.
  • ClearanceJobs native integration provides direct, one-click candidate ingestion from the largest cleared talent pool.
  • AWS-hosted data with defined security protocols satisfies GovCon security and data handling requirements.
  • Structured Agile Recruiting workflows enforce consistent, auditable hiring steps across every open requisition.
  • Tiered candidate storage (10k to 50k+) provides predictable scaling for small to mid-size government contractors.

Weaknesses

  • No public REST API — all data access relies on structured file exports, limiting automation options for ongoing sync or live migrations.
  • Per-seat pricing on core recruiter licenses scales cost significantly as hiring teams grow beyond the initial plan.
  • Limited third-party ecosystem beyond ClearanceJobs forces teams to build custom integrations for background checks, HRIS, or onboarding tools.
  • Support responsiveness on non-Enterprise tiers lags behind competitors, particularly for data export or technical scoping questions.
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. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • 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

    AgileATS: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your AgileATS to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most AgileATS migrations land between four and six weeks for accounts under 15,000 candidates and 3,000 jobs with straightforward clearance fields and no partner user remapping. Migrations with extensive EEO flag fields, multi-stage Agile Recruiting pipeline structures, large attachment volumes, or OFCCP compliance field mapping across a large candidate database move to ten to fourteen weeks because of the field-level mapping scope and Bullhorn sandbox validation cycles required to confirm clearance data integrity.

Adjacent paths

Related migrations to explore

Ready when you are

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