HRMS migration
Field-level mapping, validation, and rollback between Loxo and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Loxo
Source
Recruit CRM & ATS
Destination
Compatibility
8 of 12
objects map 1:1 between Loxo and Recruit CRM & ATS.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Loxo to Recruit CRM is a lateral-category migration between two ATS-and-recruiting-CRM platforms, but the object schemas differ enough to require deliberate mapping decisions. Loxo's unified Candidate object covers both client contacts and candidate people; Recruit CRM separates these into People records with a role type that we set at migration time. Loxo's Deal pipeline board uses customizable stages stored per record; Recruit CRM uses Positions with configurable pipelines and stage lists we configure before data arrives. The most common friction point is Loxo's tendency to create duplicate Candidate profiles when the same person applies to multiple Jobs — we detect these by email during extraction and present a merge-or-split choice before loading. Outreach sequence enrollment history cannot migrate as automation but is preserved as a candidate property so the destination team knows where each person sits in a cadence without rebuilding from scratch.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Loxo object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Loxo
Candidate
Recruit CRM & ATS
People
1:1Loxo Candidates map to Recruit CRM People records. During extraction we distinguish candidate-type people from client-contact-type people using the record's associated Job and Deal associations, then set the role type on the Recruit CRM People record accordingly. We preserve all standard fields (name, email, phone, address, tags, skills) plus Loxo custom properties as custom fields on the People record.
Loxo
Contact (client)
Recruit CRM & ATS
People
1:1Loxo client Contacts map to Recruit CRM People records with role type set to Client Contact. We preserve company association, custom fields, and activity history linked to the contact. Company-level lookup resolves against the Organizations imported from Loxo Client Companies.
Loxo
Client Companies
Recruit CRM & ATS
Organization
1:1Loxo Client Companies map directly to Recruit CRM Organizations. We preserve billing information, address, industry, and any custom fields. Parent-child hierarchy maps to Recruit CRM's organizational hierarchy if the customer has configured parent/child company structures in Loxo.
Loxo
Jobs (Requisitions)
Recruit CRM & ATS
Position
1:1Loxo Jobs map to Recruit CRM Positions with job title, description, requirements, status, assigned team members, and custom fields preserved. Positions are imported before Candidates so that the candidate-to-position association can be resolved during the People import phase.
Loxo
Deals (Pipeline)
Recruit CRM & ATS
Deal or Opportunity
lossyLoxo Deals map to Recruit CRM Deals (or Opportunities depending on the customer's CRM configuration preference). We extract the current stage name from each Deal record and apply it to the destination stage list that we configure in Recruit CRM before migration. Closed-Lost and Closed-Won status and any custom deal properties migrate as custom fields.
Loxo
Pipeline Stages
Recruit CRM & ATS
Stage List
lossyLoxo's per-organization customizable pipeline stages are extracted from the API and mapped to Recruit CRM stage values. We apply a customer-confirmed mapping document during import so that the stage name on each Deal matches a valid stage in Recruit CRM. Stage probability percentages migrate as metadata rather than as record values.
Loxo
Placement
Recruit CRM & ATS
Placement (custom field on Position or Deal)
lossyLoxo Placements record placed candidates against a Job and Deal with start date, compensation, and status. Recruit CRM does not have a dedicated Placement object at all tiers. We store placement data as a structured custom field set on the relevant Position or Deal record, preserving candidate reference, start date, compensation, and status so the placement history is visible in context.
Loxo
Custom Fields
Recruit CRM & ATS
Custom Fields
1:1Loxo custom fields on Candidates, Contacts, Jobs, and Deals are exported with field name, type, and picklist options. We create matching custom fields in Recruit CRM before migration, handling type mapping (text to text, date to date, picklist to picklist) and applying field-level mapping during import. Recruit CRM plan tier limits apply: base plan allows 15 custom fields, so we flag overflow and work with the customer to prioritize the most business-critical fields if needed.
Loxo
Activities (Emails, Calls, Texts, Notes)
Recruit CRM & ATS
Activities (linked to People)
1:1Loxo engagement records (emails, calls, SMS, notes) migrate as activity records linked to the corresponding Recruit CRM People record. We preserve the most recent 12-24 months of activity history as recommended by Loxo's own guidance on Loxo Connect email alignment. Emails, calls, and texts attach as notes or activity entries with timestamp, direction, and content preserved. Older activity history is excluded from migration scope to reduce import volume and avoid fragmented email threads.
Loxo
Attachments (Resumes, Documents)
Recruit CRM & ATS
Documents
1:1Binary attachments (resumes, cover letters, client agreements) are downloaded from Loxo via the API using file URL references and re-uploaded to Recruit CRM as documents linked to the parent People or Position record. Large file counts may require extended migration windows and are validated post-upload to confirm link integrity.
Loxo
User / Owner
Recruit CRM & ATS
User
1:1Loxo Owner assignments map to Recruit CRM Users by email match. We extract every distinct owner across all record types, match by email against the destination system's user table, and flag any owners without a corresponding Recruit CRM user for the customer's admin to provision before record import resumes.
Loxo
Outreach Campaigns (Loxo Outreach)
Recruit CRM & ATS
Campaign Enrollment Status (custom field)
lossyLoxo Outreach sequences, cadence rules, and automation triggers are not exposed via the public API and cannot be migrated as active automation. We preserve the most recent outreach enrollment status, step position, and campaign name as custom fields on the Candidate record in Recruit CRM so the destination team knows where each candidate sits in a cadence without needing to rebuild from scratch. Active sequences require rebuild in Recruit CRM's native automation builder.
| Loxo | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate | People1:1 | Fully supported | |
| Contact (client) | People1:1 | Fully supported | |
| Client Companies | Organization1:1 | Fully supported | |
| Jobs (Requisitions) | Position1:1 | Fully supported | |
| Deals (Pipeline) | Deal or Opportunitylossy | Mapping required | |
| Pipeline Stages | Stage Listlossy | Mapping required | |
| Placement | Placement (custom field on Position or Deal)lossy | Fully supported | |
| Custom Fields | Custom Fields1:1 | Mapping required | |
| Activities (Emails, Calls, Texts, Notes) | Activities (linked to People)1:1 | Fully supported | |
| Attachments (Resumes, Documents) | Documents1:1 | Mapping required | |
| User / Owner | User1:1 | Fully supported | |
| Outreach Campaigns (Loxo Outreach) | Campaign Enrollment Status (custom field)lossy | Not supported |
Gotchas + challenges
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 gotchas
API returns 403 on trailing spaces in URL parameters
Outreach campaign automation not available via API
Duplicate candidate profiles for multi-job candidates
Loxo Connect email boundary risk
Pricing discrepancy between published tiers and actual invoices
Recruit CRM & ATS gotchas
API rate limits are license-scaled and can throttle bulk migration
Custom field schemas vary per organization and require field-level mapping
Files and email attachments require separate extraction and re-upload
Email sequences and automation logic do not transfer between platforms
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source Loxo instance across record counts (Candidates, Contacts, Client Companies, Jobs, Deals, Placements), custom field schemas per object, pipeline stage names, active outreach campaigns, activity history volume, and duplicate detection results. We pair this with a Recruit CRM plan tier review to confirm custom field limits and record caps. The discovery output is a written migration scope with record counts, deduplication recommendations, and a Recruit CRM plan tier recommendation if the customer's current tier cannot accommodate the migrated schema.
Schema design and Recruit CRM configuration
We design the destination schema in Recruit CRM before any data arrives. This includes creating Positions with the correct field structure, configuring pipeline stages with a customer-confirmed mapping from Loxo stage names, provisioning custom fields with type-mapped equivalents for every Loxo custom property in scope, and setting up Organizations and Deals with their respective structures. Recruit CRM plan tier limits are applied at this stage to determine which custom fields can be created.
Deduplication analysis and customer sign-off
We run duplicate detection on Loxo Candidates by email address and produce a deduplication report before loading data. Each duplicate group is presented to the customer's admin with the option to merge (into a single Recruit CRM People record with all job associations preserved) or retain separately. This step is completed and signed off before production migration begins so that the import script reflects the customer's chosen deduplication strategy.
Sandbox validation
We run a full migration into Recruit CRM using a sandbox or pre-production environment with production-like data volume. The customer's admin reviews record counts, spot-checks 25-50 records against the Loxo source for field accuracy, and validates that pipeline stage mapping and custom field values landed correctly. Any mapping corrections are made in this phase. Sign-off on sandbox results gates the production migration start date.
Production migration in dependency order
We run production migration in record dependency order: Organizations (from Loxo Client Companies), Positions (from Loxo Jobs), People (from Loxo Candidates and Contacts with deduplication applied), Deals (from Loxo Deals with stage mapping applied), Placements (as structured custom fields on Positions or Deals), Documents (re-uploaded from Loxo file URLs), and Activity history (most recent 12-24 months of emails, calls, SMS, and notes linked to the correct People records). Outreach campaign enrollment status is written as a custom field on each People record during the People import phase. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow handoff
We freeze Loxo writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Recruit CRM as the system of record. We deliver a written inventory of every active Loxo Outreach campaign with its cadence steps, trigger conditions, and recommended Recruit CRM automation equivalent. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. Rebuilding workflows and sequences in Recruit CRM's native automation builder is outside standard migration scope and is handled by the customer's admin or a separate automation rebuild engagement.
Platform deep dives
Loxo
Source
Strengths
Weaknesses
Recruit CRM & ATS
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Loxo and Recruit CRM & ATS.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Loxo: Not publicly documented.
Data volume sensitivity
Loxo doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Loxo to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Loxo to Recruit CRM & ATS migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Loxo
Other ways to arrive at Recruit CRM & ATS
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.