HRMS migration
Field-level mapping, validation, and rollback between Smart Hire and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Smart Hire
Source
Zoho Recruit
Destination
Compatibility
7 of 12
objects map 1:1 between Smart Hire and Zoho Recruit.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Smart Hire to Zoho Recruit addresses a fundamental difference in export architecture: Smart Hire relies on CSV downloads from the admin dashboard rather than a structured REST API, while Zoho Recruit exposes a Data Migration wizard with module-level CSV import and field mapping. We automate the Smart Hire export extraction through authenticated session handling, parse multi-file CSV exports, reconstruct candidate-to-job associations via foreign key resolution, and normalize psychometric scores to Zoho Recruit's custom fields. We map Screening Sessions to Zoho Recruit's Candidates with interview stage notes, and carry forward Pipeline Stages as Zoho Recruit job opening stages. Custom properties from Smart Hire become Zoho Recruit custom fields created during schema setup. We do not migrate Smart Hire workflows, assessment builder configurations, or career site settings; we deliver a written inventory of these for the customer's admin to rebuild in Zoho Recruit's workflow and Blueprint builders.
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 Smart Hire 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.
Smart Hire
Candidate
Zoho Recruit
Candidate
1:1Smart Hire candidate records map to Zoho Recruit Candidates. We extract contact details, work history, current status, and source attribution from the Smart Hire CSV export. The Candidate's Last Name field is mandatory in Zoho Recruit; if the Smart Hire export contains candidates without last names, we populate the Last Name with a placeholder value ('Not Provided') per Zoho Recruit's import requirements and flag these records for customer review. Custom properties on the candidate record become Zoho Recruit custom fields on the Candidate module, created during schema setup before data import begins.
Smart Hire
Job Opening
Zoho Recruit
Job Opening
1:1Smart Hire Job Openings map to Zoho Recruit Job Openings with title, department, location, and job description fields carried forward. Pipeline stage names from Smart Hire map to Zoho Recruit's stage picklist values on the job opening. If the Smart Hire export uses stage names that do not match Zoho Recruit's default vocabulary (Applied, Screening, Interview, Offer, Hired), we create custom stage values during Zoho Recruit configuration to preserve the customer's pipeline terminology.
Smart Hire
Screening Session
Zoho Recruit
Candidate (interview notes and activity)
1:manySmart Hire Screening Sessions represent a candidate's participation in a specific assessment round. These do not have a direct Zoho Recruit equivalent object, so we restructure the data: the screening session identifier and outcome become a custom field on the Candidate record (screening_session_id, screening_outcome, screening_date), and the session notes migrate as a Candidate-level note or as values in a custom multi-line text field. If the customer uses multi-round screening with per-round scores, each round maps to a separate custom field or a structured custom picklist.
Smart Hire
Psychometric Assessment
Zoho Recruit
Custom Fields on Candidate
lossyAssessment scores from Smart Hire use the platform's internal scale format, which is not standardized against external percentile benchmarks. We profile the score ranges during pre-migration analysis, identify the scale type (raw score, percentile, competency rating), and map each score to a Zoho Recruit custom numeric, percent, or picklist field on the Candidate module. If Smart Hire stores multiple competency维度 as separate columns, each becomes its own custom field. We validate that the mapped values fit within Zoho Recruit's field type constraints before insertion.
Smart Hire
Custom Property
Zoho Recruit
Custom Field
lossySmart Hire custom properties on both Candidate and Job Opening records export as free-text key-value pairs regardless of their logical data type. During pre-migration profiling we detect fields that contain date-formatted strings, numeric strings, or boolean strings and apply type-coercion rules before import. Custom fields that reference deleted or archived option values in Smart Hire are flagged for manual review. In Zoho Recruit we create typed custom fields matching the coerced data type before data load to avoid import-time validation errors.
Smart Hire
Attachment (Resume, Document)
Zoho Recruit
Candidate Attachment
1:1Smart Hire resume files and supporting documents are exported as binary assets linked to candidate records. We export these as file attachments and associate them with the corresponding Candidate record in Zoho Recruit using the candidate's unique identifier. If a candidate record in Smart Hire has multiple attachments (resume, cover letter, portfolio), each becomes a separate attachment linked to the same Candidate.
Smart Hire
User (Hiring Manager, Recruiter)
Zoho Recruit
User
1:1Smart Hire user accounts with role assignments (Hiring Manager, Recruiter, Admin) map to Zoho Recruit User records. We resolve by email match during import. Users who already have an active Zoho Recruit account cannot be imported as duplicates per Zoho Recruit's migration constraints; these are flagged for the customer to close the separate account before proceeding. If a Smart Hire user has no corresponding Zoho Recruit User, the candidate records they own are held in a reconciliation queue pending User provisioning.
Smart Hire
Pipeline Stage
Zoho Recruit
Job Opening Stage
lossySmart Hire stores per-job pipeline stages (Applied, Screening, Interview, Offer, Hired) as configuration on each Job Opening. We extract the full stage configuration including stage names and ordering and recreate it in Zoho Recruit as stage values on the Job Opening module. Zoho Recruit's Data Migration wizard maps these as picklist values; if stages have custom probability or milestone date settings in Smart Hire, we carry those as additional custom fields on the Job Opening.
Smart Hire
Candidate-to-Job Association
Zoho Recruit
Job Application
1:1Smart Hire stores the association between a Candidate and a Job Opening as a foreign key on the candidate record or in a separate application record depending on the export format. When Smart Hire exports these as separate CSV files, the association can break if the ID mapping across files is inconsistent. We reconstruct the association by matching candidate IDs to application records, then insert a corresponding entry in Zoho Recruit linking the Candidate to the Job Opening via the standard application relationship.
Smart Hire
Candidate Status
Zoho Recruit
Candidate Status
1:1Smart Hire tracks candidate application status (Active, Hired, Rejected, Withdrawn) per job opening. These status values map directly to Zoho Recruit's Candidate Status picklist values. If Smart Hire uses custom status labels, we create matching custom picklist values in Zoho Recruit during field configuration.
Smart Hire
Job Department
Zoho Recruit
Department (custom field or standard)
lossySmart Hire job openings carry a department attribute. Zoho Recruit does not have a native Department field on Job Opening; we create a custom picklist field (Department) on the Job Opening module and map the Smart Hire department values to it during import. If the customer uses Zoho People for HR, we coordinate on whether the department reference should link to a Zoho People Department record instead.
Smart Hire
Candidate Source
Zoho Recruit
Source
1:1Smart Hire tracks the candidate source (Job Board, Referral, Direct Application, Agency) as a property on the candidate record. This maps to Zoho Recruit's Source picklist field on the Candidate module. Custom source values from Smart Hire are created as picklist options in Zoho Recruit during field configuration.
| Smart Hire | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job Opening | Job Opening1:1 | Fully supported | |
| Screening Session | Candidate (interview notes and activity)1:many | Fully supported | |
| Psychometric Assessment | Custom Fields on Candidatelossy | Fully supported | |
| Custom Property | Custom Fieldlossy | Fully supported | |
| Attachment (Resume, Document) | Candidate Attachment1:1 | Fully supported | |
| User (Hiring Manager, Recruiter) | User1:1 | Fully supported | |
| Pipeline Stage | Job Opening Stagelossy | Fully supported | |
| Candidate-to-Job Association | Job Application1:1 | Fully supported | |
| Candidate Status | Candidate Status1:1 | Fully supported | |
| Job Department | Department (custom field or standard)lossy | Fully supported | |
| Candidate Source | Source1: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.
Smart Hire gotchas
Export mechanism is CSV-based, not REST API
Assessment score normalization requires field mapping
Custom fields may be untyped in CSV exports
Candidate-to-job associations can split during multi-file exports
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
Pre-migration discovery and Smart Hire export profiling
We request admin access to the Smart Hire account and run a full export of all modules: Candidates, Job Openings, Screening Sessions, Psychometric Assessment Results, Custom Properties, Attachments, Users, and Pipeline Stage configurations. We automate CSV download across all filtered views and paginated results to capture complete data. During profiling we identify the export format for each module, detect type inconsistencies in custom fields, profile score ranges for normalization, and map candidate-to-job foreign keys across files. We deliver a written profiling report covering record counts, field completeness, missing mandatory fields, and any export anomalies that require resolution before migration begins.
Zoho Recruit tenant setup and custom field configuration
We access the customer's Zoho Recruit account with administrator credentials and configure the destination schema before any data loads. This includes creating custom fields on the Candidate and Job Opening modules to receive Smart Hire's custom properties and psychometric scores, creating custom picklist values for pipeline stages, candidate status, and department, and setting up the User structure in Zoho Recruit to receive hiring manager and recruiter accounts. We validate that the Zoho Recruit migration user has the necessary permissions (Data Administration access) and that any blocking validation rules or required-field constraints are identified for temporary deactivation during import.
Owner reconciliation and User provisioning
We extract every distinct Smart Hire user referenced on Candidate, Job Opening, and Screening Session records and match by email against the Zoho Recruit User table. Users with existing separate Zoho Recruit accounts are flagged for account closure. Any Smart Hire user without a matching Zoho Recruit User is held in a reconciliation queue; the customer's admin provisions the missing Zoho Recruit User accounts before record import resumes. This step must complete before candidate and job imports begin because OwnerId references are required on most standard objects in Zoho Recruit.
Job Opening migration and stage configuration
We migrate Job Openings first because Candidate records depend on them via the application association. Job Openings load via Zoho Recruit's Data Migration wizard with field mapping from Smart Hire export columns to Zoho Recruit Candidate and Job Opening fields. We map Smart Hire's pipeline stage names to Zoho Recruit stage values, creating custom stage options where Smart Hire uses non-standard terminology. Department, location, and job description fields load in this phase. Each Job Opening receives its unique identifier from Smart Hire stored in a custom field (smart_hire_job_id__c) for association reconciliation during candidate import.
Candidate and screening session migration with score normalization
We migrate Candidates in dependency order: base candidate fields first, then custom properties, then screening session and psychometric assessment data. For each candidate we resolve the Last Name (using placeholder values where missing per Zoho Recruit's requirement), map custom properties to typed Zoho Recruit custom fields, and apply score normalization for psychometric results based on the scale mapping defined during profiling. Screening session outcomes attach as notes or custom field values on the Candidate record. Candidate-to-job associations load last, linking each Candidate to the corresponding Zoho Recruit Job Opening via the smart_hire_job_id__c lookup. We run row-count reconciliation confirming every candidate has at least one job association before closing this phase.
Attachment import and delta validation
We import resume files and supporting documents as attachments on the corresponding Candidate records. Each attachment links via the candidate's unique identifier resolved during the candidate import phase. After attachment import we run a final delta check: any candidate records created or modified in Smart Hire during the migration window are identified via a timestamp comparison and loaded as a final delta batch. We deliver a migration reconciliation report showing record counts per module, attachment counts, and a list of any records that were skipped or flagged for manual review.
Workflow and automation rebuild handoff
We deliver a written inventory of every Smart Hire assessment workflow, screening rule, and automation configuration that does not migrate as code. The inventory documents each automation's trigger, conditions, and actions with a recommended Zoho Recruit Workflow Rule or Blueprint equivalent. The customer's admin rebuilds these in Zoho Recruit's Workflow Rules builder and Blueprint visual process editor post-migration. We do not perform the rebuild as part of the standard migration scope. We support a one-week hypercare window after cutover to resolve any data issues raised during the customer's first week of live use in Zoho Recruit.
Platform deep dives
Smart Hire
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 Smart Hire 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
Smart Hire: Not publicly documented.
Data volume sensitivity
Smart Hire 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 Smart Hire to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Smart Hire 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 Smart Hire
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.