HRMS migration

Migrate from WebHR to Zoho Recruit

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

WebHR logo

WebHR

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

58%

7 of 12

objects map 1:1 between WebHR and Zoho Recruit.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

WebHR is a full hire-to-retire HRMS with an optional ATS module; Zoho Recruit is a dedicated applicant tracking system with a free recruiter tier through Enterprise at $90 per recruiter per month. The migration from WebHR to Zoho Recruit is primarily a recruitment-focused data move: we extract candidate profiles, job opening records, client organizations, and interview notes from WebHR and land them in Zoho Recruit's Candidate, Job Opening, and Client modules. The key pair-specific risk is that WebHR's Recruitment module is a paid add-on at $0.50 per employee per month; if it was never activated, candidate records may not exist in the source despite the customer expecting them. We check active modules before scoping. Pipeline stage names in WebHR are customer-defined, so we extract the actual stage configuration during discovery and build a custom field map before any records move. Workflows, approval chains, and custom review templates in WebHR do not migrate; we deliver a written inventory for the customer's admin to rebuild in Zoho Recruit.

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

WebHR logo

WebHR

What's pushing teams away

  • Frequent slowdowns and lags reported in G2 reviews frustrate users during peak times like payroll runs, with some noting the platform becomes unusable during high-activity windows.
  • Reporting and analytics are described as limited and shallow compared to competitors, making it difficult to generate the detailed HR reports that growing companies require.
  • Support responsiveness is inconsistent according to some reviewers, with critical issues taking too long to resolve during urgent payroll or compliance situations.
  • The platform lacks the advanced automation, AI features, and compliance depth that companies scaling beyond 200 employees typically need from enterprise HRMS vendors.

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 WebHR objects map to Zoho Recruit

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

WebHR

Employees / Candidate Records

maps to

Zoho Recruit

Candidate

1:1
Fully supported

WebHR's Recruitment Candidate records map to Zoho Recruit's Candidate module. The mapping includes first name, last name (required in Zoho Recruit; we substitute 'Not Provided' for blank values), email, phone, current company, current job title, application date, and source. If WebHR's Recruitment module was not active (a paid add-on at $0.50/employee/month), candidate records do not exist in the source API despite the customer's expectation. We verify module activation before scoping commits to candidate data completeness.

WebHR

Recruitment Pipeline Stages

maps to

Zoho Recruit

Job Opening Status

lossy
Fully supported

WebHR pipeline stages (Screening, Technical Interview, Culture Fit, Offer) are customer-defined with no canonical schema. We extract the actual stage names and order during the discovery phase, then configure Zoho Recruit's Job Opening stages to match. Each stage in Zoho Recruit is tied to a Job Opening record rather than a global pipeline; we create stage values per active Job Opening during migration.

WebHR

Job Openings

maps to

Zoho Recruit

Job Opening

1:1
Fully supported

WebHR job posting records map to Zoho Recruit Job Opening. We extract job title, job description (rich text), department, location, employment type, required experience, and posting date. Active and closed job status migrates to Zoho Recruit's Open/Closed state. The Zoho Recruit Standard tier allows 10 active jobs per recruiter; Enterprise allows 20 per recruiter; we flag any customer exceeding these limits before migration so the customer can upgrade or archive stale postings.

WebHR

Clients (Organizations)

maps to

Zoho Recruit

Client

1:1
Fully supported

WebHR's Companies/Organization records map to Zoho Recruit's Client module. We extract company name, website, address, industry, and size. The Client module in Zoho Recruit supports contact-person relationships; we link the primary WebHR employee contact to the Client as a primary contact.

WebHR

Employees (Internal Contacts)

maps to

Zoho Recruit

Zoho Recruit Users

1:1
Fully supported

WebHR employee records used as hiring managers, interviewers, and recruiters map to Zoho Recruit User accounts. We resolve by email match against Zoho Recruit's user table. Any WebHR employee without a corresponding Zoho Recruit User is held in a reconciliation queue; the customer's admin provisions the missing User before record import resumes.

WebHR

Notes / Interview Notes

maps to

Zoho Recruit

Notes

1:1
Fully supported

WebHR notes attached to candidate records migrate to Zoho Recruit Notes linked to the Candidate. We preserve the note body, author (mapped to Zoho Recruit User), and timestamp. If notes contain file attachments, we enumerate the attachment metadata and upload the blobs to Zoho Recruit's Document Library under the corresponding Candidate.

WebHR

Leave / PTO Records

maps to

Zoho Recruit

Not Migrated (Manual Post-Migration)

lossy
Fully supported

Leave and PTO records in WebHR do not have a native equivalent in Zoho Recruit's ATS data model. We do not migrate leave balances or leave history because Zoho Recruit is an ATS, not a core HRMS. We flag this as a gap and recommend migrating leave data separately to Zoho People or another HRMS if the customer requires it.

WebHR

Performance Reviews

maps to

Zoho Recruit

Not Migrated (Custom Module or Manual)

lossy
Mapping required

WebHR Performance Review records use custom rating templates with customer-defined scales (1-5, Strength/Development, numerical). Zoho Recruit has no native performance review module. We extract the review records during discovery and deliver them as a structured CSV with the original rating scale preserved. If the customer wants these records in Zoho Recruit, we set up a custom module to receive them; otherwise they are excluded from the ATS migration scope.

WebHR

Documents / Files

maps to

Zoho Recruit

Document Library

1:1
Fully supported

WebHR file attachments (resumes, contracts, certifications) stored under the Files module migrate to Zoho Recruit's Document Library. We enumerate file metadata via WebHR API, download blobs, and upload them to Zoho Recruit linked to the corresponding Candidate or Client record. File naming conventions are preserved for traceability.

WebHR

Departments

maps to

Zoho Recruit

Department

1:1
Fully supported

WebHR organizational department records map to Zoho Recruit's Department module. This supports job opening department assignment in Zoho Recruit. We extract department name and parent department hierarchy for nested department structures.

WebHR

Scheduler / Shifts

maps to

Zoho Recruit

Not Migrated (Post-Migration Manual)

lossy
Fully supported

WebHR's Scheduler module stores shift assignments and rosters. Zoho Recruit has no scheduling module. We do not migrate shift data. If the customer uses WebHR for workforce scheduling, we recommend a separate migration to Zoho Shifts or Zoho People Plus as a standalone engagement.

WebHR

Custom Forms / Custom Fields

maps to

Zoho Recruit

Custom Fields (per module)

lossy
Fully supported

WebHR custom form field data and employee-level custom field values migrate to Zoho Recruit custom fields created during schema setup. We extract the actual custom field names, types, and values during discovery and create matching Zoho Recruit custom fields (up to 50 per module on Standard, 300 per module on Enterprise) before candidate import. Any fields exceeding the destination edition limit are flagged for field consolidation or Enterprise upgrade.

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.

WebHR logo

WebHR gotchas

High

Payroll module is a paid add-on not included in base plan

High

Free tier limited to 5 employees with restricted module access

Medium

API lacks documented bulk export or batch endpoints

Medium

Custom review templates and pipeline stages vary by account configuration

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

  • WebHR Recruitment module must be active for candidate data to exist

    WebHR's Recruitment module is a paid add-on at $0.50 per employee per month. If the customer never activated it, candidate application records, pipeline stages, and interview notes do not exist in the WebHR API even if the ATS features appeared in the UI for a trial period. We check active module subscriptions during scoping by querying the WebHR subscription endpoint. If the Recruitment module is inactive, we advise the customer to either activate it temporarily for the migration window or accept that historical candidate data is not available and migrate only active employee records.

  • Zoho Recruit free tier API limit of 500 requests/day is migration-blocking

    Zoho Recruit's free edition caps API access at 500 requests per day per organization. This is insufficient for any production migration with more than a handful of candidate records. We require the customer to be on Zoho Recruit Standard ($30/recruiter/month, 3,000-5,000 requests/day) or higher before migration begins. Enterprise editions allow up to 30,000 requests/day, which supports larger candidate database migrations without chunking delays. We verify the destination edition and its API limits during scoping and flag any tier upgrade requirement before work begins.

  • WebHR has no bulk export API; migrations require paginated enumeration

    WebHR's REST API v3 exposes individual record GET and POST endpoints but does not document a bulk export, CSV download, or batch read capability. Large candidate databases (over 2,000 records) require paginated API calls per object type, increasing migration duration. We implement parallel paginated reads across independent object types (Candidates, Job Openings, Clients) and throttle to avoid 429 errors. Migration timelines for accounts with more than 5,000 candidate records should account for sequential API enumeration time at WebHR's response rate.

  • Zoho Recruit Last Name is a required field; WebHR may not enforce it

    Zoho Recruit's native import wizard requires Last Name on every Candidate record. WebHR's ATS module may have candidate records with no last name (informal entries, referrals entered without full contact details). During migration, we substitute blank last names with 'Not Provided' per Zoho's own migration documentation, but this affects searchability and reporting in Zoho Recruit. We flag records with missing last names before import so the customer's admin can decide whether to complete the names manually or accept the placeholder.

  • Workflows and Blueprints do not migrate between WebHR and Zoho Recruit

    WebHR's recruitment workflow rules (approval chains, stage-change triggers, notification actions) have no direct equivalent in Zoho Recruit's Workflow Rules and Blueprint automation model. We do not migrate them as code. We deliver a written inventory of every active WebHR ATS workflow with its trigger conditions, actions, and a recommended Zoho Recruit Blueprint or Workflow Rule equivalent. The customer's admin rebuilds these in Zoho Recruit post-migration. This inventory work is scoped separately if the customer requests it as a deliverable.

Migration approach

Six steps for a successful WebHR to Zoho Recruit data migration

  1. Active module verification and scoping

    We audit the source WebHR account for active subscription modules by querying the billing and subscription API endpoints. Specifically, we confirm whether the Recruitment add-on is active and which stage names are configured in the ATS pipeline. We also enumerate the total record counts for candidates, job openings, clients, departments, and file attachments. This step determines whether candidate data exists at all and establishes the baseline for timeline and cost estimation. We deliver a written scope document with record counts and any module activation requirements before migration begins.

  2. Zoho Recruit edition and schema preparation

    We confirm the customer's Zoho Recruit edition and verify its API rate limits against the migration volume. We create the destination schema: custom fields matching WebHR's custom form field names, Job Opening stage values configured per WebHR's pipeline stage names extracted in Step 1, Department records, and any custom modules required for Performance Review data. We verify custom field limits per edition (50/module on Standard, 300/module on Enterprise) and flag any consolidation requirements. Schema is set up in the production Zoho Recruit account before any data import begins.

  3. Discovery extraction and field mapping document

    We extract all candidate records, job opening records, client organizations, departments, notes, and file metadata from WebHR via paginated API calls. We build a field mapping document that pairs each WebHR field (name, type, sample value) to its Zoho Recruit equivalent (standard field or newly created custom field). For each WebHR pipeline stage, we assign the corresponding Zoho Recruit Job Opening stage in the mapping document. We deliver this mapping document to the customer for written sign-off before any records are written to Zoho Recruit.

  4. Staging migration and reconciliation

    We run a full migration into a staging environment or a parallel Zoho Recruit account using representative data volume. The customer's recruiting lead reconciles record counts (candidates in, job openings in, clients in), spot-checks 25-50 candidate records against the WebHR source for field accuracy and attachment presence, and validates that stage names are correctly mapped. Any mapping corrections, missing fields, or data quality issues are resolved here before production migration. We do not proceed to production until written sign-off is received.

  5. Production migration in dependency order

    We run production migration in this order: Departments (first, as they are referenced by job openings), Clients (referenced by candidates), Job Openings (with stage configuration applied), Candidates (with Last Name resolved and stage mapped), Notes (linked to candidates by ID), and Document Library files (linked to candidates and clients by record ID). Each phase emits a row-count reconciliation report. We throttle API writes to Zoho Recruit's per-edition limit to avoid 429 errors and implement exponential backoff on rate-limit responses. No records are written to the next phase until the previous phase's reconciliation report is verified.

  6. Cutover, validation, and workflow inventory delivery

    We freeze WebHR ATS writes during the cutover window, run a delta migration of any records created or modified during the migration window, then designate Zoho Recruit as the system of record. We deliver the WebHR ATS workflow inventory document listing every active workflow with its trigger, conditions, and recommended Zoho Recruit Blueprint or Workflow Rule equivalent for the customer's admin to rebuild. We conduct a one-week hypercare window resolving any data quality issues raised by the recruiting team. We do not rebuild WebHR workflows as Zoho Recruit workflows within the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

WebHR logo

WebHR

Source

Strengths

  • Per-employee pricing starts at $2/month with a free 5-seat tier for evaluation before commitment
  • All-in-one HRMS covers employee management, payroll, recruitment, performance, time, benefits, and e-signature under one subscription
  • Cloud-only deployment eliminates on-premise IT requirements and enables 24/7 access from any browser
  • Social HR and internal communication tools reduce reliance on separate collaboration platforms for day-to-day HR tasks
  • 30%+ annual pre-pay discount makes the per-employee cost highly competitive for small businesses on annual budgets

Weaknesses

  • Frequent performance slowdowns and lag reported during peak usage periods like payroll processing
  • Reporting and analytics capabilities are shallow compared to enterprise HRMS competitors, limiting insight generation
  • Support responsiveness is inconsistent, with critical issues sometimes taking extended time to resolve
  • Limited advanced automation and AI features compared to Rippling, BambooHR, or UKG Pro
  • No documented public API rate limits or bulk export endpoints for programmatic large-scale data extraction
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. 2 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 WebHR and Zoho Recruit.

  • Object compatibility

    B

    2 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

    WebHR: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your WebHR 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 WebHR to Zoho Recruit data migrations

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

Can't find your answer?

Walk through your WebHR 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 two and three weeks for accounts with fewer than 2,000 candidate records and 100 job openings with no complex custom field structures. Migrations with large candidate databases (over 10,000 records), multiple organizational entities in WebHR, or extensive custom form fields extend to six to ten weeks because of the discovery and reconciliation scope required to handle non-standard stage names and missing field values.

Adjacent paths

Related migrations to explore

Ready when you are

Move from WebHR.
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