HRMS migration
Field-level mapping, validation, and rollback between Darwinbox and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Darwinbox
Source
Zoho Recruit
Destination
Compatibility
6 of 12
objects map 1:1 between Darwinbox and Zoho Recruit.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Darwinbox to Zoho Recruit is a narrowing migration: Darwinbox covers the full employee lifecycle from recruitment through payroll and performance, while Zoho Recruit is purpose-built as an applicant tracking system for staffing agencies and HR teams managing hiring pipelines. The object models overlap only on candidate and job-opening data; leave balances, attendance logs, payroll history, performance reviews, and engagement records have no native Zoho Recruit equivalent and require either custom field storage or manual reconstruction post-migration. We map Darwinbox employees and recruitment candidates to Zoho Recruit Candidates, Darwinbox job postings to Zoho Recruit Job Openings, and Darwinbox departments and locations to Zoho Recruit departments, preserving a reference to the source Darwinbox Employee ID in a custom field. Workflow configurations, approval chains, payroll data, and document blobs do not migrate; we deliver a written inventory of every out-of-scope module for your admin to rebuild in Zoho Recruit or a parallel tool.
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 Darwinbox 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.
Darwinbox
Employee
Zoho Recruit
Candidate
1:1Darwinbox Employee records map to Zoho Recruit Candidates. The Darwinbox employee ID becomes a custom field darwinbox_employee_id__c on the Candidate record to preserve the source reference. Name, email, phone, and current employment status map directly. Current job title and department pull from the Darwinbox employee record and map to Zoho Recruit's Candidate fields. Employees who originated from a Darwinbox recruitment requisition will have a darwinbox_requisition_id__c custom field linking back to the Job Opening.
Darwinbox
Recruitment / Candidate
Zoho Recruit
Candidate
1:1Darwinbox candidate profiles generated during the Darwinbox recruitment workflow map directly to Zoho Recruit Candidates. The Darwinbox applicant-stage history (applied, screened, interview, offer, hired) maps to Zoho Recruit's Candidate Status picklist values, with each stage recorded as an Interview or Activity record. Candidate source, rating, and notes migrate as Zoho Recruit Candidate custom fields.
Darwinbox
Job Opening / Requisition
Zoho Recruit
Job Opening
1:1Darwinbox job postings and requisitions map to Zoho Recruit Job Openings. The Darwinbox job title, department, location, employment type, and job description map to the corresponding Zoho Recruit fields. Active versus closed status on the Darwinbox requisition determines the Job Opening status in Zoho Recruit. Position count from Darwinbox maps to Zoho Recruit's Number of Positions field.
Darwinbox
Organisation / Department
Zoho Recruit
Department
1:1Darwinbox organisational units and department structure map to Zoho Recruit Departments. We preserve the Darwinbox hierarchy by mapping the parent department reference to Zoho Recruit's Department hierarchy where supported. Cost centre assignments and location data from Darwinbox store as custom fields on the Department record. If the organisation uses Darwinbox's multi-location setup, each location becomes a separate Zoho Recruit Department or a custom Location field.
Darwinbox
Leave Balance
Zoho Recruit
Candidate Custom Fields or Zoho People (separate instance)
lossyZoho Recruit does not have a native leave management module. Leave entitlements, accrual balances, and leave history from Darwinbox must be handled as a parallel system decision: either stored as custom fields on the Candidate or Employee record in Zoho Recruit (limited by the 50-300 custom field cap per module), or managed in a separate Zoho People instance integrated via Zoho Flow. We document the Darwinbox leave types and balances in a structured CSV and provide a Zoho People onboarding checklist as part of the out-of-scope handoff.
Darwinbox
Attendance Record
Zoho Recruit
Not natively supported in Zoho Recruit
lossyZoho Recruit has no attendance or time-tracking module. Attendance punch data from Darwinbox (timestamps, shift references, in/out status codes) has no native Zoho Recruit equivalent. If the customer requires attendance tracking post-migration, we recommend a separate Zoho People instance for time and attendance or an integration via Zoho Flow. We export the Darwinbox attendance data as a structured CSV with employee ID and punch timestamp for the customer's HR admin to configure in their chosen tool.
Darwinbox
Payroll / Compensation History
Zoho Recruit
Candidate Custom Fields (limited)
lossyDarwinbox stores effective-dated compensation rows per employee (salary components, deductions, tax codes). Zoho Recruit has no native payroll or compensation module. Current salary and notice period details can be stored as custom fields on the Candidate record if required for recruitment decision-making, but historical compensation rows cannot be meaningfully represented in Zoho Recruit's schema. We extract the most recent compensation snapshot and flag the full payroll history as out-of-scope for manual handling.
Darwinbox
Performance Review
Zoho Recruit
Not natively supported in Zoho Recruit
lossyDarwinbox performance review cycles, ratings, goals, and manager feedback have no equivalent in Zoho Recruit's ATS model. Review records and ratings cannot be stored as custom fields because a single review cycle generates multiple rows per employee with complex date dependencies. We export performance data as a structured CSV and flag it as out-of-scope for the customer's HR admin to handle in a dedicated performance management tool.
Darwinbox
Engagement / Recognition
Zoho Recruit
Activity / Notes on Candidate
1:1Darwinbox engagement events (peer awards, reward points, recognition timestamps) map to Zoho Recruit Activity records and Notes attached to the Candidate. Recognition type, point value, and awarding manager migrate as custom fields on the Activity record. The engagement timestamp preserves as the Activity date. This mapping captures the existence of engagement records but does not replicate any gamification or rewards-redemption functionality.
Darwinbox
Custom Fields
Zoho Recruit
Custom Fields (mapped per module)
lossyDarwinbox tenant-specific custom fields must be introspected during the discovery phase since they are not documented in the public API reference. Each Darwinbox custom field is mapped to a Zoho Recruit custom field on the corresponding module (Candidate, Job Opening, or Department). Zoho Recruit's custom field limits (50 per module on Standard, 300 on Enterprise) apply. Fields exceeding the cap are flagged in the mapping document for the customer's admin to resolve before migration day.
Darwinbox
User / Role
Zoho Recruit
User / Recruiter Profile
1:1Darwinbox user accounts with roles (admin, manager, employee) map to Zoho Recruit User profiles. The mapping preserves the user's name, email, and functional role as a Zoho Recruit recruiter profile. Active versus inactive status is resolved against the Darwinbox user status. Only users with recruiter or admin function in Darwinbox map to Zoho Recruit Users; employees with no recruitment responsibility are not provisioned as Zoho Recruit Users.
Darwinbox
Documents / HR Files
Zoho Recruit
Not migratable via API
lossyDarwinbox document blobs (contracts, IDs, certifications) are stored in a document management module that is not accessible via the Darwinbox public REST API. Zoho Recruit supports file attachments per record but cannot ingest the Darwinbox blob storage directly. We flag document migration as an out-of-scope step requiring manual handling. Customers must either export documents from Darwinbox manually or coordinate a vendor-assisted export, then upload them to the relevant Zoho Recruit Candidate record post-migration.
| Darwinbox | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Recruitment / Candidate | Candidate1:1 | Fully supported | |
| Job Opening / Requisition | Job Opening1:1 | Fully supported | |
| Organisation / Department | Department1:1 | Fully supported | |
| Leave Balance | Candidate Custom Fields or Zoho People (separate instance)lossy | Fully supported | |
| Attendance Record | Not natively supported in Zoho Recruitlossy | Fully supported | |
| Payroll / Compensation History | Candidate Custom Fields (limited)lossy | Mapping required | |
| Performance Review | Not natively supported in Zoho Recruitlossy | Fully supported | |
| Engagement / Recognition | Activity / Notes on Candidate1:1 | Mapping required | |
| Custom Fields | Custom Fields (mapped per module)lossy | Mapping required | |
| User / Role | User / Recruiter Profile1:1 | Fully supported | |
| Documents / HR Files | Not migratable via APIlossy | 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.
Darwinbox gotchas
API access is privileged and request-only
Custom fields are tenant-specific and not in public schema
Attendance records require shift-policy alignment
Effective-dated compensation rows need careful sequencing
Document blobs are not accessible via public API
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 API access request
We audit the Darwinbox tenant for all active modules, custom field configurations, employee record counts, recruitment pipeline stage definitions, and user roles. During this phase we also submit the formal Darwinbox API access request to [email protected] and track the approval timeline. We pair the Darwinbox audit with a Zoho Recruit edition assessment (Standard at $30 per recruiter, Professional at $60, Enterprise at $90) based on the customer's recruiter headcount and custom field volume. The discovery output is a written migration scope, a Darwinbox field registry from the API (once approved), and a Zoho Recruit edition recommendation.
Custom field audit and schema alignment
We introspect Darwinbox tenant-specific custom fields from the live API and map each one to a Zoho Recruit custom field on the corresponding module. If the Darwinbox custom field count exceeds the Zoho Recruit field cap for the customer's tier, we work with the customer's admin to consolidate, archive, or offload fields to a Zoho People integration plan. We also design the mapping for the darwinbox_employee_id__c reference field on Candidate records to preserve the link between Darwinbox employees and Zoho Recruit candidates throughout the migration.
Sandbox migration and reconciliation
We run a full migration into a Zoho Recruit Sandbox environment using representative data volume. The customer's HR and recruiting leads reconcile record counts, spot-check 25-50 candidate records against the Darwinbox source, and verify that job opening status, pipeline stages, and custom field values are correctly represented. Any mapping corrections, custom field consolidation decisions, and out-of-scope module documentation are resolved here. No production migration proceeds until the sandbox sign-off is received.
Out-of-scope module documentation
Before production migration begins, we deliver a written inventory of every Darwinbox module that has no native Zoho Recruit equivalent: leave balances, attendance records, payroll history, performance reviews, and document blobs. Each module entry includes a data export summary, a recommended Zoho Recruit or Zoho People workaround, and the specific steps the customer's admin needs to complete manually. This document is co-delivered with the migration scope at cutover.
Production migration in dependency order
We run production migration in record-dependency order: Departments (from Darwinbox organisational units), Users (from Darwinbox recruiter and admin roles), Job Openings (from Darwinbox job requisitions), Candidates (from Darwinbox employee and recruitment candidate records), Activity history (engagement records as Tasks and Notes attached to Candidates), and Custom Fields (applied after the base records are in place). Each phase emits a row-count reconciliation report before the next phase begins. Any records rejected due to custom field cap limits are held in a resolution queue for the customer's admin.
Cutover, validation, and workflow rebuild handoff
We freeze Darwinbox writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Recruit as the active ATS. We deliver the out-of-scope module inventory and the workflow and automation rebuild checklist to the customer's recruiting and HR admin teams. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild Darwinbox workflows, approval chains, or payroll configurations inside the migration scope; these require separate engagement or admin-led configuration in Zoho Recruit or a parallel Zoho product.
Platform deep dives
Darwinbox
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 Darwinbox 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
Darwinbox: Enforced via Istio service mesh policies; specific quotas not publicly published.
Data volume sensitivity
Darwinbox exposes a bulk API — large-volume migrations stream efficiently.
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 Darwinbox to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Darwinbox 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 Darwinbox
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.