HRMS migration

Migrate from Fountain to Bullhorn ATS & CRM

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

Fountain logo

Fountain

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

67%

8 of 12

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

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Fountain to Bullhorn is a data-model translation from an applicant-centric hiring platform to a staffing-agency CRM. Fountain organizes hiring around Applicants tied to Job Posts at Locations; Bullhorn uses a three-entity model (Candidate, ClientCorporation, JobOrder) with submissions and placements tracking the full recruiting lifecycle. We map Fountain's pipeline Stages to Bullhorn's Opportunity track, preserve hiring source attribution as a custom field on the Candidate record, and resolve the Location hierarchy into Bullhorn's ClientCorporation address structure. Fountain's automated workflow rules cannot be exported via API, so we document every active rule during discovery for Bullhorn rebuild. ReadOnly custom attributes on Fountain Applicant records cannot be written to Bullhorn as editable fields; we flag these during scoping and suggest Bullhorn custom field equivalents. Bullhorn's editions (Team, Corporate, Enterprise) cap custom object counts and searchable field limits that affect how Fountain's extended attribute schema maps into the destination.

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

Fountain logo

Fountain

What's pushing teams away

  • Steep initial learning curve despite intuitive day-to-day use — the breadth of features takes time to configure correctly before teams see value.
  • Formatting and UX for messaging and email templates feels clunky compared to dedicated email tools, requiring workaround styling for branded candidate communications.
  • Lack of native Slack integration frustrates ops teams that rely on real-time notifications for candidate status changes and approvals.
  • Activity timestamps and audit logs are difficult to locate and export, creating compliance challenges for regulated industries that need hiring record retention.
  • Focus on mass recruitment limits suitability for organizations needing specialized or executive-level hiring workflows that require more customization.

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

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

Fountain

Applicant

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Fountain Applicant records map to Bullhorn Candidate. The Fountain applicant ID becomes a custom field fountain_applicant_id__c on the Bullhorn Candidate for audit traceability. Fountain's application date, current stage, and stage history migrate as Bullhorn Candidate custom fields and Application V2 records where available. Hiring source attribution (how the candidate applied) migrates to a bullhorn_hiring_source__c custom field on Candidate. Fountain's mobile-optimized application fields (shift preference, availability windows) map to Candidate custom fields with free-text or picklist types.

Fountain

Job Post

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Fountain Job Posts map to Bullhorn JobOrder. The Fountain job title, description, and requirements map to JobOrder title, description, andpublicDescription. Fountain's department assignment maps to JobOrder corporateUserName or a custom field department__c. Fountain job status (open, paused, closed) maps to JobOrder status with Bullhorn's open, interview, offer, filled, and closed values. Fountain job type (hourly, shift-based) becomes a custom picklist on JobOrder.

Fountain

Stage

maps to

Bullhorn ATS & CRM

Opportunity Stage

lossy
Fully supported

Fountain pipeline Stages map to Bullhorn Opportunity stages on the JobOrder's Opportunity track. Each Fountain stage name becomes a Bullhorn Opportunity stage value. Fountain's stage sequence order maps to the Bullhorn Opportunity Stage order. Stage probability percentages from Fountain become Opportunity probability values in Bullhorn, rounded to integer. We document the full stage-to-stage transition history from Fountain as a separate migration artifact for Bullhorn workflow rebuild.

Fountain

Location

maps to

Bullhorn ATS & CRM

ClientCorporation (address component)

1:many
Fully supported

Fountain Locations represent physical work sites (stores, warehouses, restaurants). Bullhorn has no standalone Location object; addresses attach to ClientCorporation. If Fountain Locations correspond to client worksites, we create Bullhorn ClientCorporation records for each Location, populating address fields from Fountain. If Locations represent the customer's own hiring offices, we attach address as a custom field on internal records. The mapping choice is confirmed during discovery scoping.

Fountain

Department

maps to

Bullhorn ATS & CRM

Department custom field or Business Sector

1:1
Fully supported

Fountain Departments group Jobs and hiring teams by business function. We map department names to Bullhorn Candidate and JobOrder custom fields (department__c picklist) or Business Sector on ClientCorporation depending on use. Department hierarchies from Fountain map to Bullhorn Corporate Branch if the Bullhorn edition supports it, or to a flat department custom field if not.

Fountain

Custom Attributes (editable)

maps to

Bullhorn ATS & CRM

Custom fields on Candidate and JobOrder

1:1
Fully supported

Fountain customAttributes with editable flags map to Bullhorn custom fields on Candidate and JobOrder. Bullhorn editions cap custom object and field counts (up to 10 Custom Objects with 55 fields each on Front Office Growth/Enterprise; 2 Custom Objects on Bullhorn ATS). We pre-create Bullhorn custom fields via the Custom Object Setup spreadsheet submitted to Bullhorn Support before migration. Field type mapping: Fountain text, number, and date map to Bullhorn String, Number, and Date types; Fountain picklist maps to Bullhorn DropDown; Fountain multi-select maps to Bullhorn CheckBox or multi-select picklist.

Fountain

Custom Attributes (readOnly)

maps to

Bullhorn ATS & CRM

Flagged for Bullhorn manual configuration

lossy
Fully supported

Fountain customAttributes with readOnly=true are system-controlled and cannot be written via API. We identify every readOnly attribute during discovery and exclude them from migration load. During Bullhorn configuration, these become Bullhorn custom fields with display labels matching the Fountain field name but populated by Bullhorn system rules or formula fields rather than imported values. We document the readOnly attribute list with its Fountain field name, type, and description so the Bullhorn admin can configure equivalent computed fields.

Fountain

Document

maps to

Bullhorn ATS & CRM

Candidate attachment (ContentDocument)

1:1
Fully supported

Fountain document attachments (hiring forms, compliance certifications, background check results) migrate to Bullhorn Candidate records via ContentDocument and ContentDocumentLink. We export document binaries in parallel batches, maintaining a filename-to-applicant-ID mapping. Each document becomes a ContentDocument record linked to the corresponding Bullhorn Candidate. Bullhorn's file size and type restrictions apply; we validate document formats during export and flag any that exceed Bullhorn's supported types. Large document volumes increase migration duration and require explicit scoping before starting.

Fountain

Offer

maps to

Bullhorn ATS & CRM

Placement (starting point)

1:1
Fully supported

Fountain Offer records (compensation details, start dates, offer status) map to Bullhorn Placement records. The Fountain offer status (accepted, declined, pending) becomes Placement status in Bullhorn. Start date, shift schedule, and position details migrate as Placement custom fields or standard fields depending on Bullhorn edition. We create the Placement record linked to the Candidate and JobOrder after both exist in Bullhorn.

Fountain

Notes

maps to

Bullhorn ATS & CRM

Candidate Note

1:1
Mapping required

Fountain user-added notes on Applicants (hiring manager context, interview feedback) migrate as Bullhorn Note records on the Candidate. Note content, author, and timestamp transfer. Bullhorn Note records are linked via ContentDocumentLink to the Candidate. We preserve note ordering by timestamp for interview feedback and hiring manager commentary.

Fountain

Automated Workflows

maps to

Bullhorn ATS & CRM

Bullhorn Automation (manual rebuild required)

1:1
Not supported

Fountain's automation rules (auto-advancing candidates, email triggers, task creation per stage) are not accessible through the Fountain public API and cannot be migrated as code. We document every active Fountain workflow configuration during discovery: trigger type, conditions, stage transitions, email actions, and task assignments. This document is delivered to the customer as a Bullhorn Automation rebuild guide. The Bullhorn admin or a Bullhorn implementation partner rebuilds workflows in Bullhorn Automation post-migration. This is standard scope and is not included in migration execution.

Fountain

Hiring Source

maps to

Bullhorn ATS & CRM

bullhorn_hiring_source__c (custom field)

lossy
Fully supported

Fountain tracks hiring source attribution per Applicant (referral, job board, direct). We create a bullhorn_hiring_source__c custom field on the Bullhorn Candidate record and populate it from Fountain's source field during migration. This preserves sourcing analytics for the recruiting team in Bullhorn without relying on standard fields that do not map directly from Fountain.

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.

Fountain logo

Fountain gotchas

High

Automation rules not exportable via API

Medium

ReadOnly custom attributes block field migration

Medium

Rate limits undocumented for migration planning

Medium

Document storage requires separate export workflow

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

  • Fountain automation rules not accessible via API

    Fountain's automated workflow rules (auto-advance, email triggers, task creation per stage) are not exposed through the public API. We cannot extract them programmatically. During discovery we document the active workflow configurations (trigger, conditions, actions, stage transitions) so the customer's Bullhorn admin can rebuild them in Bullhorn Automation. This adds post-migration configuration time that should be planned before migration kickoff. Migrations that assume workflows transfer automatically will hit a gap on day one of Bullhorn usage.

  • readOnly custom attributes block field migration

    Fountain's customAttributes include a readOnly flag that marks certain fields as system-controlled and unmodifiable via API. When we encounter readOnly custom attributes on Applicant or Job records, we cannot import their values into Bullhorn as editable fields. We flag these during discovery, exclude them from migration load, and document them for Bullhorn manual configuration. Customers with extensive readOnly attribute schemas (common for compliance-tracked fields like background check results) should plan Bullhorn custom field configuration alongside the data migration.

  • Fountain rate limits undocumented

    Fountain's API documentation references rate limits but does not publish specific thresholds for requests per minute or per hour. For migrations with thousands of applicants, we implement exponential backoff and queue management to avoid triggering throttling. We request explicit rate limit documentation from Fountain during kickoff. Customers should confirm whether their Fountain plan includes higher API rate limits or dedicated endpoints for bulk export, as undocumented limits can extend migration timelines for high-volume datasets.

  • Bullhorn Custom Object field caps vary by edition

    Bullhorn editions impose hard limits on Custom Objects and searchable fields per entity: up to 10 Custom Objects with 55 fields each on Front Office Growth/Enterprise, 2 Custom Objects on Bullhorn ATS, and none on ATS Growth. Fountain's extended attribute schema may exceed these limits depending on how many custom attributes exist on Applicant and Job records. We validate attribute counts against the target Bullhorn edition during discovery and either consolidate attributes into fewer Bullhorn custom fields or recommend a Bullhorn edition upgrade before migration.

  • Document export requires separate parallel workflow

    Fountain document attachments are stored separately from applicant records and require individual API calls to retrieve. We export documents in parallel batches and maintain filename-to-applicant-ID mapping to link them to Bullhorn Candidate records post-import. Large document volumes (thousands of PDFs, certifications, and forms) increase migration duration materially and should be scoped explicitly. We recommend confirming document retention scope before migration start: not all documents may need migration if the destination compliance policy differs from the source.

Migration approach

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

  1. Discovery and source audit

    We audit Fountain across applicants (volume, stage distribution, custom attribute counts and readOnly flags), Jobs (open, paused, closed counts), pipeline stage configurations, Locations and Department hierarchies, document attachment volumes, offer records, and active workflow rules. We review the target Bullhorn edition (Team, Corporate, or Enterprise) and validate custom object and field capacity against Fountain's attribute schema. The discovery output is a written migration scope including object counts, field mapping matrices, readOnly attribute inventory, and Bullhorn edition recommendation if the current edition cannot accommodate Fountain's schema.

  2. Bullhorn schema pre-creation

    We pre-create Bullhorn custom fields (for Fountain's editable custom attributes), Custom Objects (if needed), and Record Types before any data migration. Bullhorn custom fields are created via the Custom Object Setup spreadsheet submitted to Bullhorn Support; Bullhorn reviews and enables them. We also configure Opportunity stages to match Fountain's pipeline stage names and sequence. Bullhorn schema pre-creation happens in a Sandbox or staging org for validation before production migration.

  3. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn Sandbox (or partial copy if available) with production-like data volumes. The customer's Bullhorn admin reconciles record counts, spot-checks applicant profiles against Fountain source records, validates custom field values, and confirms document attachments are linked correctly. We run reconciliation reports for each object (Candidate count, JobOrder count, Stage mapping, Document attachment count) and correct any mapping errors before production migration begins.

  4. Location-to-ClientCorporation strategy confirmation

    Fountain Locations may represent either the customer's own hiring sites or client worksites. We confirm the intended mapping during discovery: if Locations represent client worksites, we create Bullhorn ClientCorporation records per Location and link JobOrders to them. If Locations represent internal offices, we attach address data as Candidate or JobOrder custom fields. Bullhorn requires ClientCorporation to exist before a JobOrder can reference it, so this step gates the JobOrder migration phase.

  5. Production migration in dependency order

    We run production migration in dependency order: ClientCorporations (if Locations map to worksites), then Candidates (from Fountain Applicants with fountain_applicant_id__c as audit key), then JobOrders (from Fountain Jobs linked to ClientCorporation), then Opportunity records linked to JobOrder (for stage history), then Offers (linked to Candidate and JobOrder), then Activity history (Notes as Bullhorn Note records), then Documents (as ContentDocument linked to Candidate). Each phase emits a reconciliation report before the next begins. readOnly custom attributes are excluded and documented for manual Bullhorn configuration.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Fountain 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 Fountain Automation Rebuild Guide documenting every active workflow (trigger, conditions, actions, stage transitions) with Bullhorn Automation equivalents. We support a one-week hypercare window for reconciliation issues. We do not rebuild Fountain workflows as Bullhorn Automation inside migration scope; that is a separate engagement or internal admin task.

Platform deep dives

Context on both ends of the pair

Fountain logo

Fountain

Source

Strengths

  • Purpose-built for frontline hourly hiring with industry-specific job templates and shift types.
  • Automation reduces manual screening for high-volume positions with location and qualifier filtering.
  • Mobile-optimized application flow improves candidate completion rates for hourly workforce.
  • Multi-location management consolidates hiring operations across hundreds of sites.
  • Compliance tooling handles I-9 verification, E-Verify integration, and age-restricted role controls.

Weaknesses

  • Enterprise pricing and implementation requirements create barriers for small businesses.
  • Mass-recruitment focus limits customization options for specialized or executive hiring.
  • API documentation and export capabilities are less mature than established ATS platforms.
  • Limited integration ecosystem compared to platforms like Workday or BambooHR.
  • Reporting and analytics dashboards lack depth for advanced workforce planning insights.
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. All 7 core objects map 1:1 between Fountain and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between Fountain and Bullhorn ATS & CRM.

  • 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

    Fountain: Not publicly documented — Fountain does not publish specific per-minute or per-hour API limits.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 15,000 applicants and 3,000 job records without complex custom attribute schemas. Migrations with high document volumes (thousands of attachments), extensive readOnly attribute workarounds, multi-location hierarchies requiring ClientCorporation branching, or large offer and stage history records move to six to ten weeks. Discovery and Bullhorn schema pre-creation (Custom Object and field creation via Bullhorn Support) add two to three weeks before migration begins and should be counted in the overall project timeline.

Adjacent paths

Related migrations to explore

Ready when you are

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