HRMS migration
Field-level mapping, validation, and rollback between Aotal and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Aotal
Source
Recruit CRM & ATS
Destination
Compatibility
4 of 10
objects map 1:1 between Aotal and Recruit CRM & ATS.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Aotal to Recruit CRM shifts from a New Zealand-focused talent management platform covering the full employment lifecycle (recruitment, onboarding, performance, learning) to a purpose-built recruitment agency CRM and ATS. The schema differences are significant: Aotal models the employment relationship with Employee, Role, Department, and Training Records; Recruit CRM models the recruitment relationship with Candidates, Clients, Jobs, and Placements. We resolve the schema gap during scoping, map historical role and competency data into Recruit CRM custom fields, and preserve effective dates so that a candidate's work history is readable in the new system. Binary documents and signed agreements migrate as attachment documentation rather than converted records, because Aotal's internal formats require case-by-case review. We do not migrate Aotal's onboarding workflows, performance review cycles, or learning module configurations as code; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM.
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 Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Aotal
Employee
Recruit CRM & ATS
Candidate
1:1Aotal Employee records map to Recruit CRM Candidate. We preserve name fields, contact information, employment status, and the original hire date as a custom field. The Employee's effective date on the most recent role assignment becomes the candidate's availability date in Recruit CRM. Any Aotal Employee records flagged as inactive (former employees with no active role) migrate with a status that the customer configures in Recruit CRM (archived candidate or separate pipeline).
Aotal
Role
Recruit CRM & ATS
Position / WorkHistory custom fields
lossyAotal Role records represent job titles and employment terms linked to an Employee. We extract each Role's title, start_date, and end_date and create work history entries on the corresponding Candidate in Recruit CRM as structured custom fields or a related sub-section. Current roles (no end_date) flag as the candidate's most recent position. Multiple sequential roles per employee produce multiple work history entries ordered by effective date.
Aotal
Department
Recruit CRM & ATS
Organisation / Team
lossyAotal Department records map to Recruit CRM Organisation or Team depending on whether the department represents a client organisation or an internal grouping. If the Department references external client companies, we map it to Recruit CRM Organisation with the department name as the Organisation name. Internal departments map to Team. The department hierarchy (parent-child) is preserved as nested Team relationships in Recruit CRM.
Aotal
Training Record
Recruit CRM & ATS
Candidate Training / Certification fields
1:1Aotal Training Records linked to an Employee migrate as training and certification entries on the Candidate profile in Recruit CRM. The training name, completion date, expiry date, and certification ID map to corresponding fields. Expired certifications are flagged with a custom status field. Recruit CRM does not have a native training module; we use custom fields on the Candidate record to preserve the certification body and validity period.
Aotal
Performance Cycle
Recruit CRM & ATS
Candidate custom fields
lossyAotal performance review records contain ratings, review dates, and reviewer assignments. We map these to structured custom fields on the Candidate record in Recruit CRM, such as performance_rating__c, last_review_date__c, and reviewer_name__c. Recruit CRM is not an HR performance platform; we flatten multi-cycle performance history into the most recent and highest rating as custom fields rather than preserving a full cycle history.
Aotal
Competency Profile
Recruit CRM & ATS
Candidate Skills / Competency fields
1:1Aotal competency profiles store assessed skills and proficiency levels per employee. We map these to Recruit CRM's native Skills fields on the Candidate record (which supports skill names and proficiency ratings as custom fields). Each competency in Aotal becomes a Skill entry in Recruit CRM with the proficiency level stored as a rating or custom field. Competency frameworks that do not map directly to Recruit CRM skill structures are documented for manual configuration review.
Aotal
Onboarding Record
Recruit CRM & ATS
Candidate Tasks / Notes
lossyAotal onboarding records track steps completed during employee onboarding. Recruit CRM does not have a native onboarding module. We migrate onboarding status and completion flags as custom fields on the Candidate record and document the original onboarding step sequence as a note for the customer's admin to rebuild as a Task checklist or as part of a Recruit CRM onboarding pipeline stage. Completed onboarding steps migrate as historical Task records.
Aotal
Custom Talent Fields
Recruit CRM & ATS
Custom Candidate fields
lossyAotal stores module-specific custom fields for talent objects. We audit every custom field during discovery, map them to equivalent custom fields in Recruit CRM, and pre-create the destination schema before migration. Fields without a direct Recruit CRM equivalent are documented with their data type, picklist values, and any conditional logic for manual configuration review before cutover. Custom fields referencing other Aotal objects require lookup resolution during migration.
Aotal
Binary Documents / Signed Agreements
Recruit CRM & ATS
Document / Attachment reference
1:1Aotal stores binary documents and signed agreements in formats that require case-by-case review. We do not convert these documents. Instead, we produce a written inventory of every document record: the parent Aotal object, the document type, the storage reference, and the recommended Recruit CRM placement (as an attachment on the corresponding Candidate or Organisation record). The customer's admin reviews and attaches documents manually post-migration, or uploads them via Recruit CRM's document import.
Aotal
Organisation Structure (effective dates)
Recruit CRM & ATS
Candidate / Organisation effective date fields
lossyAotal preserves effective dates on role and department assignments to maintain historical accuracy of org structure. We migrate these dates as custom fields on both the Candidate (role_start_date__c, role_end_date__c) and the Organisation (effective_from__c, effective_to__c) to preserve the employment timeline. This is particularly important for candidates with long work histories where the chronological sequence of roles and departments matters for compliance or credentialing.
| Aotal | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Role | Position / WorkHistory custom fieldslossy | Fully supported | |
| Department | Organisation / Teamlossy | Fully supported | |
| Training Record | Candidate Training / Certification fields1:1 | Fully supported | |
| Performance Cycle | Candidate custom fieldslossy | Fully supported | |
| Competency Profile | Candidate Skills / Competency fields1:1 | Fully supported | |
| Onboarding Record | Candidate Tasks / Noteslossy | Fully supported | |
| Custom Talent Fields | Custom Candidate fieldslossy | Fully supported | |
| Binary Documents / Signed Agreements | Document / Attachment reference1:1 | Fully supported | |
| Organisation Structure (effective dates) | Candidate / Organisation effective date fieldslossy | 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
Recruit CRM & ATS gotchas
API rate limits are license-scaled and can throttle bulk migration
Custom field schemas vary per organization and require field-level mapping
Files and email attachments require separate extraction and re-upload
Email sequences and automation logic do not transfer between platforms
Pair-specific challenges
Migration approach
Discovery and custom field audit
We audit the source Aotal environment across all active modules: employee records, role assignments with effective dates, department hierarchy, training records, performance cycle history, competency profiles, onboarding records, and custom talent fields. We document the data type, picklist values, conditional logic, and cross-module dependencies of every custom field. We extract a full record count per object and identify any records with missing required fields or broken foreign-key references. The discovery output is a written migration scope that includes the object dependency graph, custom field mapping decisions, and the attachment inventory for binary documents.
Schema design and Recruit CRM custom field provisioning
We design the destination schema in Recruit CRM. This includes provisioning all custom fields identified during discovery (mapped from Aotal custom talent fields, performance fields, and training fields), configuring the Organisation and Team hierarchy to match the Aotal department structure, and setting up Candidate custom fields for role history and competency data. We use Recruit CRM's custom field builder for each object (Candidate, Client, Job, Placement) before any data import. Schema design is validated against a Recruit CRM sandbox or trial account before production deployment.
Attachment inventory and document handoff preparation
We produce the written inventory of every binary document and signed agreement in Aotal: parent object, document type, storage reference, and recommended Recruit CRM placement. We do not extract or convert the documents during migration. The inventory is handed to the customer's admin team with instructions for manual reattachment post-migration. We verify the inventory completeness against the Aotal attachment count before moving to data migration.
Staging migration and dependency reconciliation
We run a full migration into a Recruit CRM staging environment using production-like data volume. The customer's team reconciles record counts (Candidates in, Organisations in, Jobs in, Placements in), spot-checks 20-30 random candidate records against Aotal source data, and validates that role history, training records, and competency profiles are readable in Recruit CRM. Any mapping corrections, orphaned records, or missing custom fields are resolved in staging before production migration begins. Data quality issues (duplicates, incomplete records, expired certifications) are flagged and cleaned or documented for exclusion.
Production migration in dependency order
We run production migration in the resolved dependency order: Organisations (from Aotal Departments), Candidates (from Aotal Employees with role_start_date and competency profile data resolved), Positions and work history entries, Training and certification records, Performance rating fields, Onboarding status and historical tasks, and custom talent fields. Each phase emits a row-count reconciliation report before the next phase begins. We handle Recruit CRM API rate limits with exponential backoff and batch chunking for large record sets.
Cutover, validation, and onboarding workflow handoff
We freeze Aotal writes during cutover, run a final delta migration of any records modified during the migration window, then enable Recruit CRM as the system of record. We deliver the onboarding workflow inventory document, the performance cycle structure document, and the attachment handoff inventory to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Aotal onboarding workflows, performance review cycles, or learning configurations as Recruit CRM tasks or pipelines; those are separate engagements or internal admin tasks.
Platform deep dives
Aotal
Source
Strengths
Weaknesses
Recruit CRM & ATS
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 Recruit CRM & ATS.
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 Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Aotal to Recruit CRM & ATS 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 Recruit CRM & ATS
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.