HRMS migration

Migrate from Eploy to Zoho Recruit

Field-level mapping, validation, and rollback between Eploy and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.

Eploy logo

Eploy

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

83%

10 of 12

objects map 1:1 between Eploy and Zoho Recruit.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Eploy to Zoho Recruit is a data-model remapping exercise across two ATS platforms with different pricing philosophies and schema conventions. Eploy's flat-rate UK-market positioning (£695/month entry) contrasts with Zoho Recruit's per-seat model ($25-$75/user/month with a free tier), creating immediate cost divergence for mid-to-large hiring teams. We map Eploy's Candidates, Jobs, Offers, and Talent Pools into Zoho Recruit's corresponding modules, resolve the Last Name mandatory-field requirement that causes silent record skips when candidate first names exist without last names, and remap Eploy's custom workflow stage names into Zoho Recruit's pipeline stage values. Document attachments (resumes, cover letters, compliance files) require a download-then-upload pass because neither platform exposes them as inline blobs. We do not migrate Eploy Workflows or Hiring Manager Portal role assignments as automation; we deliver a written inventory of both for the customer's admin to rebuild in Zoho Recruit's Blueprint and workflow rules.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Eploy logo

Eploy

What's pushing teams away

  • Steep learning curve and unintuitive interface require significant training investment before teams become productive
  • Reporting and analytics are considered complex to configure and use, frustrating teams that need ad-hoc insights
  • API rate limits (10 req/sec, daily tier caps up to 50,000) can constrain large-scale data exports and bulk imports
  • Small feature additions often incur disproportionate costs, leading to frustration when simple customisations require premium upgrades
  • Clunky interface undermines campaign coordination for high-volume recruitment teams managing complex hiring pipelines

Choosing

Zoho Recruit logo

Zoho Recruit

What's pulling them in

  • Lowest cost entry point of any major ATS — a free tier with Candidates, Clients, Contacts, Interviews, and a career site lets small teams validate before committing to a paid plan.
  • Deep Zoho ecosystem integration — if the team already uses Zoho CRM, Sheets, or Analytics, candidate data flows between modules without re-keying or third-party middleware.
  • Customizable pipelines and stages — both agency and corporate editions let users define custom pipeline stages and assign candidates through drag-and-drop visual boards.
  • AI-assisted features via Zia — resume parsing, candidate summarization, and job-candidate matching are built in on paid tiers, reducing manual screening time.
  • Job board aggregation at no extra cost — paid tiers include postings to major job boards, extending reach without purchasing separate job ad bundles.

Object mapping

How Eploy objects map to Zoho Recruit

Each row shows how a Eploy 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.

Eploy

Job Requisition

maps to

Zoho Recruit

Job Opening

1:1
Fully supported

Eploy Jobs map directly to Zoho Recruit Job Openings. We preserve job title, department, location, salary bands, and the associated workflow assignment. Custom job fields (Eploy's custom property schema) map to Zoho Recruit custom fields on the Job Opening module; Zoho Standard allows up to 50 custom fields per module on the Standard plan, and up to 300 on Enterprise. If Eploy custom field count exceeds the destination limit, we collapse secondary fields into a JSON blob stored in a Notes field and document the collapse for the customer's admin to address post-migration.

Eploy

Candidate

maps to

Zoho Recruit

Candidate

1:1
Fully supported

Eploy Candidate records map to Zoho Recruit Candidates with a critical gap: Last Name is mandatory in Zoho Recruit and any record without a Last Name value is silently ignored during import. We detect missing Last Name values during extraction, flag them in the migration report, and either split full-name fields where available or write 'Not Provided' as a placeholder per Zoho Recruit's own migration documentation. Contact details, skills, application history, and status fields map 1:1. Duplicate candidate detection uses email as the dedupe key, consistent with Zoho Recruit's standard import behaviour.

Eploy

Workflow Stage

maps to

Zoho Recruit

Pipeline Stage

lossy
Fully supported

Eploy workflow stages are fully custom per organisation with no canonical list in the API; we discover them by querying active job records and aggregating distinct stage values into a mapping table during scoping. Each Eploy stage maps to a Zoho Recruit pipeline stage value that we configure in Setup > Recruit > Pipelines before migration. Stage transition timestamps from Eploy migrate as audit timestamps on the candidate record. We require customer confirmation of the stage mapping table before any candidate records are written to Zoho Recruit.

Eploy

Offer

maps to

Zoho Recruit

Offer

1:1
Fully supported

Eploy Offer records (salary, start date, role details, e-signature status) map to Zoho Recruit Offer records, which are available from the Standard plan upwards. We migrate active offers and preserve the e-signature audit trail where the API exposes it. Zoho Recruit's Offer module supports offer letter templates (50 at Standard, 100 at Enterprise); we map Eploy's offer letter references to the nearest equivalent template or store the original Eploy document as an attachment on the Offer record.

Eploy

Hiring Manager Portal

maps to

Zoho Recruit

User (Staffing Agency) or Zoho Recruit Portal

1:1
Fully supported

Eploy's Hiring Manager Portal assignments (specific users tied to jobs and workflow stages) map to Zoho Recruit User assignments on Job Openings and as Hiring Manager portal access. Role-based permissions in Eploy may not translate directly; we flag any role that has no Zoho Recruit equivalent (for example, Eploy-specific workflow escalation roles) in the migration report. Customer admin resolves these during the post-migration configuration window.

Eploy

Onboarding Record

maps to

Zoho Recruit

Candidate (Convert to Employee) or Notes

lossy
Fully supported

Eploy's onboarding module lives in a separate schema that may not expose all fields via the standard API. New hire information, reference collection, and contract status that are accessible via API migrate as structured fields on the Zoho Recruit Candidate record. We flag any onboarding objects that return partial schemas and recommend manual CSV export for compliance documents and reference records that cannot be extracted automatically, because Zoho Recruit does not have a separate onboarding module and converts candidates directly to employees in Zoho People.

Eploy

Employee Referral

maps to

Zoho Recruit

Candidate (Referral Source)

1:1
Fully supported

Eploy referral records link an employee to a referred candidate with reward status. We preserve referral attribution by writing the referring employee's name to a Zoho Recruit custom field (for example, referral_source__c) and setting the Candidate Source to 'Employee Referral'. The reward status maps to a custom picklist or text field since Zoho Recruit's standard Source field does not carry reward status natively.

Eploy

Talent Pool

maps to

Zoho Recruit

Tag or Custom Candidate Field

1:1
Fully supported

Eploy Talent Pools are saved candidate collections used for future roles. We migrate pool memberships by writing each pool name as a Zoho Recruit Tag on the Candidate record, preserving the candidate-to-pool association. If the customer uses Talent Pools as formal segments with shared attributes, we alternatively create a custom multi-select picklist field on the Candidate module to represent pool membership, with the choice made during scoping.

Eploy

Custom Property

maps to

Zoho Recruit

Custom Field

1:1
Fully supported

Eploy organisations add custom fields to jobs, candidates, and other objects. We detect the full custom property schema during discovery and create corresponding custom fields in Zoho Recruit's module builder before migration. Field type mapping applies: text maps to single-line text, multi-select maps to multi-select picklist, date maps to date, and numeric maps to number. Fields that cannot map directly (for example, Eploy-specific structured data types with no Zoho equivalent) are serialised into a JSON text field with documentation provided to the customer's admin.

Eploy

Assessment

maps to

Zoho Recruit

Candidate Custom Field or Attachment

1:1
Fully supported

Assessment scores and results attached to candidate records in Eploy migrate as structured custom fields on the Zoho Recruit Candidate module where the API exposes numerical or categorical scores. Visual assessment scores that lack a structured API equivalent are migrated as attachments with the original filename preserved, so the information is not lost even if the scoring format does not transfer cleanly. The customer admin can then configure Zoho Recruit's native assessment integration post-migration if desired.

Eploy

Document / Attachment

maps to

Zoho Recruit

Attachment on Candidate or Job Opening

1:1
Fully supported

Resume and document attachments in Eploy are served as download URLs rather than inline blobs. We enumerate all attachment URLs per candidate record, download each file to temporary encrypted storage, then upload to Zoho Recruit's attachment endpoint linked to the corresponding Candidate or Job Opening record. Filenames and the association back to the parent record are preserved. For compliance-heavy sectors with hundreds of attachments per candidate, this pass extends migration time and requires storage headroom; we scope this separately during discovery.

Eploy

Communication History

maps to

Zoho Recruit

Notes or Tasks on Candidate

1:1
Mapping required

Email and SMS threads tied to candidates in Eploy migrate as Zoho Recruit Notes linked to the Candidate record, preserving email content and timestamps. Formatting may flatten in transit; we document the formatting transformation for the customer's admin. SMS content migrates as Notes with an sms: prefix in the note title to distinguish it from email threads. This approach mirrors Zoho Recruit's own data migration documentation, which maps communication history to the Notes module.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Eploy logo

Eploy gotchas

High

API rate limits cap daily call volumes per tier

High

API keys are tied to individual user records

Medium

Onboarding module data may live in a separate schema

Medium

Custom workflow stages require mapping table creation

Low

Document attachments require separate download-then-upload passes

Zoho Recruit logo

Zoho Recruit gotchas

High

Daily API rate limits are tier-gated and per-user capped

High

User import hard cap of 2,000 records

Medium

Attachment folder hierarchy must be preserved exactly

Medium

Resume parsing quota varies by plan and resets daily

Low

Custom fields unavailable in Free and Standard editions

Pair-specific challenges

  • Last Name is mandatory in Zoho Recruit and records without it are silently skipped

    Zoho Recruit's Candidate module enforces Last Name as a mandatory field. During import, any Eploy candidate record without a Last Name value is silently ignored with no error message. Eploy does not mandate Last Name, so candidates entered with a single name or a company name as the contact name will fail to migrate without remediation. We detect missing Last Name values during the extraction phase, split full-name fields where available (for example, 'John Smith' from a combined name field), and write 'Not Provided' as a placeholder for records with no resolvable name component, consistent with Zoho Recruit's own migration documentation. This remediation step is included in our standard scope but must be acknowledged by the customer before migration begins.

  • Eploy API keys are tied to user accounts; deactivation breaks the migration mid-flight

    Each Eploy API key inherits the permissions of the user record it is tied to. If that user is deactivated during or after migration scoping, the API key is revoked and the migration job fails silently with a 403 or 401 response. We request that customers provision a dedicated service account with read permissions across all Eploy objects before migration begins and verify key validity in a pre-flight check before touching any candidate data. We also implement exponential backoff with jitter and checkpointing so that if the key is revoked mid-migration, we resume from the last successful record.

  • Onboarding module data may live in a separate schema with partial API exposure

    Eploy's onboarding features (reference collection, contracts, compliance documents) are part of a distinct module that may not expose all fields via the standard API. We query the onboarding endpoints explicitly during discovery and flag any objects that return partial schemas. For records that cannot be extracted automatically, we document the gap and recommend manual CSV export of the onboarding module as a complement to the automated migration. Zoho Recruit has no equivalent onboarding module; new hire data that migrates into Candidate records must be manually converted to Zoho People employees post-migration by the customer's HR admin.

  • Document attachments require a download-then-upload pass that extends migration time

    Resume and document attachments in Eploy are served as download URLs via the candidate API, not as inline blobs. We must first enumerate all attachment URLs across the candidate database, download each file to temporary encrypted storage, then upload each to Zoho Recruit's attachment endpoint. For compliance-heavy sectors (healthcare, finance, public sector) where candidates may have dozens of supporting documents each, this pass significantly extends migration timelines and requires adequate storage headroom in our staging environment. We scope document volume separately during discovery and flag any customer with over 20,000 total attachments for a separate document migration schedule.

  • Zoho Recruit export links expire in 48 hours and cap at 20,000 records per module

    Zoho Recruit's built-in export feature sends a download link valid for 48 hours and limits each export request to 20,000 records per module. If Eploy's candidate database exceeds 20,000 records, we cannot rely solely on Zoho Recruit's native import tool and instead use Eploy's API for extraction and Zoho Recruit's API for insertion. We discover the record count per module during scoping and confirm whether any module exceeds 20,000 before designing the migration approach. Any module approaching the limit is handled via API-based chunking rather than the native CSV upload tool.

Migration approach

Six steps for a successful Eploy to Zoho Recruit data migration

  1. Discovery and data audit

    We audit the source Eploy portal across subscription tier (to determine API rate limit tier), candidate volume, job requisition count, onboarding module presence, custom property schemas, workflow stage names aggregated from active jobs, talent pool list, document attachment count per candidate, and any active hiring manager portal assignments. We pair this with a Zoho Recruit edition check (Free/Standard/Professional/Enterprise) to confirm that destination custom field limits (50 on Standard, 300 on Enterprise) accommodate the Eploy custom property schema without collapse. The discovery output is a written migration scope confirming record counts per module, any gaps requiring manual export, and the Zoho Recruit plan recommendation.

  2. Service account provisioning and API pre-flight

    We request a dedicated Eploy service account with read permissions across all objects (Jobs, Candidates, Offers, Onboarding, Talent Pools, Custom Properties) and verify the API key validity in a pre-flight test that extracts a sample of 50 records across all modules. We also confirm the subscribed API rate limit tier so that our migration workers throttle to the correct daily cap. If the Eploy account uses Tier 1 (1,000 calls/day), we scope a longer migration window; Tier 4 (50,000 calls/day) allows faster throughput. We document the service account requirements in the pre-flight report and do not begin extraction until the account is confirmed active.

  3. Schema preparation in Zoho Recruit

    We configure the Zoho Recruit destination schema before any data import begins. This includes creating custom fields on Job Opening and Candidate modules to receive Eploy custom properties, configuring pipeline stages in Setup > Recruit > Pipelines mapped from the Eploy stage mapping table confirmed by the customer, creating custom fields for referral source and reward status, and confirming that mandatory fields (Last Name) have either source values or 'Not Provided' placeholders assigned. Zoho Recruit's field type constraints (date formats, picklist values) are validated against the Eploy source data types during this phase so that type-mismatch errors are caught before record insertion.

  4. Document download pass and attachment staging

    We enumerate all document attachment URLs from the Eploy candidate API, download each file to AES-256-encrypted temporary storage, and validate file integrity (size, MIME type) before staging for upload. We build an attachment manifest linking each downloaded file to its parent Eploy candidate record and the corresponding Zoho Recruit Candidate record ID (resolved after candidate insertion). Large attachment volumes (over 5,000 total files) are staged in batches to manage storage costs. This pass runs in parallel with the candidate record extraction to compress total migration time.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Job Openings first (no dependencies), then Candidates (with Last Name remediation applied), then Offers, then Talent Pool tags applied to Candidate records, then communication history as Notes, then document attachments linked to their parent records. Each phase emits a row-count reconciliation report comparing Eploy source counts to Zoho Recruit destination counts. Any module with a discrepancy greater than 1% triggers a root-cause investigation before the next phase begins. Workflow stages and hiring manager assignments are migrated last as they depend on both Job Opening and User records being fully loaded.

  6. Cutover, validation, and Workflow rebuild handoff

    We freeze Eploy writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Zoho Recruit as the system of record. We deliver a Workflow and Automation Inventory document listing every active Eploy workflow with its trigger conditions, stage sequence, and recommended Zoho Recruit Blueprint equivalent. We deliver a separate Onboarding Module Gap Report listing any records that could not be extracted automatically with manual export instructions. We support a one-week hypercare window for reconciliation issues. We do not rebuild Eploy workflows as Zoho Recruit Blueprint or workflow rules inside the migration scope; that work is handled by the customer's admin using the inventory document we provide.

Platform deep dives

Context on both ends of the pair

Eploy logo

Eploy

Source

Strengths

  • Founded in 1998, giving it one of the longest track records in the UK ATS market with deep sector knowledge
  • Integrates onboarding into the same platform as the ATS, creating a single system of record from hire to start date
  • Offers its own migration and implementation services, acknowledging data migration as a core part of the customer lifecycle
  • OAuth2 API with tiered daily call limits enables programmatic data extraction for migrations
  • Strong customer service reputation (4.9/5) suggests reliable support during complex migration projects

Weaknesses

  • No free tier or self-service trial, requiring a sales conversation before evaluation, which increases migration commitment risk
  • Pricing starts at £695/month flat rate, making cost predictability difficult for organisations migrating mid-contract
  • Interface described as clunky and non-intuitive by multiple reviewers, suggesting migration scoping calls must account for user retraining
  • API rate limits (max 50,000 calls/day on Tier 4) can extend migration timelines for large candidate databases
  • Reporting complexity deters organisations that need quick access to recruitment analytics, a common migration trigger
Zoho Recruit logo

Zoho Recruit

Destination

Strengths

  • Free tier includes full candidate management with a hosted career site, making it viable for very small staffing operations.
  • Multi-edition architecture splits agency and corporate HR workflows, with tier-gated features that scale predictably with headcount.
  • Per-user API rate limits (500–1000/day) are generous for mid-size migrations compared to competitors that gate by total org quota.
  • Zoho's own data migration tool supports CSV import from Bullhorn, CATS, Jobdiva, and Workable, validating interoperability with common ATS formats.
  • 45-day money-back guarantee and 15-day full-feature trial reduce financial risk for teams evaluating the platform.

Weaknesses

  • Free edition excludes custom fields, lookup relationships, and formula fields, making data model extensibility unavailable until a paid tier is purchased.
  • Resume parsing quotas are capped: 250/day on Standard, 500/day on Professional, unlimited only on Enterprise — bulk imports of large candidate pools will hit these limits.
  • No bulk/batch API endpoint for inserts or updates — large migrations rely on looping single-record API calls within daily rate limit windows.
  • Custom modules cannot be imported from external ATS; only standard modules (Users, Candidates, Clients, etc.) are in the supported migration list.
  • Attachments require a rigid folder hierarchy to re-associate with records, and any deviation in folder structure during extraction causes silent disassociation.

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Eploy and Zoho Recruit.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Eploy: 10 requests per second; daily tier caps of 1,000 / 5,000 / 10,000 / 50,000 depending on subscribed tier.

  • Data volume sensitivity

    B

    Eploy doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Eploy to Zoho Recruit migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Eploy to Zoho Recruit data migrations

Answers to the questions buyers ask most during Eploy to Zoho Recruit migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Eploy to Zoho Recruit migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for organisations under 10,000 active candidates with no onboarding module data and under 50,000 document attachments. Migrations exceeding 10,000 candidates, with onboarding module extraction, large assessment histories, or multiple talent pools requiring tag remapping extend to seven to eleven weeks because of the document download-then-upload pass, Last Name gap remediation, and workflow stage aggregation work required during scoping. Eploy API rate limit tier also affects extraction speed: Tier 1 (1,000 calls/day) extends extraction timelines compared to Tier 4 (50,000 calls/day).

Adjacent paths

Related migrations to explore

Ready when you are

Move from Eploy.
Land in Zoho Recruit, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day