HRMS migration
Field-level mapping, validation, and rollback between JobScore and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
JobScore
Source
Zoho Recruit
Destination
Compatibility
10 of 13
objects map 1:1 between JobScore and Zoho Recruit.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from JobScore to Zoho Recruit is a candidate-centric to job-centric schema translation. JobScore organizes data around Candidates with a five-stage pipeline (New, Active with unlimited sub-stages, Declined, Withdrawn, Hired), while Zoho Recruit centers on Job Openings and links Candidates to openings via Applications. We handle the structural difference by importing Jobs first, then creating Candidates with Application records pointing to the correct Job Opening, and collapsing any JobScore Active sub-stage names into a custom property on the Zoho Recruit Candidate record. Phone-number deduplication collisions that would silently overwrite records in JobScore are detected during scoping and presented to the customer for a decision before migration begins. We do not migrate Workflows, Email Automations, or Job Board Posting Configurations; we deliver a written inventory of these for the customer's admin to rebuild in Zoho Recruit's Blueprint and Workflow Rule 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 JobScore 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.
JobScore
Candidate
Zoho Recruit
Candidate
1:1JobScore Candidate records map directly to Zoho Recruit Candidate records. The JobScore uid becomes a custom field js_candidate_uid__c preserved for audit. Name, email, phone, address, tags, and notes migrate as native Zoho Recruit fields. JobScore's candidate-level tags (unlimited on all tiers) migrate to Zoho Recruit Tags; we resolve any tag name collisions during scoping. We detect phone-number collisions before import because JobScore's bulk import deduplication would silently overwrite existing records. The customer chooses a collision resolution strategy (skip, merge, or allow overwrite) before migration begins.
JobScore
Job
Zoho Recruit
Job Opening
1:1JobScore Job records map to Zoho Recruit Job Opening records. JobScore job_title becomes Job Opening Title; job_description migrates as the Description field; location fields map to Zoho Recruit's City, State, Country, and Zip Code fields. A critical pair-specific gotcha: JobScore only surfaces published jobs in its v2 API. We warn customers to publish all roles before migration and cross-reference the admin job list to surface any Draft or Unpublished jobs. If a job cannot be published before migration, we export it as a supplementary JSON payload and provide manual import instructions.
JobScore
Application
Zoho Recruit
Candidate-Job Opening Relation
1:1JobScore Application records (the join between Candidate and Job) map to Zoho Recruit's candidate-job association stored at the Candidate record level with a linked Job Opening reference. The Application date, current stage, and stage-change timestamps migrate as a stage history custom property on the Zoho Recruit Candidate. JobScore's custom application form field responses migrate as custom fields on the Candidate record. Application-level tags migrate as Candidate Tags in Zoho Recruit.
JobScore
Interview
Zoho Recruit
Interview
1:1JobScore Interview records map to Zoho Recruit Interview records. Interview date and time, interviewer assignment (resolved via User mapping), interview type, location or video link, and interview status migrate directly. JobScore interview types (phone, video, onsite, panel) map to Zoho Recruit's interview type dropdown. Any interview location or Zoom/Google Meet link stored in JobScore migrates to the Zoho Recruit Interview's location field. Interview scheduling conflicts are flagged during scoping if the same interviewer has overlapping slots in JobScore.
JobScore
Scorecard
Zoho Recruit
Interview Feedback Form
1:1JobScore Scorecards submitted by interviewers map to Zoho Recruit Interview Feedback Forms. The JobScore rating values, rubric criteria, and free-text comments migrate as a structured JSON blob attached to the Zoho Recruit Interview Feedback Form record, with a link back to the parent Interview and Candidate. Zoho Recruit does not have a native scorecard rubric builder on Standard tier; we attach the scorecard data as a formatted text block and note that Professional and Enterprise tiers offer more structured feedback field options.
JobScore
Workflow Stage
Zoho Recruit
Candidate Status
lossyJobScore's five standard stages (New, Active, Declined, Withdrawn, Hired) map to Zoho Recruit's Candidate Status values. The Active sub-stages (Screening, Interviewing, On-hold, Offer, and any custom sub-stages the customer created) cannot map directly to a Zoho Recruit equivalent because Zoho Recruit uses a single Active pipeline per Job Opening without sub-stage branching. We collapse Active sub-stages into a single 'Active' status and preserve the most recent sub-stage name in a custom field js_last_active_substage__c on the Candidate record for audit continuity.
JobScore
Application Status (Disposition Code)
Zoho Recruit
Candidate Status Reason
lossyJobScore disposition codes used to mark why a candidate moved to Declined or Withdrawn migrate as Zoho Recruit Candidate Status Reason values. We export all configured disposition codes from JobScore and create matching picklist values in Zoho Recruit before migration. The customer reviews the disposition code list during scoping to rename or consolidate codes that no longer reflect their process.
JobScore
Location
Zoho Recruit
Job Opening Address Fields
1:1JobScore Location records map to the address fields on the Zoho Recruit Job Opening: Address, City, State, Country, and Zip Code. Location records that are reused across multiple Jobs in JobScore are deduplicated during export and linked by address value. Remote or hybrid location types stored as custom fields in JobScore migrate to a custom field on the Zoho Recruit Job Opening.
JobScore
User (Employee)
Zoho Recruit
User
1:1JobScore Users who appear as interviewers, job owners, or hiring managers map to Zoho Recruit User records. We match by email address. A pair-specific constraint from Zoho Recruit's migration documentation: users who already have a separate Zoho Recruit account cannot be migrated and must close that account before import. Any JobScore User without a matching Zoho Recruit User goes to a reconciliation queue for the customer's admin to provision before record import resumes.
JobScore
Document (Resume, Cover Letter)
Zoho Recruit
Attachment
1:1JobScore uploaded resumes, cover letters, and candidate attachments migrate as Zoho Recruit Attachments linked to the Candidate record. We export raw document blobs and reattach them to the corresponding Zoho Recruit Candidate. Resume parsing in Zoho Recruit Standard and above processes the attached resume to populate Candidate fields automatically. Any document uploaded directly to an Application in JobScore (rather than the Candidate record) is linked to the Candidate record in Zoho Recruit with a reference to the source Job Opening.
JobScore
Custom Application Form
Zoho Recruit
Custom Field
lossyJobScore custom application form fields created per job map to Zoho Recruit custom fields on the Candidate module. We extract the custom field schema (field name, type, required flag, options for picklist fields) from the source account and pre-create matching fields in Zoho Recruit before any candidate data loads. Standard tier supports 50 custom fields per module; Professional supports 300; Enterprise supports 300. If the customer's custom field count exceeds the destination tier limit, we flag this during scoping and recommend an Enterprise upgrade or field consolidation before migration.
JobScore
Tag
Zoho Recruit
Tag
1:1JobScore freeform tags applied to Candidates migrate to Zoho Recruit Tags. Tags are preserved as first-class tag entities and reattached to Candidate records in Zoho Recruit. Tag-based segmentation used for candidate sourcing in JobScore maps directly to Zoho Recruit's tagging system without transformation. Tags applied at the Application level in JobScore are preserved as Tags on the linked Candidate record in Zoho Recruit.
JobScore
Email Template
Zoho Recruit
Email Template
1:1JobScore email templates migrate to Zoho Recruit Email Templates. We export template name, subject line, body content (including any merge fields), and trigger conditions. Standard tier on Zoho Recruit includes 5 email templates; Professional includes 100; Enterprise is unlimited. If the customer has more email templates than the destination tier supports, we flag this during scoping and recommend Professional or Enterprise, or we provide a prioritized list of templates to migrate based on usage frequency.
| JobScore | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job | Job Opening1:1 | Fully supported | |
| Application | Candidate-Job Opening Relation1:1 | Fully supported | |
| Interview | Interview1:1 | Fully supported | |
| Scorecard | Interview Feedback Form1:1 | Fully supported | |
| Workflow Stage | Candidate Statuslossy | Fully supported | |
| Application Status (Disposition Code) | Candidate Status Reasonlossy | Fully supported | |
| Location | Job Opening Address Fields1:1 | Fully supported | |
| User (Employee) | User1:1 | Fully supported | |
| Document (Resume, Cover Letter) | Attachment1:1 | Fully supported | |
| Custom Application Form | Custom Fieldlossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Email Template | Email Template1: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.
JobScore gotchas
Phone-number deduplication silently overwrites candidate records on import
Only published jobs surface in the API and job feeds
Job-count pricing model creates billing risk during high-volume hiring periods
v2 API rate limits are not publicly documented
Custom workflow stages live only in the Active branch — standard stages are locked
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 plan tier selection
We audit the source JobScore account across plan tier (Lite/Start/Scale/Enterprise), job count, candidate volume, application count, interview and scorecard volume, custom application form field schemas, Active sub-stage names, disposition code list, tag taxonomy, and email template count. We pair this with a Zoho Recruit plan recommendation: Standard ($25/user/month) covers most migrations with up to 10 active jobs per recruiter and 50 custom fields per module; Professional ($50/user/month) adds AI candidate matching, 100 email templates, and 250 daily resume parsing; Enterprise ($75/user/month) supports 300 custom fields per module and 50 workflow rules. The discovery output is a written migration scope with record counts per object and a Zoho Recruit tier recommendation.
Phone-collision detection and name-gap inventory
We query the full JobScore candidate set and detect all phone-number collisions that would trigger silent overwrites if the data were re-imported into JobScore. We present the collision report to the customer for resolution strategy selection (skip, merge, or allow overwrite) before migration begins. Separately, we flag every candidate record missing a Last Name and present the customer with options for populating that field. We also flag any records missing a name entirely. These data-quality gaps are resolved before any data leaves JobScore.
Publish all jobs and cross-reference export
We instruct the customer to publish all Job records intended for migration. We then cross-reference the admin job list against the v2 API export to identify any unpublished jobs that require supplementary export. We capture draft and unpublished jobs as a separate JSON package with manual import instructions. Once all jobs are confirmed visible in the API export, we proceed to schema design.
Zoho Recruit schema pre-creation
We pre-create the Zoho Recruit destination schema before any data loads. This includes creating custom fields on the Candidate module to match JobScore custom application form fields, creating picklist values for disposition codes and stage names, creating the js_candidate_uid__c and js_last_active_substage__c custom fields for migration audit, configuring Job Opening fields to match JobScore job fields, and verifying that the Zoho Recruit plan tier supports the planned custom field count. Schema is validated in a Zoho Recruit sandbox or trial account before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Zoho Recruit sandbox or trial account using production-like data volume. The customer's HR lead or recruiting manager reconciles record counts (Candidates in, Jobs in, Applications in, Interviews in, Scorecards in), spot-checks 25-50 random candidate records against the JobScore source, validates stage-history integrity, and signs off the mapping before production migration begins. Any field mapping corrections, custom field type adjustments, or stage-resolution changes happen in this phase, not in production.
Owner reconciliation and User provisioning
We extract every distinct JobScore User referenced as an interviewer, job owner, or recruiter and match by email against the Zoho Recruit destination org's User table. Per Zoho Recruit's migration documentation, users who already have a separate Zoho Recruit account must close that account before they can be imported into the company's Zoho Recruit instance. Owners without a matching User go to a reconciliation queue for the customer's admin to provision before record import resumes. Migration cannot proceed past this step because OwnerId references are required on Interview and Job Opening records.
Production migration in dependency order
We run production migration in record-dependency order: Job Openings (first, because Applications and Interview records link to them), Users (manually provisioned and validated), Candidates (with Last Name gaps resolved and phone collisions handled), Applications (linking Candidates to Job Openings and carrying stage history), Interviews (with interviewer OwnerId resolved), Scorecards (as formatted attachments to Interviews), Documents and resumes (as attachments to Candidates), and Tags (re-attached to Candidates). Each phase emits a row-count reconciliation report before the next phase begins. We use Zoho Recruit's REST API with rate-limit handling and exponential backoff for all imports.
Platform deep dives
JobScore
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 JobScore 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
JobScore: Not publicly documented in v2 docs; v1 showed 3600 req/hr.
Data volume sensitivity
JobScore 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 JobScore to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your JobScore 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 JobScore
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.