HRMS migration

Migrate from Loxo to BambooHR

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

Loxo logo

Loxo

Source

BambooHR

Destination

BambooHR logo

Compatibility

75%

9 of 12

objects map 1:1 between Loxo and BambooHR.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Loxo to BambooHR is an ATS-to-HRIS migration that requires acknowledging a fundamental schema difference. Loxo stores recruiting data: Candidates with outreach history, Jobs with pipeline stages, Deals for client engagements, and Placements linking placed candidates to requisitions. BambooHR is an HRIS built around Employees as the primary object, with hiring and onboarding as secondary workflows. We map Loxo Candidates to BambooHR Employees, preserving work history, tags, and communication history where the target schema allows. ATS-native objects like Deals, custom pipeline stages, Loxo Outreach sequences, and Placements do not have direct BambooHR equivalents; we store these as custom fields, document them as reference notes, or flag them for rebuild in a dedicated ATS post-migration. This migration is best suited for in-house teams that used Loxo primarily as an applicant tracking system and are consolidating onto BambooHR for HRIS and light recruiting, rather than agencies that rely on Loxo's CRM and deal-tracking capabilities.

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

BambooHR logo

BambooHR

What's pulling them in

  • Lowest friction entry point for SMBs moving off spreadsheets — intuitive interface means most teams are functional within days, not weeks.
  • Consolidation value: BambooHR merges ATS, onboarding, HR records, time-off, and payroll into a single pane of glass that employees never need to leave.
  • Volume discounts applied automatically by headcount, so pricing scales predictably as the company grows without renewal negotiations.
  • BambooHR reports most customers go live in four to six weeks, making it a realistic commitment for under-resourced HR teams.
  • Award-winning Support Heroes cited frequently in reviews — responsive human support after implementation is a differentiator.

Object mapping

How Loxo objects map to BambooHR

Each row shows how a Loxo object lands in BambooHR, 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

BambooHR

Employee (primary)

1:1
Fully supported

Loxo Candidates map to BambooHR Employees with name, email, phone, address, work history, education, and skills preserved as standard or custom fields. Loxo candidate status (active, placed, rejected) migrates to a BambooHR custom field loxo_candidate_status__c. Communication history (emails, calls, notes) migrates to BambooHR Employee Notes if the volume is modest; large histories may be scoped to the most recent 12 months to avoid import performance issues. Candidates who have no existing employee relationship in BambooHR are loaded as Applicants first, then promoted to Employees during onboarding if applicable.

Loxo

Contact (Candidate-facing)

maps to

BambooHR

Employee

1:1
Fully supported

Loxo Contacts tagged or categorized as candidate-facing map to BambooHR Employees using the same field mapping as Candidates. The distinction between candidate and employee contact in Loxo is preserved via a loxo_contact_type__c custom field. All contact properties (phone, email, company association) transfer to the corresponding BambooHR Employee fields.

Loxo

Contact (Client-facing)

maps to

BambooHR

Employee or Company field

lossy
Fully supported

Loxo Contacts tagged as client-facing have no native home in BambooHR's HRIS model. We map these to a BambooHR Employee record only if the contact is also an employee. If the client contact is external (not employed by the company), we store them as a custom Employee field loxo_client_contact__c with the contact name and a reference to the associated Loxo Job or Deal. The customer decides during scoping whether to migrate external client contacts or exclude them and manage them in a separate CRM.

Loxo

Job

maps to

BambooHR

Job Opening (BambooHR ATS add-on) or Employee custom field

lossy
Fully supported

Loxo Jobs have no standard BambooHR equivalent unless BambooHR's optional ATS add-on is active. If the ATS add-on is not in scope, we store Loxo Job name, status, and requirements as a custom field on the associated Employee record (the hired candidate) and document the full job list separately for the customer's admin to recreate in their ATS of choice. If BambooHR ATS is active, Loxo Jobs map to BambooHR Job Openings with stage, description, and assigned hiring manager migrated.

Loxo

Deal (Pipeline)

maps to

BambooHR

No direct equivalent

1:1
Fully supported

Loxo Deals tracking client assignments and revenue have no direct BambooHR equivalent. BambooHR is an HRIS, not a CRM. We do not migrate Deals as structured records. If a Deal references a placed candidate, we link the associated Employee record to the Loxo Deal name via a custom field loxo_associated_deal__c for reference. The customer receives a written Deal inventory listing every Loxo Deal with its stage, value, owner, and associated contacts for manual re-creation in their CRM or pipeline management tool.

Loxo

Placement

maps to

BambooHR

Employee hire date and job title

1:1
Fully supported

Loxo Placements recording placed candidates against a Job and Deal map to BambooHR Employee fields: hire date, start date, job title, and compensation details migrate as standard or custom Employee fields. The association to a specific Loxo Job and Deal is preserved in loxo_original_job__c and loxo_associated_deal__c custom fields for audit trail. BambooHR does not have a dedicated Placement object, so the full placement history (multiple placements per candidate) requires custom fields or a separate reference document.

Loxo

Client Company

maps to

BambooHR

Company field or Employee custom field

lossy
Fully supported

Loxo Client Companies map to BambooHR's Company field on the Employee record if the parent organization is the employer. If Loxo Client Companies represent external organizations (not the employer), they are stored as a custom field loxo_client_company__c on the associated Employee. Company billing information from Loxo does not map to BambooHR and is documented separately for the customer's finance or operations team.

Loxo

Pipeline Stages

maps to

BambooHR

No direct equivalent (HRIS lacks pipeline model)

1:1
Mapping required

Loxo Pipeline stages are a recruiting/CRM concept with no BambooHR equivalent. We extract the full stage list from Loxo during discovery and document it as a reference table for the customer's admin. If BambooHR ATS is active, stages may map to Job Opening statuses. Otherwise, stage history is stored as a custom field on the Employee record if needed for placement audit.

Loxo

Custom Fields

maps to

BambooHR

Custom Employee Fields

1:1
Mapping required

Loxo custom fields on Candidates, Contacts, Jobs, and Deals map to BambooHR custom Employee fields. We extract the full custom field schema (name, type, options) from Loxo during discovery and map each to the equivalent BambooHR field type: text, dropdown, date, number, or checkbox. Custom fields on Jobs and Deals without a BambooHR equivalent are stored as Employee custom fields or documented separately. Field naming conventions differ between platforms; we apply a customer-confirmed naming prefix to avoid collisions with BambooHR system fields.

Loxo

Activities (Emails, Calls, Texts)

maps to

BambooHR

Employee Notes

1:1
Mapping required

Loxo communication history (emails, calls, SMS) logged against Candidates and Contacts migrates to BambooHR Employee Notes. Each activity type is prefixed in the note body for identification. We scope activity history to the most recent 12-24 months to reduce import volume; older histories are exported as a separate CSV reference file. BambooHR's note model does not support threaded conversations, so the original threading context is flattened into a chronological list per employee.

Loxo

Tags and Labels

maps to

BambooHR

Tags

1:1
Fully supported

Loxo tags on Candidates, Contacts, and Jobs migrate to BambooHR Tags. We export all tag associations, resolve duplicates, and apply tags to the corresponding Employee records in BambooHR. Tags that do not exist in BambooHR are created during import. Tag-based candidate segmentation from Loxo is preserved as a tag list on each Employee for filtering and reporting.

Loxo

Attachments (Resumes, Documents)

maps to

BambooHR

Employee Files

1:1
Mapping required

Binary attachments (resumes, cover letters, client agreements) are downloaded from Loxo via API and uploaded to BambooHR Employee Files attached to the corresponding Employee record. Resume files attach to the Employee's application or document storage section. Large file counts may extend the migration timeline; we confirm file volume during discovery.

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

BambooHR logo

BambooHR gotchas

High

Undocumented API rate limits can trigger 503 errors

High

Per-employee pricing model requires active record count verification

Medium

API credentials must be sent on every request to avoid extra round trips

Medium

Custom field schema varies per account and requires manual inventory

Low

Document and attachment exports are not covered by standard report exports

Pair-specific challenges

  • BambooHR has no Deal or Pipeline object

    Loxo Deals and Pipeline stages are recruiting/CRM concepts that have no equivalent in BambooHR's HRIS data model. BambooHR is built around Employees as the primary object and does not include a deal-tracking or revenue-pipeline feature. We do not migrate Deals as structured records. We document every Loxo Deal with its stage, value, owner, and associated contacts in a written inventory for the customer's admin to re-create in their CRM or pipeline tool. This is a fundamental ATS-to-HRIS gap that cannot be resolved through configuration.

  • Loxo duplicate candidates require pre-migration deduplication

    Loxo creates a separate Candidate profile each time the same person is added to a different Job, resulting in multiple Candidate IDs for one physical person. BambooHR's Employee model expects one record per person. We flag these duplicates during extraction, deduplicate by email address, and present the customer with a merge-or-split choice before loading. If the customer chooses to keep separate records, we load each as a distinct Employee and link them via a custom loxo_duplicate_of__c field for reference. Skipping this step results in duplicate Employee records in BambooHR.

  • Loxo Outreach sequences cannot be migrated to BambooHR

    Loxo Outreach campaign automation (email cadence rules, SMS steps, auto follow-up triggers, and tracking configurations) is not exposed through the public API. Active sequences do not migrate as code. We preserve campaign enrollment status and most recent outreach step as Candidate custom properties in a loxo_outreach_status__c field. The customer receives a written sequence inventory documenting each active campaign's cadence and trigger logic for manual rebuild in their new outreach or ATS tool. BambooHR has no native outreach automation feature.

  • Loxo API returns 403 on whitespace in URL parameters

    Loxo's API returns a 403 Forbidden response when URL parameters contain leading or trailing whitespace. This is a known issue when constructing slug-based queries programmatically. We strip all whitespace from parameter values before building API request URLs. If a migration run surfaces a 403, we retry with sanitized parameters before escalating as a data access issue. This affects extraction speed for large record sets where programmatic query construction is used.

  • BambooHR field types require pre-mapping to avoid import rejection

    BambooHR's API enforces field types strictly: text fields reject malformed dates, dropdown fields reject values not in the option list, and required fields block import for incomplete records. Loxo custom fields may use informal naming (e.g., 'Phone' vs 'Phone Number') and inconsistent date formats. We standardize field names and validate data formats against BambooHR's field type schema before any import run. Any records with invalid field values are held in a correction queue with the specific error and the customer resolves before retry.

Migration approach

Six steps for a successful Loxo to BambooHR data migration

  1. Discovery and ATS-to-HRIS scope definition

    We audit the Loxo account across objects: Candidate volume, duplicate candidate counts, Job count and status, Deal volume and pipeline stage count, Placement records, custom field schemas on each object, engagement history volume and age, and tag usage. We confirm with the customer whether BambooHR ATS add-on is active, whether they plan to use a separate ATS post-migration, and whether client-facing Contacts are in scope. The discovery output is a written migration scope document that explicitly lists which Loxo objects map to BambooHR, which become custom fields, and which are documented for rebuild.

  2. Duplicate candidate deduplication and field schema mapping

    We run Loxo's API to extract all Candidates and identify duplicates by email address. We present the customer with a deduplication plan: merge into one Employee record per person, or load separate Employee records with a link field. We simultaneously extract the full custom field schema from Loxo (field name, type, options) and map each to the equivalent BambooHR custom field type. Field naming is standardized against BambooHR's conventions to avoid collisions with system fields.

  3. Sample migration and schema validation in BambooHR sandbox

    We run a test migration of a representative subset (50-100 Employee records with attached notes, tags, and files) into BambooHR using the production target domain. The customer's HR admin validates field accuracy, custom field rendering, and attachment access. Any field mapping corrections, data format issues, or validation rule conflicts surface here before production migration begins. This step also confirms that BambooHR's field type enforcement is satisfied by the transformed data.

  4. Full migration in dependency order

    We execute production migration in record-dependency order: Employees first (all candidates deduplicated and mapped), then Employee custom fields, then Notes and activity history, then Tags and attachments. Custom field data for Jobs, Deals, and Placements attaches to the corresponding Employee record as reference fields. Each phase emits a row-count reconciliation report. We use BambooHR's REST API with rate-limit handling and exponential backoff. The delta window (records created or modified during migration) is captured as a final incremental run before cutover.

  5. Deal and sequence inventory handoff

    We deliver the written Deal inventory listing every Loxo Deal with its stage, value, owner, and associated contacts. We deliver the Loxo Outreach sequence inventory documenting each active campaign's cadence, steps, and trigger logic. Both documents are organized for the customer's admin to re-create deal tracking in a CRM (Salesforce, HubSpot, or Pipedrive) and outreach sequences in a dedicated sales engagement tool (Salesloft, Outreach, or a new ATS with built-in sequencing). This is not a migration of these objects; it is a reference handoff.

  6. Cutover, validation, and go-live support

    We freeze Loxo write access during cutover, run a final delta migration of any records modified during the window, then mark BambooHR as the system of record. We deliver a reconciliation report comparing Loxo record counts against BambooHR Employee counts and flag any discrepancies. We support a one-week hypercare window for the customer's team to report data issues. We do not rebuild Loxo Workflows, Loxo Outreach sequences, or BambooHR reports and dashboards as part of the standard migration scope.

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.
BambooHR logo

BambooHR

Destination

Strengths

  • Single platform consolidating ATS, onboarding, HR records, payroll, and time-off reduces system sprawl for SMBs.
  • Fast implementation — BambooHR reports four to six weeks from kickoff to go-live for most customers.
  • Per-employee pricing with automatic volume discounts makes cost predictable as headcount grows.
  • Strong customer support reputation (Support Heroes) cited consistently across G2, Capterra, and direct testimonials.
  • Well-documented API with UTF-8 encoding, clear field types, and HTTPS-only access.

Weaknesses

  • Mobile application is significantly limited compared to the desktop experience, frustrating remote and field workers.
  • Companies above 150–200 employees frequently outgrow the platform's feature depth and customization surface.
  • Limited advanced reporting and analytics compared to enterprise HR platforms — custom report building is the ceiling.
  • PTO and profile customization are pain points — non-standard accrual policies and complex org structures require workarounds.
  • Document management and attachment handling lack the granularity of dedicated document-centric HR systems.

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 BambooHR.

  • 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 BambooHR 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 BambooHR data migrations

Answers to the questions buyers ask most during Loxo to BambooHR migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Loxo to BambooHR 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 2,000 Candidates with no Deals, modest engagement history, and clean custom field schemas. Migrations with large engagement histories (over 50,000 activity records), significant duplicate-candidate volumes, multiple Loxo workspaces, or scope that includes BambooHR ATS add-on configuration move to six to ten weeks. Timeline depends heavily on how much ATS-specific data (Jobs, Deals, Placements) the customer chooses to document versus migrate as custom fields.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Loxo.
Land in BambooHR, 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