HRMS migration
Field-level mapping, validation, and rollback between Recruitly and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Recruitly
Source
Zoho Recruit
Destination
Compatibility
10 of 14
objects map 1:1 between Recruitly and Zoho Recruit.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Recruitly to Zoho Recruit is a recruitment-specific ATS migration with a particular focus on object schema alignment and mandatory field requirements at the destination. Recruitly stores candidates, contacts, companies, jobs, and placements in a flexible schema with customizable Company module columns and tier-based record limits (1,000 to 50,000+ Candidates per plan). Zoho Recruit enforces a strict mandatory Last Name field on Candidates that Recruitly does not require, so we apply a 'not provided' fallback to all candidate records missing a last name before import to prevent silent record rejection. We preserve Recruitly pipeline stage names and candidate order by mapping them to Zoho Hiring Pipeline stages, and we sequence the import in dependency order — Users first, then Clients and Companies, then Candidates and Jobs, then Interviews, Notes, Tasks, and Attachments last — to satisfy Zoho Recruit's lookup field requirements. Workflows, Outreach Campaigns, and invoice trust-account records do not migrate as functional code; we deliver a written inventory of active automations for the customer's Zoho admin to rebuild using Zoho Blueprints and Workflows.
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 Recruitly 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.
Recruitly
Candidate
Zoho Recruit
Candidate
1:1Recruitly Candidates map directly to Zoho Recruit Candidates. The critical mapping gotcha is Zoho's mandatory Last Name field — any Recruitly candidate without a last name (which Recruitly permits) is assigned the fallback value 'not provided' at transform time to prevent silent record rejection during Zoho Recruit import. We also map Recruitly's candidate status values to Zoho Recruit's Candidate Status picklist and preserve any Recruitly source attribution field as a custom Candidate field in Zoho Recruit.
Recruitly
Contact
Zoho Recruit
Contact
1:1Recruitly Contacts (client-facing sales contacts managed under the Sales module) map to Zoho Recruit Contacts. Zoho Recruit requires Last Name on Contacts as well, so we apply the same 'not provided' fallback. Recruitly Contact record limits per tier (200 Free, 5,000 Solo, 25,000+ Professional) are validated during scoping against the target Zoho Recruit plan to ensure the import will not be throttled by the destination plan.
Recruitly
Company
Zoho Recruit
Client
1:1Recruitly Companies map to Zoho Recruit Clients. Recruitly's Companies module has highly customisable columns across Sales Analytics, Recruiting Analytics, Billing, and Custom field groups — we extract the full visible column list from the customer's live system during scoping and map each to either a standard Zoho Recruit Client field or a custom Client field created before import. Hidden Recruitly default columns are not extracted unless the customer explicitly requests them, as Zoho's Client module has a more constrained field model.
Recruitly
Job
Zoho Recruit
Job Opening
1:1Recruitly Jobs map to Zoho Recruit Job Openings. The Recruitly Job status (Open, On Hold, Closed, Cancelled), requirements, and board distribution settings migrate as Zoho Recruit Job Opening status, description, and job board distribution fields. Recruitly's tier limits on Jobs (5 Free, 25 Solo, unlimited Professional) are validated during scoping; Zoho Recruit Standard caps at 100 active Job Openings per user which is generally more permissive for small-to-mid agencies.
Recruitly
Pipeline
Zoho Recruit
Hiring Pipeline
lossyRecruitly Candidate Pipelines (structured with named stages tied to Jobs) map to Zoho Recruit Hiring Pipelines. We preserve Recruitly pipeline stage names and candidate ordering within each stage as Zoho Recruit Pipeline stages with matching stage names and weights. Pipeline configuration in Zoho Recruit is done before any Candidate import so that the pipeline association is set correctly on migration day.
Recruitly
Placement
Zoho Recruit
Candidate (with placement fields)
1:1Recruitly Placements track the full lifecycle from offer acceptance through onboarding, guarantee period, and commission. Zoho Recruit does not have a standalone Placement object equivalent to Recruitly's — placement data is recorded on the Candidate record using custom placement fields (start date, end date, offer status, guarantee period, commission rate, invoicing status) that we create during schema setup. Placement-to-invoice linkage is preserved as field mapping rather than a native relationship.
Recruitly
Activity (Notes, Emails, Tasks)
Zoho Recruit
Activity Log / Task / Note
1:1Recruitly Recent Activities logged on Candidates and Contacts map to Zoho Recruit Activity Log entries and Tasks. Email conversations and call logs migrate as Zoho Recruit Notes or Tasks with Activity Type and timestamp preserved. Recruitly's Export Data module must have the Export Data privilege granted to the migrating user before activity export; we confirm this during kickoff. Large activity volumes are chunked to avoid hitting Recruitly's API rate limits during extraction.
Recruitly
Attachment
Zoho Recruit
Attachment
1:1CVs, cover letters, and supporting documents attached to Candidates and Jobs in Recruitly migrate as Zoho Recruit Attachments on the corresponding Candidate or Job Opening record. Document format conversion is applied if any Recruitly attachments use a file format Zoho Recruit does not natively support. We use Recruitly's Export Data module (with Export Data privilege) for bulk attachment export, then map each file to the matching destination record using the candidate or job ID.
Recruitly
User / Owner
Zoho Recruit
User
1:1Recruitly Users and Owner assignments on Candidates, Jobs, and Placements map to Zoho Recruit Users. We match by email address. A Zoho Recruit-specific constraint applies: users who already have a separate Zoho Recruit organisation account cannot be imported into the target organisation — they must close the separate account first. We run owner reconciliation before migration and flag any users that require account closure to the customer's admin.
Recruitly
Custom Field
Zoho Recruit
Custom Field
lossyRecruitly custom fields across all major objects migrate as Zoho Recruit custom fields of equivalent type (text, picklist, date, number, checkbox, etc.). Field dependency relationships defined in Zoho Recruit (parent-child field logic, e.g., Country -> State) must be manually reconfigured after migration using Zoho Recruit's Map Dependency Fields interface under Setup > Modules, because dependency rules are a configuration-level setting not a data-level attribute.
Recruitly
Folder / Saved Search
Zoho Recruit
Tag / Custom Field
lossyRecruitly Folders and Saved Searches are soft-organisation constructs that do not have a direct Zoho Recruit equivalent. We migrate the underlying record sets as tagged candidates (using Zoho Recruit Tags) rather than replicating the folder hierarchy. Saved search criteria are noted in the handoff document as reference for the customer to recreate using Zoho Recruit's candidate filters and layouts.
Recruitly
Outreach Campaign
Zoho Recruit
Workflow Rule
lossyRecruitly Outreach Campaigns (email sequences with recipient limits per tier) have no direct Zoho Recruit equivalent as a migrated object. Campaign send history and open/click metrics are exported as candidate activity notes for reference. Active campaign templates are noted in the inventory document for the customer's Zoho admin to rebuild using Zoho Recruit Workflow Rules or Zoho Mail templates. We do not migrate campaign automation as functional code.
Recruitly
Invoice / Billing Record
Zoho Recruit
Custom Module or Note
1:1Recruitly placement-linked invoicing records (line items, payment status, trust account references) migrate to a Zoho Recruit custom Invoice module or are attached as Notes to the relevant Candidate record depending on the customer's Zoho Recruit edition. Trust account references are preserved as text fields because Zoho Recruit's standard invoicing does not include a trust-account accounting model. The customer reviews and confirms the invoice migration strategy during scoping.
Recruitly
Placement
Zoho Recruit
Job Opening (placement association)
1:1Each Recruitly Placement is linked to a specific Job and Candidate. We map this as a Zoho Recruit Job Opening with the placed Candidate associated via the Candidates subtab. The placement start date, end date, and status migrate as custom fields on the Candidate record. If the Recruitly placement has a related Invoice record, the invoice is linked to the Candidate placement as a Note or custom field per the strategy agreed during scoping.
| Recruitly | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Client1:1 | Fully supported | |
| Job | Job Opening1:1 | Fully supported | |
| Pipeline | Hiring Pipelinelossy | Fully supported | |
| Placement | Candidate (with placement fields)1:1 | Fully supported | |
| Activity (Notes, Emails, Tasks) | Activity Log / Task / Note1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Folder / Saved Search | Tag / Custom Fieldlossy | Fully supported | |
| Outreach Campaign | Workflow Rulelossy | Fully supported | |
| Invoice / Billing Record | Custom Module or Note1:1 | Fully supported | |
| Placement | Job Opening (placement association)1:1 | 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.
Recruitly gotchas
Tier-based record limits are migration-critical
API rate limits restrict bulk migration throughput
Export Data privilege gates all bulk exports
Delta migration window is a tight Friday–weekend cutover
Companies module columns require explicit field mapping
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 export preparation
We audit the source Recruitly account across plan tier (Free/Solo/Professional/Enterprise), total record counts per object (Candidates, Contacts, Companies, Jobs, Placements), pipeline stage definitions, custom field definitions extracted from the column customisation interface, active Outreach Campaigns, and any attachment volume. We confirm the Export Data privilege is granted to the migrating user account and identify any Recruitly Owner records with email addresses that may conflict with existing Zoho Recruit user accounts. The discovery output is a written migration scope and a pre-migration checklist including the two-user requirement for Zoho Recruit.
Schema setup and field mapping design in Zoho Recruit
We provision the Zoho Recruit target environment: creating any custom fields required for Recruitly's custom Company columns, setting up Hiring Pipelines with stage names matching the Recruitly pipeline, and configuring placement fields on the Candidate module to receive Recruitly Placement data. Field dependencies (parent-child picklists) are noted for manual rebuild post-migration. We design the full field-mapping matrix using Zoho Recruit's column naming conventions and validate mandatory field coverage (including the Last Name fallback plan) before any data is generated.
Data export from Recruitly
We export Candidates, Contacts, Companies, and Jobs using Recruitly's Export Data module in CSV format. Placements and activity history are exported separately. For large exports we run chunked sessions to stay within Recruitly's API rate limits (Free: 100/day, Solo: 1,000/day), using the Export Data module where possible to bypass API calls. Attachments are exported via Recruitly's document export interface. We extract the full Companies module column list to ensure all visible custom fields are captured in the export.
Data transformation and staging validation
We transform the exported CSVs: applying the Last Name fallback ('not provided') to all candidate and contact records missing that field, deduplicating any records with duplicate email addresses, mapping Recruitly pipeline stage names to Zoho Recruit Hiring Pipeline stage values, and formatting date fields to match Zoho Recruit's expected date format. The transformed dataset is loaded into a Zoho Recruit sandbox environment for validation — the customer's admin reviews record counts, spot-checks 25-50 records for field accuracy, and signs off before production import begins.
Production migration in dependency order
We run production migration in Zoho Recruit's required sequence: Users first (provisioned manually with confirmed email addresses, validated before proceeding), then Clients (from Recruitly Companies), then Contacts (with Client lookup resolved), then Candidates (with Last Name fallback applied and Pipeline association set), then Job Openings (linked to Clients), then Candidate-Job associations, then Placements (as custom fields on Candidates), then Activities (Notes, Tasks, email logs), and finally Attachments mapped to the correct parent record. Each phase emits a row-count reconciliation report. Any records rejected by Zoho Recruit (e.g., due to validation rules or missing mandatory fields) are captured in an error log and reprocessed with corrections.
Cutover, delta migration, and handoff
We freeze Recruitly writes during the cutover window, run a final delta migration capturing all records created or modified since Stage 1, then enable Zoho Recruit as the system of record. We deliver the automation inventory document (Outreach Campaigns, workflow rules requiring rebuild in Zoho Recruit Blueprints and Workflow Rules) and the custom field dependency reconfiguration guide to the customer's Zoho admin. We support a one-week hypercare window to resolve any reconciliation issues. We do not rebuild Recruitly automations as Zoho Workflow Rules within the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Recruitly
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 Recruitly 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
Recruitly: 100 calls/day (Free), 1,000 calls/day (Solo); Professional and Enterprise limits are not publicly documented.
Data volume sensitivity
Recruitly 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 Recruitly to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Recruitly 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 Recruitly
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.