HRMS migration
Field-level mapping, validation, and rollback between Martian Logic and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Martian Logic
Source
Zoho Recruit
Destination
Compatibility
9 of 12
objects map 1:1 between Martian Logic and Zoho Recruit.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Martian Logic to Zoho Recruit is a migration from a full HRIS to an ATS-focused platform. Martian Logic consolidates recruitment, onboarding, core HR, performance, and payroll under a position-centric data model where the org chart is a derived view of Position relationships, not a standalone object. Zoho Recruit is purpose-built for talent acquisition — managing candidates, job openings, interviews, and placements — with a separate client and contact management layer for staffing agencies. We extract the ATS subset from Martian Logic (Candidates, Positions used as job reqs, Onboarding e-form data, and Requisition Workflows), parse the JSON payloads per pack configuration, and map them to Zoho Recruit's Candidate, Job Opening, and Custom Module objects. We reconstruct the position hierarchy as a custom field or lookup chain in Zoho Recruit since Zoho Recruit has no native org chart. Employment change logs, compensation records, compliance attestations, and payroll integration mappings do not have native equivalents in Zoho Recruit and are delivered as custom fields or documented for the customer's admin to rebuild in Zoho People or a complementary HRMS. Workflows, e-form builders, and approval chains from Martian Logic do not migrate as code; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Zoho Recruit or Zoho Flow.
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 Martian Logic 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.
Martian Logic
Candidates
Zoho Recruit
Candidate
1:1Martian Logic ATS candidates map directly to Zoho Recruit Candidate records. We extract full candidate pipeline data including status history, application dates, resume files, and interview scores. The Martian Logic candidate_id becomes a custom field ml_candidate_id__c for audit traceability. Zoho Recruit requires a Last Name value on every Candidate import — where Martian Logic does not provide a separated last name field, we parse the name string and split on the first space, flagging any record that cannot be cleanly split for manual review before import.
Martian Logic
Positions (job reqs)
Zoho Recruit
Job Opening
1:1Martian Logic Positions used in the recruitment workflow (open reqs with linked candidates) map to Zoho Recruit Job Opening records. Position title becomes Job Title, employment type from the Position configuration maps to Zoho Recruit's Job Type picklist, and the requesting manager from the Position's linked user maps to the Zoho Recruit Hiring Manager field. Closed or archived Positions in Martian Logic are imported as inactive Job Openings so the historical requisition record is preserved.
Martian Logic
Users / Owners
Zoho Recruit
Users
1:1Martian Logic Users linked to recruitment activities (recruiters, hiring managers, approvers) map to Zoho Recruit Users. We resolve by email address. Any Martian Logic User without a matching Zoho Recruit User email is held in the reconciliation queue for the customer's admin to provision the account before candidate import begins. Zoho Recruit requires at least two Users to be present before the import wizard runs; we flag this during scoping if it is not met.
Martian Logic
Onboarding e-forms (JSON payload)
Zoho Recruit
Candidate Custom Fields / Custom Module
lossyE-forms in Martian Logic are stored as a JSON payload within each employee's record, with field names and structure varying per onboarding pack configuration. There is no fixed schema. We parse each payload individually during the extraction phase, extract field-value pairs, and map them to Zoho Recruit Custom Fields on the Candidate object or a custom Onboarding Data module. The customer's admin approves the field mapping per pack. Fields that cannot map to typed Zoho Recruit fields (dates, picklists, numbers) are converted to Text or stored as JSON in a Long Text Area field.
Martian Logic
Requisition Workflows
Zoho Recruit
Job Opening Status / Custom Workflow Module
lossyMartian Logic Request-to-Recruit Workflows track the approval chain from manager submission through HR and executive sign-off. Zoho Recruit has no native equivalent to this HR-layer approval workflow. We document every active Requisition Workflow (trigger fields, approval stages, conditions) in a written handoff document. Job Opening status transitions in Zoho Recruit serve as the lightweight replacement for open-pending-approved requisition tracking, but the multi-stage approval chain must be rebuilt in Zoho Flow or handled manually.
Martian Logic
Position hierarchy (org chart)
Zoho Recruit
Custom Org Hierarchy module or lookup chain
1:1Martian Logic's org chart is a derived view of the Position-to-Position reporting chain, not a standalone API object. We walk the position hierarchy during extraction and reconstruct it as a custom module in Zoho Recruit with a self-lookup Parent_Position__c field, or as a structured custom field chain (Level 1 Manager, Level 2 Manager) on the User object. Orphaned nodes (Positions with archived parents) are flagged for the customer's admin to resolve before import.
Martian Logic
Employees (candidate subset)
Zoho Recruit
Candidate
1:1For migrations that include employees who were hired through Martian Logic's ATS (converted candidates), we map the Martian Logic Employee record to Zoho Recruit Candidate using the ml_candidate_id cross-reference. Personal details (name, email, phone, address) map to standard Zoho Recruit Candidate fields. Employee-specific fields without a Candidate equivalent (ESS access level, role permissions) are stored as custom fields or noted as requiring Zoho People for full HRMS coverage.
Martian Logic
Interview records
Zoho Recruit
Interview
1:1Martian Logic interview records (scheduled, completed, with scores and interviewer feedback) map to Zoho Recruit Interview records linked to the Candidate and Job Opening. Interviewer name resolves to a Zoho Recruit User by email lookup. Score cards and feedback notes migrate as Interview custom fields or notes attached to the Interview record.
Martian Logic
Employment Changes
Zoho Recruit
Candidate Custom Fields or Notes
1:1Martian Logic Change of Staff Conditions records are effective-dated transactions recording old value, new value, change type, and reason per employee. We flatten these into a per-candidate change log stored as a custom Notes section or a multi-line custom text field on the Candidate record. Zoho Recruit has no native employment change log object. For customers who need full employment history tracking, we recommend Zoho People as a complementary HRMS and document the Employment Changes as a structured data table for import into Zoho People Employee records post-migration.
Martian Logic
Compensation / Remuneration
Zoho Recruit
Custom Fields on Job Opening or Candidate
1:1Martian Logic stores compensation in the Role and Remuneration Library linked to Positions. Pay structure data (base salary, allowances, pay frequency) has no native Zoho Recruit field. We map compensation to custom currency fields on the Job Opening (for position-level compensation ranges) or to Candidate custom fields (for candidate-specific compensation requirements or offers). Compliance with pay transparency requirements depends on the customer's use of these fields post-migration.
Martian Logic
Compliance Records
Zoho Recruit
Custom Compliance module or fields
1:1Martian Logic Compliance modules track regulatory attestations and expiry dates per employee. Zoho Recruit has no native compliance tracking. We export compliance status, certificate names, and expiry dates as custom fields on the Candidate or a separate Compliance module. Compliance enforcement and active monitoring remain outside Zoho Recruit's scope and should be handled in Zoho People or the customer's compliance management tool.
Martian Logic
Payroll Integrations
Zoho Recruit
Documentation only
lossyMartian Logic Integration Connectors push employee data to third-party payroll systems with field-to-field mappings stored as platform configuration. These connector field mappings do not export from Martian Logic. We document every active connector's source and destination fields during discovery, but the equivalent configuration must be rebuilt manually in the target payroll system post-migration. We do not migrate or re-create payroll integration configurations.
| Martian Logic | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Candidates | Candidate1:1 | Fully supported | |
| Positions (job reqs) | Job Opening1:1 | Fully supported | |
| Users / Owners | Users1:1 | Mapping required | |
| Onboarding e-forms (JSON payload) | Candidate Custom Fields / Custom Modulelossy | Fully supported | |
| Requisition Workflows | Job Opening Status / Custom Workflow Modulelossy | Fully supported | |
| Position hierarchy (org chart) | Custom Org Hierarchy module or lookup chain1:1 | Fully supported | |
| Employees (candidate subset) | Candidate1:1 | Fully supported | |
| Interview records | Interview1:1 | Fully supported | |
| Employment Changes | Candidate Custom Fields or Notes1:1 | Mapping required | |
| Compensation / Remuneration | Custom Fields on Job Opening or Candidate1:1 | Fully supported | |
| Compliance Records | Custom Compliance module or fields1:1 | Mapping required | |
| Payroll Integrations | Documentation onlylossy | Mapping required |
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.
Martian Logic gotchas
No publicly documented API endpoint reference
Onboarding e-form payloads are configuration-dependent JSON
Position hierarchy drives the org chart, not a standalone object
Payroll integration field mappings must be re-created in the destination
No bulk export tool — employee data export mirrors candidate export
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 data audit
We audit the Martian Logic portal across all modules to isolate the ATS-relevant subset: Candidates, Positions used as open requisitions, Users with recruiter or hiring manager roles, Interview records, Requisition Workflows, and Onboarding e-form pack configurations. We document the position hierarchy by walking the Position-to-Position reporting chain, identify orphaned or archived positions, and catalogue every active Integration Connector for payroll. We also review Zoho Recruit's destination plan — Standard, Professional, or Enterprise — to confirm which custom field and custom module limits apply.
E-form JSON parsing and field mapping per pack
We extract every onboarding e-form JSON payload from Martian Logic employee records and parse each individually because field names and structure vary by pack configuration. We build a per-pack field mapping document that maps each JSON key to a Zoho Recruit custom field type (Text, Number, Date, Picklist). The customer's admin reviews and approves each pack's mapping before transformation begins. This step is the most time-intensive part of a Martian Logic migration and must be completed before any candidate data is transformed.
Position hierarchy extraction and org reconstruction
We walk the Position-to-Position reporting chain in Martian Logic to reconstruct the org hierarchy as a custom module in Zoho Recruit. Each Position becomes a record in the custom Org_Hierarchy__c module with a self-lookup Parent_Position__c field pointing to its reporting manager's Position. We flag orphaned nodes and deliver a cleanup guide. For staffing agency migrations where org hierarchy is not relevant, we skip this step and focus on mapping Position titles and department assignments as fields on the Job Opening.
Name field resolution and mandatory field prep
We transform Martian Logic candidate records for Zoho Recruit's import requirements. Name strings are split into First Name and Last Name components, with any unresolved records routed to a pre-import review queue. We verify that every candidate record has a Last Name value, resolve Zoho Recruit User assignments by email lookup, and prepare module-level CSV files in Zoho Recruit's expected column-title format. We run a dry-run import to the Zoho Recruit sandbox before the production import to catch field type mismatches.
Production migration in dependency order
We run the production migration into Zoho Recruit in dependency order: Users first (to satisfy the minimum-two-Users requirement and allow recruiter assignment), then Candidates (with e-form custom field values embedded per pack mapping), then Job Openings (linked to the Hiring Manager User), then Interviews, Notes, Tasks, and Attachments. Each phase emits a row-count reconciliation report before the next phase begins. We use Zoho Recruit's native CSV import wizard with the module-file mapping and field mapping steps, handling any unmapped fields via the Create New Field option in the wizard.
Cutover, delta check, and workflow handoff
We freeze writes to Martian Logic during the final delta migration window, capture any records modified during the migration window, and apply a final delta import to Zoho Recruit. We enable Zoho Recruit as the system of record once the delta is confirmed. We deliver the Requisition Workflow inventory document, the payroll connector field mapping documentation, and the employment change log CSV. We support a one-week hypercare window for reconciliation issues. We do not rebuild Martian Logic workflows in Zoho Flow; that work is delivered as documentation for the customer's admin to implement separately.
Platform deep dives
Martian Logic
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 Martian Logic 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
Martian Logic: Not publicly documented.
Data volume sensitivity
Martian Logic 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 Martian Logic to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Martian Logic 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 Martian Logic
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.