HRMS migration

Migrate from Smart Hire to Bullhorn ATS & CRM

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

Smart Hire logo

Smart Hire

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

58%

7 of 12

objects map 1:1 between Smart Hire and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Smart Hire to Bullhorn is a structured migration from a CSV-first AI screening platform to an API-first ATS and CRM built for staffing agencies. Smart Hire organizes hiring around Candidates, Job Openings, Screening Sessions, and Assessment Results, with exports delivered as CSV downloads rather than a documented REST endpoint. We automate that CSV extraction, normalize assessment scores to the destination's custom field schema, and reconstruct the candidate-to-job associations that span multiple export files. Bullhorn's Custom Objects require pre-configuration via a support ticket and schema spreadsheet before any assessment or screening data loads; we coordinate that setup during scoping. Workflows, automations, and custom career site configurations do not migrate; we deliver a written inventory of these for your admin to rebuild in Bullhorn's workflow builder.

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

Smart Hire logo

Smart Hire

What's pushing teams away

  • Catalog website (smarthire-rh.com) currently returns connection errors — vendor presence and product continuity may be in doubt for this specific URL.
  • Multiple unrelated products share the 'Smart Hire' brand (smart-hire.ai, smarthire.website, usasmarthire.com, smart-hire.cloud, smarthire.app), creating confusion about which vendor is actually in scope.
  • No public API documentation surfaced through major review aggregators, limiting programmatic data extraction for migrations.
  • Pricing is not published for the catalog URL — buyers cannot evaluate cost without a sales conversation, and that conversation may not be possible if the site is non-responsive.
  • Very thin public review footprint for the specific smarthire-rh.com instance makes due diligence and vendor stability assessment difficult.

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

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

Smart Hire

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Smart Hire Candidate records map to Bullhorn Candidate with name, email, phone, address, work history, education, and skills preserved. We parse the main profile CSV and any linked screening session records, then write Candidate records via Bullhorn REST API. The candidate's primary email becomes the dedupe key. Custom properties export as free-text key-value pairs in Smart Hire; we detect type mismatches (dates stored as strings, booleans as yes/no text) during profiling and apply type-coercion before insert.

Smart Hire

Job Opening

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Smart Hire Job Openings map to Bullhorn JobOrder with title, department, location, employment type, and description. We preserve the original job ID as a custom field for cross-reference. Pipeline stages (Applied, Screening, Interview, Offer, Hired) from Smart Hire map to Bullhorn JobOrder status values, with the stage ordering and naming preserved per job.

Smart Hire

Screening Session

maps to

Bullhorn ATS & CRM

Custom Object or Candidate custom fields

lossy
Fully supported

Smart Hire Screening Sessions link a candidate to a specific assessment round. Bullhorn has no native screening session object, so we provision a Custom Object via Bullhorn Support ticket if the customer is on Bullhorn ATS or Enterprise tier (ATS Growth does not support Custom Objects). Each screening session becomes a Custom Object instance linked to the Candidate record, capturing session date, assessment type, and status. If the edition does not support Custom Objects, we attach session metadata as custom fields on the Candidate record.

Smart Hire

Psychometric Assessment

maps to

Bullhorn ATS & CRM

Custom Object fields

1:1
Fully supported

Smart Hire stores assessment scores and competency rankings in internal scale format. Bullhorn does not have a native psychometric store; we map raw scores, percentile ranks, and competency ratings to Bullhorn Custom Object fields. Score normalization requires us to validate score ranges during pre-migration profiling because Smart Hire's scale may not match any standardized benchmark. We preserve the raw numeric value and the scale label as separate fields rather than converting to a non-equivalent Bullhorn scale.

Smart Hire

Candidate-Application association

maps to

Bullhorn ATS & CRM

JobSubmission

1:1
Fully supported

Smart Hire stores candidate-to-job associations as foreign key IDs in the candidate and job export files. When these span multiple CSV files, the association can fragment. We reconstruct the link by matching candidate IDs to application records during the transformation phase, then write Bullhorn JobSubmission records that link the Candidate and JobOrder. A reconciliation step confirms every migrated candidate is attached to at least one job opening before cutover.

Smart Hire

Attachment (resume, documents)

maps to

Bullhorn ATS & CRM

Candidate.attachments or ContentDocument

1:1
Fully supported

Smart Hire resumes and supporting documents export as downloadable files linked to candidate records. We export these as binary assets, map file type and content to Bullhorn's attachment handling, and attach them to the corresponding Candidate record via ContentDocumentLink. If the resume content was parsed into Smart Hire's structured fields (rather than stored as a file), we ensure that parsed data is reflected in the Candidate's description or skills fields.

Smart Hire

User (hiring manager, recruiter)

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Smart Hire user accounts with role assignments map to Bullhorn User records. We resolve users by email match against the Bullhorn destination org. Any Smart Hire user without a matching Bullhorn User goes to a reconciliation queue for your admin to provision before record import resumes. Role terminology differs between platforms; Smart Hire's recruiter role maps to Bullhorn's internal recruiter assignment field.

Smart Hire

Pipeline Stage configuration

maps to

Bullhorn ATS & CRM

JobOrder status configuration

lossy
Fully supported

Smart Hire's per-job pipeline stages (Applied, Screening, Interview, Offer, Hired) map to Bullhorn JobOrder status values. We extract the full stage configuration from Smart Hire including stage names, ordering, and any custom stage definitions, then configure matching status values in Bullhorn. If Smart Hire has stages not present in Bullhorn's standard list, we create custom status values.

Smart Hire

Custom Properties (candidate)

maps to

Bullhorn ATS & CRM

Candidate custom fields or Custom Object fields

lossy
Fully supported

Smart Hire custom fields on candidate records export as free-text key-value pairs. During profiling we detect type mismatches (dates stored as strings, numeric IDs stored as text) and apply coercion. Custom fields are mapped to Bullhorn Candidate custom fields if the destination supports them, or to Custom Object fields on the Candidate entity. Field names from Smart Hire are preserved as labels with API-safe names generated for Bullhorn.

Smart Hire

Custom Properties (job)

maps to

Bullhorn ATS & CRM

JobOrder custom fields

lossy
Fully supported

Smart Hire custom fields on job openings (such as internal requisition codes, department-specific attributes, or compensation bands) map to Bullhorn JobOrder custom fields. We read the full custom property schema during profiling, map each field to an equivalent Bullhorn field or create a custom field, and validate that required fields on Bullhorn JobOrder are populated.

Smart Hire

Talent Pool (candidate pool)

maps to

Bullhorn ATS & CRM

Candidate with Tag or List membership

lossy
Fully supported

Smart Hire's talent pipeline management stores candidates in pools for future openings. We map talent pool membership to Bullhorn Candidate records with Tag or List membership. If the destination Bullhorn instance has Bullhorn Pro or Enterprise with automation, we map pool membership to a Bullhorn List or Tag that the customer's team can use to filter for future job submissions.

Smart Hire

Career Site configuration

maps to

Bullhorn ATS & CRM

Not migrated

1:1
Fully supported

Smart Hire's custom career sites and white-label branding are platform-specific and cannot be exported as structured data. We document the career site URL, page structure, and any embedded Smart Hire job board references so your Bullhorn admin can configure Bullhorn Career Portal or a third-party career site builder post-migration. This is a manual rebuild item outside data migration scope.

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.

Smart Hire logo

Smart Hire gotchas

High

Export mechanism is CSV-based, not REST API

Medium

Assessment score normalization requires field mapping

Medium

Custom fields may be untyped in CSV exports

Medium

Candidate-to-job associations can split during multi-file exports

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

  • Smart Hire exports are CSV-based, not REST API

    Smart Hire does not expose a documented public REST API for bulk data export. The primary export path is CSV downloads from the admin dashboard, which we automate via authenticated session scraping. If candidate records span multiple pages or use custom export filters, we iterate through each view to ensure complete data capture. This extends profiling time compared to API-first platforms like Bullhorn and requires additional validation to confirm no records were truncated or filtered out of the export window.

  • Bullhorn Custom Objects require Support ticket setup before migration

    Bullhorn Custom Objects cannot be created via the REST API alone. They must be provisioned by Bullhorn Support using a Custom Object Setup Spreadsheet that defines each field's display name, type, required flag, and edit type. Smart Hire's assessment and screening session data often has no standard Bullhorn equivalent, so Custom Objects are typically required. We coordinate the Support ticket during scoping, wait for Bullhorn to provision the schema, then validate the custom object structure before loading any assessment data.

  • Assessment score normalization lacks a universal mapping standard

    Smart Hire psychometric scores are stored in an internal scale format that is not standardized against external benchmarks. Bullhorn has no native assessment store, so scores must be mapped to Bullhorn Custom Object fields as raw numeric values and scale labels. We validate score ranges during pre-migration profiling to catch truncated or improperly formatted assessment data, but we cannot automatically convert Smart Hire's proprietary scoring to a Bullhorn-compatible format. Customers with multiple assessment types may need to define a normalization strategy during scoping.

  • Bullhorn ATS tier limits Custom Objects to 2

    Bullhorn ATS (entry-level tier) supports only 2 Custom Objects per entity, while Bullhorn ATS Growth has none and Bullhorn Front Office Growth/Enterprise supports 10. If Smart Hire's migration scope requires more than 2 custom objects for assessment, screening session, or compliance data, the customer must upgrade to a Bullhorn edition that supports the required schema. We identify this constraint during scoping and flag the edition requirement before production migration begins.

  • Custom fields exported as untyped free text in CSV

    Smart Hire custom properties on candidate and job records often export as free-text strings even when they represent dates, numbers, or booleans. We detect type mismatches during the profiling phase and apply type-coercion rules before inserting into Bullhorn. If a custom field references a deleted or archived option value, we flag it for manual review. Any custom field that maps to a Bullhorn required field with a wrong type will block record insert until corrected.

Migration approach

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

  1. Discovery and export automation scoping

    We audit the Smart Hire instance across custom properties, assessment types, screening session volume, job opening count, and candidate pool membership. We automate the CSV export flow via authenticated session scraping, iterating through all candidate pages, job pages, and screening session exports. We document the full custom property schema and assess whether Bullhorn's standard fields cover the schema or whether Custom Objects are needed. The discovery output is a written migration scope and a Bullhorn edition recommendation if Custom Object limits are a constraint.

  2. Bullhorn Custom Object provisioning coordination

    If the migration scope requires Bullhorn Custom Objects for assessment or screening data, we open a Support ticket with Bullhorn using the Custom Object Setup Spreadsheet template. We complete the spreadsheet with field names, types, required flags, and edit types derived from Smart Hire's custom property schema. We coordinate with the customer's Bullhorn admin to submit the ticket, then validate the provisioned schema against our migration mapping before any data loads. This step runs in parallel with export automation development.

  3. Schema design and field mapping

    We design the destination Bullhorn schema including standard field mappings for Candidate, JobOrder, JobSubmission, and User, plus any Custom Object schemas for assessment and screening session data. We define the candidate-to-job association rules and the assessment score normalization strategy. Bullhorn field types are matched to Smart Hire source types (string, date, integer, boolean, picklist), with type-coercion rules documented for any mismatches found during profiling.

  4. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn sandbox using production-like data volume. The customer's recruiting operations lead reconciles record counts (candidates in, jobs in, submissions in, assessments in), spot-checks 25-50 random records against the Smart Hire source, and validates that candidate-to-job associations are intact. Any mapping corrections or Bullhorn field type adjustments happen here, not in production. The sandbox sign-off gates production migration.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (manual provisioning, validated first), JobOrders (foundational for submissions), Candidates (with assessment data), JobSubmissions (linking candidates to jobs), Attachments (linked to Candidates), and Custom Object instances (last because they reference Candidates and JobOrders). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn REST API handles standard object writes; we use batch chunking for large volumes.

  6. Cutover, validation, and workflow rebuild handoff

    We freeze Smart Hire 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 inventory of Smart Hire workflows, automations, and career site configurations that require manual rebuild in Bullhorn. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Smart Hire automations as Bullhorn workflows inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Smart Hire logo

Smart Hire

Source

Strengths

  • AI-assisted CV screening reduces manual resume review for high-volume roles
  • Psychometric and skills assessments are natively integrated into the screening workflow
  • Talent pipeline management supports building candidate pools for future openings
  • Custom career sites can be embedded or white-labeled for employer branding
  • Free job posting tier available with basic platform access

Weaknesses

  • API documentation is not publicly indexed, limiting programmatic migration access
  • Limited public pricing information makes cost-of-migration estimation harder
  • Smaller market presence means fewer third-party integration connectors
  • Export capabilities are primarily CSV-based rather than structured API endpoints
  • Support responsiveness and documentation depth lag behind enterprise ATS platforms
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 Smart Hire and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between Smart Hire 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

    Smart Hire: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Smart Hire 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 three and five weeks for accounts under 20,000 candidates and 500 job openings with straightforward custom field schemas. Migrations with large screening session histories, multiple psychometric assessment types requiring Custom Object setup, or Bullhorn edition upgrades to support Custom Object limits move to eight to twelve weeks because of CSV export iteration, association reconciliation, and Bullhorn Support coordination for schema provisioning.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Smart Hire.
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