HRMS migration
Field-level mapping, validation, and rollback between Loxo and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Loxo
Source
Zoho Recruit
Destination
Compatibility
8 of 12
objects map 1:1 between Loxo and Zoho Recruit.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Loxo to Zoho Recruit is a cost-driven migration for agencies and in-house teams that have outgrown Loxo's per-seat pricing without needing its AI sourcing layer. Loxo's Basic tier runs $169 per user per month, while Zoho Recruit Standard starts at $12 per recruiter per month — a difference of roughly $157 per user monthly that compounds at scale. We handle the structural differences: Loxo's unified candidate-person model splits into Zoho Recruit's separate Candidate and Client objects depending on record type; Loxo's customizable Deal pipeline maps to Zoho Recruit's Opportunity pipeline with configurable stage names; and Loxo's duplicate candidate profiles (created when the same person applies to multiple jobs) are flagged and deduplicated before loading into Zoho Recruit so the destination database is clean from day one. Outreach sequences, campaign automation, and portal settings do not migrate via API; we preserve sequence enrollment status as Candidate custom properties and deliver a written inventory of automation logic requiring rebuild in Zoho Recruit Workflow Rules.
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 Zoho Recruit, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Loxo
Candidate
Zoho Recruit
Candidate
1:1Loxo Candidates map directly to Zoho Recruit Candidates. The primary record fields — name, email, phone, address, skills, experience, and source — transfer to the Zoho Recruit Candidate module. Multi-job duplicate profiles (same person applied to multiple Loxo Jobs) are flagged during extraction and resolved before load: we match by email address and present the deduplication choice (merge into one Zoho Candidate, or keep as separate records) to the customer during scoping. The most recent Loxo outreach sequence enrollment status and step number are stored as custom fields on the Zoho Candidate for the admin to reference during rebuild.
Loxo
Contact
Zoho Recruit
Candidate or Client
1:manyLoxo Contacts are split into Zoho Recruit Candidates (for talent-facing contacts) and Zoho Recruit Clients (for employer-facing contacts). We determine the split from the Loxo Contact's associated record type — if the Contact is linked to a Client Company in Loxo, it maps to a Zoho Client record; if linked to a Job or Placement, it maps to a Candidate. Any Loxo Contact without a clear association is held in a review queue during scoping for the customer to classify.
Loxo
Job
Zoho Recruit
Job Opening
1:1Loxo Jobs (requisitions) map to Zoho Recruit Job Openings. The job title, description, requirements, status, assigned recruiter, and hiring manager transfer. Custom fields on the Loxo Job migrate as Zoho Recruit custom fields on the Job Opening module. Zoho Recruit's active job limits vary by tier (Free 1, Standard 100, Professional 250, Enterprise 750 per recruiter); we validate the count against the destination tier during scoping and flag any overage before migration.
Loxo
Client Company
Zoho Recruit
Client
1:1Loxo Client Companies map to Zoho Recruit Client records, preserving the company name, address, billing contacts, and associated client-specific notes. Client Company hierarchy (parent and subsidiary relationships) maps to Zoho Recruit Client hierarchy if enabled on the destination tier. If Loxo client records contain no billing or account information (client-company records used primarily as address books), they migrate as Zoho Clients with minimal fields populated.
Loxo
Deal
Zoho Recruit
Opportunity
1:1Loxo Deals map to Zoho Recruit Opportunities. The deal name, amount, currency, stage, expected close date, probability (derived from Loxo stage percentage), and assigned owner transfer. Loxo's customizable pipeline stages (unique per organization) map to Zoho Recruit Opportunity stages, and we validate stage count against Zoho Recruit's stage limit during scoping. Deals without an associated Client in Loxo are attached to the most recently associated Job Opening as the WhatId in Zoho.
Loxo
Placement
Zoho Recruit
Candidate (placement status field)
lossyLoxo Placements record a placed candidate against a Job and Deal, including start date, compensation, and placement status. Zoho Recruit does not have a standalone Placement object; we represent Placements as Candidate records with a custom field set to placement status (Active, On Hold, Completed) and custom fields for start date, compensation, and the linked Opportunity. We preserve the placement-to-job and placement-to-deal relationships via lookup fields in Zoho Recruit custom fields.
Loxo
Custom Field
Zoho Recruit
Custom Field
lossyLoxo custom fields on Candidates, Contacts, Jobs, and Deals map to Zoho Recruit custom fields on the corresponding modules. Zoho Recruit caps custom fields per module by tier (Standard 50/module, Professional and Enterprise 300/module). We audit the Loxo custom field schema during scoping, count fields per module, and flag any overage against the destination tier before schema deployment. Picklist options in Loxo map to Zoho Recruit picklist or multi-select picklist fields; free-text fields map to multi-line text fields.
Loxo
Activity: Email, Call, SMS, Note
Zoho Recruit
Tasks, Events, Calls
1:1Loxo engagement history — emails, calls, SMS, and notes — maps to Zoho Recruit Tasks (generic activities), Events (calendar entries), and Calls (call log records). The most recent 12-24 months of activity is the recommended scope to reduce risk of misaligned email threads from Loxo Connect's inbox-sync behavior. Call duration, disposition, and recording URL transfer to Zoho Call record custom fields. Zoho Recruit Standard and above support Tasks, Events, and Call logging; the Free tier does not support Tasks or Events.
Loxo
Tag
Zoho Recruit
Tag
1:1Loxo tags on Candidates, Contacts, Jobs, and Deals transfer to Zoho Recruit Tags. We extract every distinct tag value, create the corresponding tag in Zoho Recruit during migration, and apply tag associations to the migrated records. Tags used for candidate segmentation in Loxo map directly to Zoho Recruit Tags; tags used for workflow classification are preserved as tags and noted as candidates for Zoho Workflow Rule triggers post-migration.
Loxo
Attachment (Resume, Document)
Zoho Recruit
Document Library
1:1Binary attachments — resumes, cover letters, client agreements — stored on Loxo Candidate, Contact, and Job records are extracted via the Loxo API file URL, downloaded, and re-uploaded to Zoho Recruit's Document Library with associations back to the parent record. Large attachment counts may require chunked download and upload with hash-verified integrity checks to confirm each file arrived intact.
Loxo
Owner
Zoho Recruit
User
1:1Loxo Owner assignments on Candidates, Contacts, Jobs, Deals, and Placements map by email to Zoho Recruit User records. We extract every distinct owner email referenced across all record types, match against the Zoho Recruit User table, and flag any Loxo owner without a Zoho User match for the customer to provision before production migration. Active and inactive owner status is preserved in the migration mapping.
Loxo
Pipeline Stage
Zoho Recruit
Opportunity Stage
lossyLoxo Pipeline Stages are organization-specific and stored per Deal record. We extract the complete stage list from the Loxo API, map each Loxo stage name to a Zoho Recruit Opportunity stage with a customer-confirmed probability percentage, and validate stage count against Zoho Recruit's pipeline stage limits. Stage order and probability mapping are applied during Deal-to-Opportunity migration.
| Loxo | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Contact | Candidate or Client1:many | Fully supported | |
| Job | Job Opening1:1 | Fully supported | |
| Client Company | Client1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Placement | Candidate (placement status field)lossy | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Activity: Email, Call, SMS, Note | Tasks, Events, Calls1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment (Resume, Document) | Document Library1:1 | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully 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
Zoho Recruit gotchas
Daily API rate limits are tier-gated and per-user capped
User import hard cap of 2,000 records
Attachment folder hierarchy must be preserved exactly
Resume parsing quota varies by plan and resets daily
Custom fields unavailable in Free and Standard editions
Pair-specific challenges
Migration approach
Discovery and tier mapping
We audit the source Loxo account across tier (Free/Basic/Professional/Enterprise), custom field schemas per object, active Job count, Deal pipeline count and stage names, outreach sequence count, activity history date range, and attachment file count. We pair this with a Zoho Recruit tier assessment: Standard ($12/user/month) covers most migrations with up to 100 active jobs and 50 custom fields per module; Professional (approximately $20/user/month) is recommended if the migration requires more active job slots or higher custom field density; Enterprise handles large agencies with 750+ active job limits and unlimited resume parsing. The discovery output is a written migration scope with source record counts, destination tier recommendation, and deduplication strategy.
Schema design and custom field provisioning
We design the Zoho Recruit destination schema before any data moves. This includes creating custom fields on Candidate, Client, Job Opening, and Opportunity modules to match the Loxo custom field schema (type-mapped: picklist to picklist, text to multi-line text, number to number). We validate custom field count against the destination tier limit (50 on Standard, 300 on Professional/Enterprise), configure Zoho Recruit Opportunity stages to match Loxo pipeline stages with customer-confirmed probability mapping, and set up Candidate and Client modules with the custom fields required to carry Loxo outreach enrollment status. Schema is deployed into the destination Zoho Recruit account for validation before migration begins.
Deduplication strategy and sample migration
We run a deduplication pass across Loxo Candidate records grouped by email address. Each group of duplicate profiles is presented to the customer with the record set and metadata (most recent application date, last activity, associated Jobs and Deals). The customer chooses the merge strategy per group or applies a global rule (merge all duplicates by email). We then run a sample migration of 50-100 records — covering at least one candidate from each deduplication group, one Job, one Deal, one Client Company, and activity records — into the live Zoho Recruit account. The customer's admin spot-checks mapping accuracy, validates custom field population, and confirms deduplication results before the full migration is approved.
Production migration in dependency order
We run production migration in record-dependency order: Client Companies first (to satisfy any Account or Client lookup in Zoho), Job Openings next (to satisfy Job lookups on Candidates), then Candidates with deduplication applied and outreach status as custom fields, then Clients, then Opportunities (with stage and probability mapping resolved), then Activities (Tasks, Events, Calls via Zoho Recruit API with batch chunking), then Attachments via Document Library upload, then Tags applied last to preserve associations. Each phase emits a row-count reconciliation report showing source count, migrated count, and skipped count with reason codes before the next phase begins.
Cutover and delta sync
We freeze writes to the Loxo account during cutover — either a planned maintenance window or a weekend migration to minimize disruption. Any records modified in Loxo during the migration window are captured as a delta pass and inserted into Zoho Recruit before go-live. Tags are applied in a final pass after all record inserts are confirmed. We validate record counts against the Loxo source totals and flag any residual gaps for customer review.
Validation, outreach inventory handoff, and portal rebuild support
We validate migrated data against the Loxo source across a random sample of 50 records per object type, checking field-level accuracy, owner assignment, and activity completeness. We deliver the Outreach Sequence Inventory document listing every active Loxo Outreach sequence with its cadence structure, step count, and recommended Zoho Recruit Workflow Rule equivalent. We do not rebuild Loxo Outreach sequences as Zoho Workflow Rules inside the migration scope; that is a separate engagement or an internal admin task. Client portal settings are documented separately as a manual reconfiguration checklist. We support a one-week post-cutover window for reconciliation issues raised by the recruiting team.
Platform deep dives
Loxo
Source
Strengths
Weaknesses
Zoho Recruit
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 Zoho Recruit.
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 Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Loxo to Zoho Recruit 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 Zoho Recruit
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.