Migrate from Zoho Recruit to Expertini ATS
INTEGRATIONS · EXPERTINI ATS

Migrate from Zoho Recruit to Expertini ATS

Move your jobs, candidates, and live pipeline out of Zoho Recruit and into Expertini ATS in an afternoon — drafts first, deduplicated, with your funnel stages mapped automatically and nothing published without your click.

3 min read · Updated July 2026 · Expertini Editorial

Leaving an ATS feels riskier than it is. Your data in Zoho Recruit is legally yours, every mainstream system can export it, and Expertini's Third-Party ATS Import is built to receive exactly that export: jobs arrive as drafts so nothing goes live by accident, candidates land in the talent pool deduplicated by email, and your in-flight pipeline — who is at which stage on which job — is rebuilt rather than abandoned. The importer is the same one used for every migration source, so the path out of Zoho Recruit is a well-trodden one, not a special case.

This page is the Zoho Recruit-specific route through the general migration guide. Expertini ATS is an independent product; Zoho Recruit is a trademark of its owner, and nothing here requires their cooperation — only the export they already provide to every customer.

Watch the 30-second overview — no sign-up needed

Which system are you moving from?

Type to search — picking a vendor opens the dedicated migration guide for it. Every path lands in the same importer, with the same honest batch limits and dedupe rules.

Dependency map — what imports, exactly

Jobstitle, description, location, type, category, salary, experience & education levels — arrive as DRAFTS, nothing goes live by accident
Candidatesname, email, phone, title, location, skills, notes — into the talent pool, deduplicated by email
Applicationscandidate_email + job_external_id + stage + applied_at — rebuilds your funnel; foreign stage names ("phone screen", "offered", "onsite"…) map automatically, unrecognised ones land in Applied
Batch limits500 jobs and 2,000 candidates per upload — split bigger exports; duplicates are skipped, so overlapping batches are safe
CVsdon't travel through JSON — imported candidates carry their profile text; CVs can be added to records any time

Interface blueprint

Structural schematic of the surface — panels, hierarchy, and interaction affordances. A contract, not a screenshot.
Your current ATS
CSV / JSON / API export
Settings → Data export, or ask support — the data is legally yours.
The sample JSON contract
jobs[]candidates[]applications[]
Field names must match the sample exactly; anything extra is ignored. Reshape with a spreadsheet, a small script, or any AI assistant: “convert to this format”.
Inside Expertini ATS
jobs → drafts candidates → talent pool applications → funnel, stages mapped
Deduplicated by email · nothing publishes without your click.
Fig. 1 — the migration pipeline: export from your current system, reshape to the sample JSON contract, import with dedupe and automatic stage mapping.

Interaction flow — states, validations, feedback

Every state below is enforced server-side; the interface reports it, it doesn't decide it.
Export from Zoho RecruitCSV/JSON/API export — usually Settings → Data export, or ask support; the data is legally yours
Reshape to the sample JSONspreadsheet save-as-JSON, a small script, or paste both files into an AI assistant: "convert to this format"
Upload & validatefield names must match the sample; anything extra is ignored, errors are named
Dedupe + stage mappingcandidates matched by email; foreign stage names map onto your pipeline automatically
Working pipelinejobs as drafts, talent pool populated, funnel rebuilt — review, then publish
Over the batch cap → split the file; overlapping batches are safe because duplicates skipUnknown stage name → lands in Applied, never lostField name mismatch → named validation error; nothing partial importsJobs import as drafts — nothing is published without your clickCVs can't ride in JSON — attach them to imported records afterwards
Fig. 2 — interaction flow: navy = states, gold = server-enforced gates, green = confirmed outcomes; tags list the edge cases and their feedback.

01Get your data out of Zoho Recruit

Export jobs and candidates from Zoho Recruit — every mainstream ATS offers CSV, JSON, or API export, usually under a Settings → Data export area, and their support team will produce a full export on request if the interface doesn't cover something. You have a legal right to your own data, and data-protection law in most jurisdictions obliges the vendor to hand it over in a usable format. Ask for jobs, candidates, and applications (the links between the two) — three files or one, either works.

02Reshape it to the sample JSON

The importer accepts a simple, documented JSON shape with three arrays: jobs, candidates, and applications. A spreadsheet with a save-as-JSON step works; a small script works; and the fastest path for most teams is pasting their export and our sample file into any AI assistant with the instruction "convert to this format". Field names must match the sample exactly — anything extra is simply ignored, so over-complete exports are fine as-is.

03Upload in safe batches

Upload on the in-app import page. Limits per upload: 500 jobs and 2,000 candidates — split bigger exports into batches. Duplicates are skipped, not duplicated, so overlapping batches are safe and re-running an upload after a fix costs nothing. Validation errors name the exact field rather than failing silently.

04What lands where

Jobs import as drafts with title, description, location, type, category, salary, and experience and education levels — you review and publish on your own schedule. Candidates arrive in the talent pool with name, email, phone, title, location, skills, and notes, deduplicated by email. Applications rebuild your funnel: Zoho Recruit's stage names — "phone screen", "offered", "onsite", and dozens more — map automatically onto your pipeline stages, and anything unrecognised lands safely in Applied. CVs can't travel through JSON: imported candidates carry their profile text, and CV files can be added to any record afterwards.

Frequently asked questions

Do I need Zoho Recruit's permission or help to migrate?
No. You export your own data with the export function every customer has, reshape it to the sample format, and upload. No API keys, no vendor cooperation, no overlap period required.
Will anything go live during the import?
No. Jobs arrive as drafts and are published only when you choose. Candidates and applications are internal records — nothing is emailed to anyone during an import.
What happens to my pipeline stages?
Stage names from other systems map automatically onto your pipeline — "phone screen", "offered", "onsite" and many more are recognised. Unrecognised names land in Applied rather than being lost.
What about CVs?
CV files can't ride inside JSON. Imported candidates carry their profile text (searchable immediately), and you can attach CV files to any record afterwards — individually or via the bulk CV drop.
Is Expertini affiliated with Zoho Recruit?
No. Zoho Recruit is a trademark of its owner. This page describes Expertini's own import tool receiving a standard data export that belongs to you.

At a glance

  • Jobs, candidates, and the live funnel — all three migrate
  • Jobs arrive as drafts; nothing publishes without your click
  • Candidates deduplicated by email — re-runs are safe
  • Foreign stage names map automatically; unknowns land in Applied
  • 500 jobs / 2,000 candidates per upload — batch bigger exports
  • No vendor cooperation, API keys, or overlap period needed

See migrate from zoho recruit to expertini ats on your own hiring.

Bring a real job description to a 30-minute demo — free trial included.

Book a demo
Expertini AI
Online now
Hi! I'm Expertini's AI Product Expert. Ask me anything about our solutions, get guidance on any of our Hiring Tools, or just tell me what you're trying to do — I'll point you in the right direction. For account-specific issues, email support@expertini.com.