HRMS migration

Migrate from Loxo to Bullhorn ATS & CRM

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

Loxo logo

Loxo

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

71%

10 of 14

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Loxo to Bullhorn is a structural migration for staffing agencies that need deeper VMS and MSP integration, longer market track record, and a more granular placement-to-billing workflow. Loxo stores people as unified Candidates; Bullhorn splits people into Candidate records (job-seekers) and ClientContact records (client-side contacts), requiring a schema decision upfront. We extract the full pipeline stage list from Loxo's customizable Deal model, apply a customer-confirmed mapping to Bullhorn's Opportunity stage values, and preserve placement compensation and start dates in Bullhorn's Placement object. Loxo Outreach sequences and automation do not migrate; we deliver a written inventory of active campaigns and recommended Bullhorn equivalent configuration. The Bullhorn Launch program provides a self-guided implementation path included in subscription; data imports above 15,000 records require Bullhorn professional services coordination.

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

Loxo logo

Loxo

What's pushing teams away

  • Email and SMS automation failures cause recruiters to fall back to manual outreach, defeating the purpose of the platform and creating extra work during active searches.
  • The AI matching quality is inconsistent — users with niche skillset requirements report that Loxo Source produces outdated results that do not replace LinkedIn Recruiter.
  • Users on Capterra report being misled on sales calls about sourcing capabilities, with promised integrations absent after purchase, leading to non-renewal and billing disputes.
  • Multiple users report duplicate candidate profiles when the same person applies to different jobs, creating messy databases that require manual cleanup.
  • The deal pipeline board is difficult to use for managing business development workflows, pushing some users toward platforms purpose-built for CRM-style pipeline management.

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

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

Loxo

Candidate

maps to

Bullhorn ATS & CRM

Candidate and ClientContact (split required)

1:many
Fully supported

Loxo Candidates unify job-seekers and client-side contacts under one object with a type property distinguishing them. Bullhorn splits these into Candidate (job-seekers with skills, resume, experience) and ClientContact (client-side people with company association). We compute the split at migration time using Loxo's candidate_type property or tagging logic, create both Bullhorn records, and link them with a custom field loxo_original_id__c on each for cross-reference audit.

Loxo

Contact (client-side)

maps to

Bullhorn ATS & CRM

ClientContact

1:1
Fully supported

Loxo client contacts map to Bullhorn ClientContact with company linked to ClientCorporation. We preserve phone, email, title, and custom properties. Address data migrates to Bullhorn's address compound field structure. Any Loxo contact tags map to Bullhorn ClientContact categories or a custom multi-select picklist.

Loxo

Client Company

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

Loxo Client Companies map to Bullhorn ClientCorporation with the company name as the dedupe key. Parent-child hierarchy migrates via the parentCompany relationship. Billing address, industry, and revenue range map to Bullhorn standard fields; custom properties migrate to Bullhorn custom fields if the edition supports them.

Loxo

Job

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Loxo Jobs map to Bullhorn JobOrder with title, description, requirements, and status preserved. Custom job fields map to Bullhorn custom fields on JobOrder. The job's assigned owner migrates via email lookup to Bullhorn User. Published job links and career portal URLs are preserved as text fields for redirect configuration after cutover.

Loxo

Deal

maps to

Bullhorn ATS & CRM

Opportunity

1:1
Fully supported

Loxo Deals map to Bullhorn Opportunity. The Loxo pipeline becomes a Bullhorn Record Type with a corresponding Sales Process that defines the stage values. Closed-Lost and Closed-Won reasons from Loxo custom properties become Bullhorn Opportunity LossReason fields. We validate that the mapped Bullhorn Sales Process has the required stage values before migration.

Loxo

Pipeline Stage

maps to

Bullhorn ATS & CRM

Opportunity Stage (Sales Process)

lossy
Fully supported

Loxo's customizable pipeline stages are org-specific and stored per Deal. We extract the full stage list from the Loxo API during scoping, present it to the customer for confirmation, and map each stage to a Bullhorn Opportunity StageName. Bullhorn's default Sales Process is extended with the customer-confirmed stage list. If multiple Loxo pipelines exist, each becomes a Bullhorn Record Type with its own Sales Process.

Loxo

Placement

maps to

Bullhorn ATS & CRM

Placement

1:1
Fully supported

Loxo Placements record placed candidates against a Job and Deal, including start date, compensation, and status. Bullhorn has a native Placement object with fields for candidate (Candidate lookup), job (JobOrder lookup), client corporation (ClientCorporation lookup), start date, end date, pay rate, bill rate, and status. We map Loxo placement compensation details to Bullhorn's pay rate and bill rate fields, preserving the linked JobOrder and the placed Candidate record.

Loxo

Custom Fields (Candidates, Contacts, Jobs, Deals)

maps to

Bullhorn ATS & CRM

Custom Fields and Custom Objects

lossy
Fully supported

Loxo custom fields on Candidates, Contacts, Jobs, and Deals map to Bullhorn custom fields. Bullhorn ATS edition supports 2 custom objects; Growth and Enterprise support 10 custom objects with 55 fields each. We pre-coordinate the Bullhorn Support ticket for custom object creation during scoping so the schema is ready before migration. Custom field types (text, picklist, date, number) map to Bullhorn field types with edit types confirmed during scoping.

Loxo

Activities: Emails, Calls, Texts, Notes

maps to

Bullhorn ATS & CRM

Task, Event, Note

1:1
Fully supported

Loxo engagement history (email threads, call logs, SMS, and notes) migrates to Bullhorn Task and Event records. Call disposition and duration map to Bullhorn Task fields. Emails attach to the activity timeline via Task with the body preserved. We scope engagement history to the most recent 12-24 months per Loxo's documented recommendation to reduce fragmented thread import. Bullhorn's Activity DateTime ordering is preserved from the original Loxo timestamps.

Loxo

Attachments: Resumes, Documents

maps to

Bullhorn ATS & CRM

Candidate Document and ContentDocument

1:1
Fully supported

Binary attachments stored per Loxo record (resumes, cover letters, client agreements) are extracted from the API as file URLs and re-uploaded to Bullhorn. Resumes attach to Bullhorn Candidate records via the document management system. Large file counts may require chunked download/upload with hash verification to confirm fidelity. We flag any attachment that exceeds Bullhorn's file size limit for manual handoff.

Loxo

Tags and Labels

maps to

Bullhorn ATS & CRM

Categories or Custom Picklist

lossy
Fully supported

Loxo tags on Candidates, Contacts, and Jobs migrate to Bullhorn category associations. Bullhorn uses a category/tagging system on records that we populate during import. If the customer uses a tag strategy for segmentation, we recommend mapping to Bullhorn custom picklist fields for searchability rather than notes-only tags.

Loxo

User and Owner Assignments

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Every Loxo record has an assigned Owner linked by user ID and email. We resolve Loxo owner assignments to Bullhorn User records by email match. Any Loxo owner without a matching Bullhorn User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Active versus inactive status is preserved from the Loxo owner record.

Loxo

Outreach Campaigns (Loxo Outreach)

maps to

Bullhorn ATS & CRM

Not migrated (inventory delivered)

1:1
Not supported

Loxo Outreach sequences, email cadence rules, SMS steps, and auto follow-up triggers are not exposed through the Loxo public API and cannot be migrated as configuration. We preserve the most recent outreach status as Candidate custom properties (last campaign name, last step reached, last outreach date) so the destination Bullhorn team knows where each candidate sits without rebuilding from scratch. We deliver a written inventory of all active Loxo Outreach campaigns for the customer's admin to configure in Bullhorn or a third-party sales engagement tool.

Loxo

Client Portal Settings

maps to

Bullhorn ATS & CRM

Not migrated (configuration documented)

1:1
Not supported

Loxo's client portal configuration (branding, shared job visibility, report templates) is tied to the instance-level portal setup and is not accessible via API. Bullhorn's client portal is a separate configuration. We do not migrate these settings. We deliver a written summary of the current Loxo portal configuration for the customer's Bullhorn admin to replicate in Bullhorn's portal settings.

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.

Loxo logo

Loxo gotchas

High

API returns 403 on trailing spaces in URL parameters

High

Outreach campaign automation not available via API

Medium

Duplicate candidate profiles for multi-job candidates

Medium

Loxo Connect email boundary risk

Low

Pricing discrepancy between published tiers and actual invoices

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

  • Loxo creates duplicate Candidate profiles for multi-job applicants

    When the same person applies to multiple Jobs in Loxo, the platform creates separate Candidate records rather than linking to an existing profile. This means one physical person can have multiple Candidate IDs. We flag these duplicates during extraction by matching on email and phone, present a deduplication option to the customer before loading into Bullhorn, and let them choose to merge records or keep them separate based on their workflow. Skipping this step creates duplicate Bullhorn Candidate records that inflate the candidate database and confuse placement matching.

  • Bullhorn custom objects require a Support ticket to create

    Bullhorn does not allow custom objects to be created via self-service administration. Each custom object (up to 10 on Growth/Enterprise, 2 on Bullhorn ATS) must be requested through Bullhorn Support using the Custom Object Setup Sheet. We coordinate this ticket during the scoping phase so the schema is ready before data migration begins. If the migration runs before custom objects are provisioned, fields that should map to custom objects will fall back to standard fields or notes, requiring a second data patch.

  • Loxo Outreach sequences have no Bullhorn API equivalent

    Loxo Outreach manages automated email and SMS sequences with cadence rules and tracking that are not exposed through the Loxo public API. Active sequences cannot be migrated directly. We preserve the last outreach step and campaign enrollment status as custom properties on the Candidate record in Bullhorn so the team knows where each person sits in a sequence. We deliver a written inventory of all active Loxo Outreach campaigns (campaign name, step count, step type, delay days, trigger logic) for the customer's Bullhorn admin to rebuild using Bullhorn's workflow builder or a third-party sales engagement tool like Salesloft or Outreach.

  • Loxo Connect email boundary risk during activity migration

    Loxo Connect syncs emails between a user's personal inbox and candidate records. Emails sent from a personal address to a candidate's work email can end up in the wrong contact record or be unlinked during extraction. We recommend scoping candidate communication history to the most recent 12-24 months to reduce the risk of importing fragmented or misaligned email threads, and we validate email-address ownership before mapping. Full historical email threads with gaps are flagged as a known limitation in the migration report.

  • Bullhorn editions limit custom field capacity differently

    Bullhorn ATS edition supports 2 custom objects with 55 fields each. Bullhorn Growth and Enterprise support 10 custom objects with 55 fields each. If the source Loxo org has custom field schemas that exceed Bullhorn ATS capacity, the customer needs to upgrade to Growth or Enterprise before migration, or consolidate custom fields into a smaller set. We audit the Loxo custom field count during scoping and confirm the target Bullhorn edition can accommodate the schema before migration begins.

Migration approach

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

  1. Discovery and edition selection

    We audit the source Loxo portal across tier (Free/Basic/Professional/Enterprise), custom field schemas on each object, pipeline and stage count, active outreach campaigns, candidate deduplication status, and engagement volume. We pair this with a Bullhorn edition decision: Bullhorn ATS ($99/user) covers most migrations with minimal custom fields; Bullhorn Growth/Enterprise ($199-$315/user) is required if the customer needs more than 2 custom objects or advanced VMS connector access. The discovery output is a written migration scope and a Bullhorn edition recommendation with any required custom object Support ticket initiated.

  2. Schema design and stage mapping

    We design the destination schema in Bullhorn. This includes confirming the Candidate versus ClientContact split rules for Loxo people records, mapping Loxo pipeline stages to Bullhorn Opportunity StageName values via a confirmed Sales Process, creating Bullhorn custom fields for any Loxo custom properties that don't map to standard Bullhorn fields, and provisioning Bullhorn custom objects via the Support ticket (if applicable). Bullhorn does not allow custom object creation via API; we coordinate the Support ticket during this phase and confirm schema readiness before data extraction begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn sandbox environment using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, ClientContacts in, ClientCorporations in, JobOrders in, Opportunities in, Placements in), spot-checks 25-50 random records against the Loxo source, and validates the stage mapping and custom field population. Any mapping corrections happen in the sandbox, not in production. The customer signs off the sandbox validation before production migration begins.

  4. Owner reconciliation and User provisioning

    We extract every distinct Loxo Owner referenced on Candidate, Contact, Company, Job, Deal, and Placement records and match by email against the Bullhorn destination org's User table. Owners without a matching Bullhorn User go to a reconciliation queue. The customer's Bullhorn admin provisions any missing Users (active or inactive depending on whether the original Loxo user is still active). Migration cannot proceed past this step because Owner lookups are required on most Bullhorn standard objects.

  5. Production migration in dependency order

    We run production migration in record-dependency order: ClientCorporations (from Loxo Client Companies), Candidates and ClientContacts (with type split applied), JobOrders, Opportunities (with RecordTypeId and stage mapping resolved), Placements (with CandidateId, JobOrderId, and ClientCorporationId resolved), Activity history (Tasks and Events via Bullhorn REST API with chunking), and Custom Objects last. Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn Launch provides the included self-guided implementation path; we coordinate with Bullhorn professional services if the data import exceeds the 15,000-record included limit.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Loxo 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 Loxo Outreach campaign inventory and Client Portal configuration summary to the customer's Bullhorn admin team with recommended Bullhorn equivalent configuration steps. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruiting team. We do not rebuild Loxo Outreach sequences as Bullhorn workflows inside the migration scope; that is documented separately for the customer's admin or Bullhorn partner to implement.

Platform deep dives

Context on both ends of the pair

Loxo logo

Loxo

Source

Strengths

  • Bundles ATS and CRM into one platform, replacing multiple separate tools for candidate tracking and client management.
  • Loxo Source provides a searchable database of over 800 million professionals with verified contact information built into the candidate record.
  • AI-powered candidate matching and ranking learn from recruiter behavior over time, surfacing suggestions on subsequent searches.
  • Omni-channel outreach (email, SMS, LinkedIn) with automation and auto follow-ups consolidates engagement into a single workflow.
  • Free tier provides a full ATS and Recruiting CRM indefinitely, allowing teams to try the platform before committing.

Weaknesses

  • AI capabilities are layered on top of legacy architecture, limiting how deeply automation can handle high-volume workflows compared to newer AI-native platforms.
  • The API lacks publicly documented rate limits, making it difficult to plan bulk extraction without risking 403 responses during large migrations.
  • Campaign automation and outreach configuration are not fully exposed via the public API, preventing migration of active sequences.
  • The client portal is a secondary focus; client-side users report limited visibility into pipeline progress and prefer email updates from recruiters.
  • Duplicate candidate profiles are created when the same person applies to multiple jobs, requiring manual deduplication after migration.
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 Loxo 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

    Loxo: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Loxo 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 3,000 Deals with no custom objects and a confirmed stage mapping. Migrations with custom objects (requiring Bullhorn Support ticket setup), high placement counts, large engagement histories, or MSP/VMS workflow configurations move to eight to twelve weeks because of schema coordination, stage mapping validation, and Bullhorn custom object provisioning time. Bullhorn Launch provides a self-guided implementation included in subscription that runs parallel to data migration.

Adjacent paths

Related migrations to explore

Ready when you are

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