HRMS migration
Field-level mapping, validation, and rollback between Aotal and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Aotal
Source
Zoho Recruit
Destination
Compatibility
10 of 13
objects map 1:1 between Aotal and Zoho Recruit.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Aotal to Zoho Recruit is a cross-platform migration from a New Zealand-focused talent management suite into a globally-used recruitment ATS and CRM. Aotal stores employee records, role histories, competency profiles, and performance cycles with effective-date tracking; Zoho Recruit models its data around Candidates, Job Openings, Clients, and Contacts with a modular lookup relationship. We extract the full Aotal record set in dependency order (Departments before Employees, Roles before Training Records), resolve foreign-key references to their Zoho Recruit equivalents, and load using the Zoho Recruit API with field-level type checking against mandatory fields like Last Name on Candidates. Custom Aotal talent fields and competency profiles that have no direct Zoho Recruit equivalent are flagged in a written configuration handoff for the customer's admin to recreate as custom fields in Zoho Recruit. Workflows, automations, and performance review cycles do not migrate; we deliver an inventory of these for rebuild in Zoho Recruit's workflow builder.
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 Aotal 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.
Aotal
Employee
Zoho Recruit
Candidate
1:1Aotal Employee records map to Zoho Recruit Candidate records. We extract name fields (First Name, Last Name), contact information, and any competency or skill properties into Zoho Recruit's standard Candidate fields or custom fields. Last Name is a mandatory field in Zoho Recruit; any Aotal records without a last name are flagged during scoping and assigned a placeholder value (not provided) per Zoho Recruit's import requirements. The Candidate's Email field becomes the primary deduplication key during import.
Aotal
Department
Zoho Recruit
Department (standard module)
1:1Aotal Departments map to Zoho Recruit's built-in Department module. Department is loaded first in the migration sequence because it has no incoming lookup dependencies, and it is referenced by Role and Employee records downstream. We preserve the department hierarchy as stored in Aotal and map it to Zoho Recruit's flat Department list, noting that Aotal's hierarchical parent-child relationship requires manual recreation as a custom field in Zoho Recruit if the hierarchy needs to be preserved visually.
Aotal
Role
Zoho Recruit
Job Opening
1:1Aotal Role records (job titles, position descriptions) map to Zoho Recruit Job Opening records. The Aotal Role's associated Department maps to the Zoho Recruit Job Opening's Department field via lookup. Job Opening is loaded before Candidate records so that the Job Opening lookup field on Candidate is satisfied at insert time. Status fields (Active, Filled, On Hold) from Aotal map to Zoho Recruit's Job Opening status values.
Aotal
Training Record
Zoho Recruit
Custom Module or Note Attachment
lossyAotal Training Records represent historical employee development data that does not have a native Zoho Recruit equivalent. We assess whether the customer's Zoho Recruit plan includes Custom Modules (Enterprise plan required for full customization with 300 fields per module). If yes, we create a Training History custom module with fields for Course Name, Date Completed, Expiry Date, and Issuer, linked to the Candidate via a lookup relationship. If the destination plan does not include custom modules, training records are migrated as Notes attached to the Candidate record with structured body text and the relevant dates preserved in the Note body.
Aotal
Competency Profile
Zoho Recruit
Custom Fields or Skills Section
lossyAotal competency profiles (skills, certifications, ratings) have no direct Zoho Recruit equivalent. We evaluate the source competency fields and map them to Zoho Recruit's Skills multi-select picklist on the Candidate record for skill-level data. For certification and rating data, we create custom fields on the Candidate module (available on Professional and Enterprise plans with 50 and 300 fields per module respectively). If the customer is on the Standard plan, certification data is merged into structured Note attachments.
Aotal
Performance Cycle
Zoho Recruit
Not Migrated
1:1Aotal performance review cycles are tied to the Performance module and do not have a native Zoho Recruit counterpart. Zoho Recruit is an ATS, not an HR performance management system. We do not migrate performance review scores, cycle dates, or reviewer feedback as structured records. We deliver a written inventory of all performance cycles in scope, including cycle name, review period, and the scoring fields used, for the customer to evaluate Zoho People or a dedicated performance management platform as a separate implementation.
Aotal
Client (staffing operations)
Zoho Recruit
Client
1:1If Aotal stores client or vendor organization records for staffing operations, these map directly to Zoho Recruit's Client module. Client records are loaded before Job Openings and Candidates so that the Client lookup on Job Openings is satisfied. Client name, industry, website, and contact details map to Zoho Recruit's standard Client fields. Additional Aotal client properties migrate as custom fields if the destination plan supports them.
Aotal
Contact (client-facing)
Zoho Recruit
Contact
1:1Aotal contact records associated with client organizations map to Zoho Recruit's Contact module. The Contact is linked to the corresponding Client record via the Client Name lookup field. Email, phone, title, and address fields migrate directly. Aotal contact roles or titles are preserved in the Contact's Title field or a custom field if the destination plan supports it.
Aotal
Engagement: Interview
Zoho Recruit
Interview
1:1Aotal interview records (scheduled interviews, interview feedback) map to Zoho Recruit's Interview module. Interview date, time, interviewer name, and status migrate directly. Feedback scores and comments from Aotal map to Zoho Recruit's Interview Feedback Form fields if the destination plan includes this feature (Standard and above). Interview records are linked to the Candidate and Job Opening via Zoho Recruit's lookup relationships.
Aotal
Engagement: Task
Zoho Recruit
Task
1:1Aotal task records (hiring tasks, follow-up items) map to Zoho Recruit's Task module. Subject, due date, assigned owner, and status migrate directly. We resolve the task owner by email match against Zoho Recruit users. Any Aotal task owner without a matching Zoho Recruit user goes to a reconciliation queue for the customer's admin to provision before the Task import phase begins.
Aotal
Engagement: Note
Zoho Recruit
Note
1:1Aotal notes attached to employee or candidate records migrate to Zoho Recruit's Notes module linked to the corresponding Candidate, Client, or Job Opening record. Note title, body, and creation date migrate. If the Aotal note contains structured data (e.g., a formatted evaluation), we preserve the body as rich text and flag it for the customer's admin to reformat into Zoho Recruit's Interview Feedback Form or a custom field as appropriate.
Aotal
Onboarding Record
Zoho Recruit
Not Migrated
1:1Aotal onboarding records (offer letters, document signing, onboarding task lists) are flagged as attachments-only and do not migrate as structured records. Binary documents and signed agreements stored in Aotal are exported as file attachments and delivered alongside the migration for the customer's admin to re-upload to Zoho Recruit's Document Library or attach to the relevant Candidate record manually, as their internal formats require case-by-case review.
Aotal
Custom Talent Fields
Zoho Recruit
Custom Fields (Enterprise plan)
lossyAotal custom talent fields (module-specific configurations that extend the standard schema) do not have direct Zoho Recruit equivalents. We assess each custom field's data type, associated module, and usage frequency. Fields that map to a supported Zoho Recruit field type (text, number, date, picklist, multi-select, checkbox) are recreated as custom fields on the corresponding Zoho Recruit module. Custom field creation is available on Professional and Enterprise plans. Standard plan customers receive a written field inventory for manual re-creation post-migration.
| Aotal | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Department | Department (standard module)1:1 | Fully supported | |
| Role | Job Opening1:1 | Fully supported | |
| Training Record | Custom Module or Note Attachmentlossy | Fully supported | |
| Competency Profile | Custom Fields or Skills Sectionlossy | Fully supported | |
| Performance Cycle | Not Migrated1:1 | Fully supported | |
| Client (staffing operations) | Client1:1 | Fully supported | |
| Contact (client-facing) | Contact1:1 | Fully supported | |
| Engagement: Interview | Interview1:1 | Fully supported | |
| Engagement: Task | Task1:1 | Fully supported | |
| Engagement: Note | Note1:1 | Fully supported | |
| Onboarding Record | Not Migrated1:1 | Fully supported | |
| Custom Talent Fields | Custom Fields (Enterprise plan)lossy | 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.
Aotal gotchas
Data lives in multiple microservices across the Talent App Store
SnapHire ATS and Talent App Store are distinct products with different data shapes
Vendor-assisted extraction is likely required given no public API docs
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 Aotal environment across all modules in scope: Employees, Roles, Departments, Training Records, Competency Profiles, Performance Cycles, Onboarding Records, and any client or contact records used for staffing operations. We produce a data volume estimate (record counts per module), identify custom talent fields and their data types, flag records with missing mandatory fields (notably Last Name equivalents in Aotal), and assess the binary document inventory for onboarding attachments. The discovery output is a written scope document with module-level record counts, a custom field inventory, and a Zoho Recruit plan recommendation based on the migration's custom field and custom module requirements.
Schema design and field mapping specification
We design the Zoho Recruit destination schema based on the discovery output. This includes confirming the Zoho Recruit edition (Standard, Professional, or Enterprise), creating any required custom modules (Training History) and custom fields (competency profiles, certification fields) before data migration begins, and mapping Aotal module fields to their Zoho Recruit equivalents with explicit type checking. The mapping specification covers both standard field-to-field mappings and configuration notes for fields that require manual post-migration setup. Schema is validated against the Zoho Recruit field type constraints before any data is extracted from Aotal.
Data export and transformation
We extract data from Aotal in the correct dependency order: Departments first (no dependencies), then Roles (depends on Department), then Employees (depends on Department and Role), then Training Records (depends on Employee), then Competency Profiles (depends on Employee), then engagement history (Tasks, Interviews, Notes). We transform each record to match the Zoho Recruit field type requirements (date formatting, picklist value normalization, text truncation for fields with length limits) and apply the missing Last Name placeholder substitution. The transformed dataset is validated against the mapping specification before upload.
Staged import with lookup resolution
We run a staged import into the Zoho Recruit environment using the Zoho Recruit API. Modules are loaded in dependency order so that parent records exist before child records that reference them. Department is loaded first, followed by Job Openings (linked to Department), then Client and Contact records, then Candidate records (with Last Name substitution applied), then Tasks, Interviews, and Notes. For each phase, we run a row-count reconciliation against the Aotal source and resolve any Zoho Recruit validation errors before proceeding to the next module. Any Aotal owner records without a matching Zoho Recruit user are held in a reconciliation queue for the customer's admin to provision.
Custom field and training record post-processing
After the staged import completes, we create any remaining custom fields that were not part of the initial import (competency profile fields, certification fields) in Zoho Recruit, using the custom field inventory from discovery. For customers on Enterprise plan, we create the Training History custom module with the required fields and link existing training records to the corresponding Candidate records via the lookup field. For Standard plan customers, we deliver the training records as structured Note attachments. We produce a post-migration reconciliation report showing record counts in Aotal versus Zoho Recruit per module.
Cutover and inventory handoff
We freeze Aotal write access during cutover, run a final delta migration of any records modified during the migration window, and hand off Zoho Recruit as the system of record. We deliver the Workflow and Automation Inventory document listing any Aotal workflows or automated hiring processes that require rebuilding in Zoho Recruit's Workflow Rules or Blueprint builder. We deliver the Performance Cycle Inventory listing performance review data for evaluation in Zoho People or an alternative performance management platform. We support a one-week hypercare window for reconciliation issues. Post-migration admin support, training, and workflow rebuild are outside standard scope and can be scoped as separate engagements.
Platform deep dives
Aotal
Source
Strengths
Weaknesses
Zoho Recruit
Destination
Strengths
Weaknesses
Complexity grading
Moderate HRMS migration. 4 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Aotal and Zoho Recruit.
Object compatibility
4 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
Aotal: Not publicly documented.
Data volume sensitivity
Aotal 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 Aotal to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Aotal 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 Aotal
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.