HRMS migration
Field-level mapping, validation, and rollback between Unicorn ATS and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Unicorn ATS
Source
Crelate
Destination
Compatibility
10 of 16
objects map 1:1 between Unicorn ATS and Crelate.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Unicorn ATS to Crelate is a migration between two HRMS-adjacent recruiting platforms with different architectural models. Unicorn ATS stores candidates, jobs, and activity notes in a flat relational structure; Crelate separates its data model into Core Records (Contacts, Companies, Opportunities) that function as both ATS and CRM entities. The most significant technical challenge is resolving Unicorn ATS activity logs exported as flat CSV with no candidate record ID linkage, which requires a fuzzy-match re-association process using candidate name, email, and application date before migration. We map Unicorn ATS Candidates to Crelate Contacts, Unicorn ATS Jobs to Crelate Job Orders, Unicorn ATS Pipeline Stages to Crelate Opportunity Stages, and Unicorn ATS Employee Records to Crelate Contacts with a custom employment type classification. Crelate's Core Record model means every migrated record can be managed both as an ATS candidate and as a CRM contact without duplication. Workflows, automations, and email sequences do not migrate; we deliver a written inventory of every active automation requiring rebuild in Crelate.
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 Unicorn ATS object lands in Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Unicorn ATS
Candidate
Crelate
Contact (Core Record)
1:1Unicorn ATS candidate records map to Crelate Contact records, which serve as the primary candidate entity in Crelate's Core Record model. We map candidate name fields (first_name, last_name), contact information (email, phone, address), resume files (as ContentDocument linked via ContentDocumentLink to the Contact), application date (as a custom field or note), source channel (as a custom text field or tag), and current pipeline stage assignment (as Opportunity association). The Contact serves as the ATS candidate and CRM contact simultaneously, eliminating duplication that occurs when candidate and contact are separate entities.
Unicorn ATS
Job Requisition
Crelate
Job Order (Opportunity as Core Record)
1:1Unicorn ATS job records map to Crelate Opportunities representing job orders. We map job title, department, location, employment type, posting dates, and hiring manager assignment. The Opportunity's name field receives the job title and client reference. Crelate Opportunity Stages are configured to match the Unicorn ATS pipeline stage set, and each Opportunity gets a Record Type representing the job category. The Opportunity lookup to the related Contact (candidate) is resolved at migration time through the candidate mapping.
Unicorn ATS
Pipeline Stage
Crelate
Opportunity Stage
lossyUnicorn ATS pipeline stage names and ordering are extracted and mapped to Crelate Opportunity Stages. We configure Crelate Stages with corresponding probability percentages and stage type (Open, Won, Lost). Stage automation rules (if any exist in Unicorn ATS) are documented for rebuild as Crelate Workflows post-migration. The stage configuration happens before any Opportunity records are imported so that the stage values are valid at insert time.
Unicorn ATS
Employee Record
Crelate
Contact (Core Record) with Employment Classification
1:manyUnicorn ATS employee records (start date, department, job title, manager, employment status, compensation) map to Crelate Contact records with custom fields added under the Contact Core Record. We split active employees from former employees into separate Contact groups using the employment_status field, preserving start_date as a custom field and department as a tag or custom picklist. Manager assignment resolves to a Contact lookup if the manager is also a Contact in the system, or to a text field if not.
Unicorn ATS
Custom Fields (Candidates)
Crelate
Custom Fields on Contact
lossyUnicorn ATS custom fields added to candidate records are exported with their definitions and values. We create corresponding custom fields in Crelate under the Contact Core Record using Crelate's Settings and Core Records configuration. Field types are mapped: text properties become Crelate Text fields, numeric properties become Integer or Decimal fields, date properties become Date fields, and multi-select properties become Crelate multi-select picklist fields. A Logical Name is assigned to each custom field for API access during migration. The customer reviews the custom field ordering and grouping before deployment.
Unicorn ATS
Custom Fields (Jobs)
Crelate
Custom Fields on Opportunity
lossyUnicorn ATS custom fields added to job requisitions are exported with their definitions and mapped to custom fields on Crelate Opportunity records. We create the fields under the Opportunity Core Record in Crelate before migration, matching the field types and adding Logical Names for API access. Job-specific custom fields (e.g., pay range, remote policy, security clearance) map to Opportunity custom fields that appear on the job order record alongside the standard fields.
Unicorn ATS
Interview and Schedule
Crelate
Event (linked to Contact and Opportunity)
1:1Unicorn ATS interview records (scheduled date and time, interviewer assignments, interview type, scorecard, outcome notes) map to Crelate Event records linked to the Contact (candidate) and the related Opportunity (job order) via WhatId. We resolve the interviewer assignments to Contact records (if internal) or to a text field (if external), and preserve the interview type and outcome in Event custom fields. Interview scorecards migrate as Note records attached to the Event or to the Contact.
Unicorn ATS
Offer
Crelate
Opportunity with Offer Status or Custom Fields
1:1Unicorn ATS offer records (compensation details, start date, offer status, approval history) map to the Crelate Opportunity record representing the job order. We add custom fields to the Opportunity for compensation_amount, start_date, offer_status (extended, accepted, declined, withdrawn), and any approval workflow notes. The Opportunity Stage is set to reflect the offer outcome: Closed Won for accepted, Closed Lost for declined. Offer PDFs migrate as ContentDocument attached to the Opportunity.
Unicorn ATS
Activity Note and History
Crelate
Task, Event, and Note (linked to Contact)
1:1Unicorn ATS activity notes and email history present the highest migration risk because they export as flat CSV with no candidate record ID linkage. We run a fuzzy-match process on candidate name, email, and application date to re-associate activity records with the correct Crelate Contact. Emails migrate as Crelate Tasks or EmailMessage records; recruiter notes migrate as Note records; general activity logs migrate as Task records with TaskSubtype set appropriately. We present the customer with a preview of unattached records before committing to the migration scope and document any permanently unresolvable activity as a data loss disclosure item.
Unicorn ATS
Company Record
Crelate
Company (Core Record)
1:1Unicorn ATS company records associated with candidates map to Crelate Company Core Records. We map company name, website, industry, employee count, and address fields. The Company record is created before Contact import so that the Contact-to-Company lookup is satisfied at Contact insert. If Unicorn ATS stores only a company text field on the candidate record without a separate company entity, we create the Company record during migration using the text value as the name.
Unicorn ATS
Candidate Tag
Crelate
Tag on Contact or Custom Field (multi-select)
lossyUnicorn ATS tags applied to candidates (source tags, skill tags, status tags) map to Crelate Tags on the Contact record or to a multi-select custom field if the customer prefers structured field storage over tag-based categorization. The customer chooses the tag strategy during scoping based on how Crelate's tag and search model will be used post-migration.
Unicorn ATS
Placement and Submission
Crelate
Opportunity (Stage = Closed Won) with Placement Notes
1:1Unicorn ATS placement records (placed candidate, job, client, placement date, fee) map to Crelate Opportunity records with Stage set to Closed Won and custom fields for placement_fee, placement_date, and client_reference. The Opportunity is linked to the Contact (placed candidate) and the Company (client). Placement history is preserved as a structured record rather than a note, allowing reporting on placement volume and revenue in Crelate analytics.
Unicorn ATS
Source Tracking
Crelate
Custom Field or Tag on Contact
1:1Unicorn ATS candidate source tracking (job board source, referral source, career page application) migrates to a custom field on Crelate Contact named candidate_source__c with a text or picklist value. If the source data contains structured sub-fields (e.g., job board name, specific posting URL), these map to additional custom fields for reporting accuracy. Source tracking is important for Crelate analytics on candidate acquisition cost and source effectiveness.
Unicorn ATS
Attachment and Resume File
Crelate
ContentDocument linked to Contact or Opportunity
1:1Unicorn ATS resume files and candidate attachments migrate as ContentDocument records linked via ContentDocumentLink to the Crelate Contact. We extract the file from the source export, upload it to Crelate's document storage, and create the ContentDocumentLink with LinkedEntityId pointing to the Contact and ShareType set to V (View). File metadata (filename, upload date, file size) is preserved in ContentVersion fields. The file type is validated against Crelate's supported resume parsing formats.
Unicorn ATS
User and Owner
Crelate
User
1:1Unicorn ATS owner records (recruiters, hiring managers) map to Crelate User accounts. We extract all distinct owner references from candidate, job, and activity records and match by email against the Crelate User table. Owners without a matching Crelate User go to a reconciliation queue for the customer's admin to provision before record import resumes. Owner assignment on migrated Opportunities and Contacts points to the resolved User record.
Unicorn ATS
Custom Object
Crelate
Custom Field on Core Record or Custom Object
lossyUnicorn ATS custom objects beyond the standard entity set (e.g., background check records, drug screening records, onboarding task lists) are exported with their full schema. We evaluate whether each custom object maps to existing Crelate Core Record custom fields (preferred for simple properties) or requires a custom object relationship if the object has sub-records. Crelate's custom field model on Core Records handles most single-entity custom objects; multi-record custom objects require custom object creation in Crelate, which is scoped separately during migration design.
| Unicorn ATS | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact (Core Record)1:1 | Fully supported | |
| Job Requisition | Job Order (Opportunity as Core Record)1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Employee Record | Contact (Core Record) with Employment Classification1:many | Fully supported | |
| Custom Fields (Candidates) | Custom Fields on Contactlossy | Fully supported | |
| Custom Fields (Jobs) | Custom Fields on Opportunitylossy | Fully supported | |
| Interview and Schedule | Event (linked to Contact and Opportunity)1:1 | Fully supported | |
| Offer | Opportunity with Offer Status or Custom Fields1:1 | Fully supported | |
| Activity Note and History | Task, Event, and Note (linked to Contact)1:1 | Fully supported | |
| Company Record | Company (Core Record)1:1 | Fully supported | |
| Candidate Tag | Tag on Contact or Custom Field (multi-select)lossy | Fully supported | |
| Placement and Submission | Opportunity (Stage = Closed Won) with Placement Notes1:1 | Fully supported | |
| Source Tracking | Custom Field or Tag on Contact1:1 | Fully supported | |
| Attachment and Resume File | ContentDocument linked to Contact or Opportunity1:1 | Fully supported | |
| User and Owner | User1:1 | Fully supported | |
| Custom Object | Custom Field on Core Record or Custom Objectlossy | 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.
Unicorn ATS gotchas
Activity logs export as flat CSV, losing record associations
Migration timeline scales non-linearly with data volume
Dirty data imported from source pollutes the destination
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the source Unicorn ATS environment across all record types: candidates, jobs, pipeline stages, employee records, custom fields, interviews, offers, activity history, and attachments. We inventory record counts, identify duplicates and incomplete records, extract custom field definitions with their data types, and assess the activity log export format for the fuzzy-match re-association scope. We pair this with a Crelate environment review to confirm the destination's Core Record configuration and custom field limits. The discovery output is a written migration scope, a data cleaning recommendations report, and an activity unattachment estimate.
Schema design and custom field deployment
We design the destination Crelate schema based on the Unicorn ATS field inventory. This includes creating custom fields under Crelate's Contact, Company, and Opportunity Core Records, assigning Logical Names for API access, and ordering fields in the record layout. We configure Opportunity Stages to match the Unicorn ATS pipeline stage set, define Record Types if multiple job categories require different stage sets, and set up the Company-Contact relationship model. Schema is deployed to a Crelate sandbox environment for validation before production migration begins.
Data cleaning and deduplication
We run a deduplication pass on the Unicorn ATS candidate data using name and email matching, flag records with missing email addresses, identify outdated job requisitions with no active pipeline, and present the customer with a cleaning decisions report. The customer approves record deletions, merges, and status updates. This phase runs for a minimum of two weeks before migration day and must be complete before any data moves to Crelate to prevent dirty data from polluting the destination.
Sandbox migration and reconciliation
We run a full migration into Crelate sandbox using production-like data volume. The customer's recruiting lead reconciles record counts (Contacts in from Candidates, Companies in from company records, Opportunities in from job requisitions), spot-checks 25-50 random records against the Unicorn ATS source, validates that custom fields are populated correctly, and confirms that activity history is re-associated with the correct Contact records. The customer signs off the sandbox migration before production migration begins. Any mapping corrections happen in sandbox, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Crelate Users (validated from owner reconciliation), Companies (from Unicorn ATS company records), Contacts (with CompanyId resolved and activity history re-associated), Opportunities (with ContactId, CompanyId, and Stage resolved), Custom Fields on records (validated post-import), Attachments (as ContentDocument with ContentDocumentLink to Contact), Interviews and Events (linked to Contact and Opportunity), Offers (as Opportunity custom fields with outcome stage), and finally any custom objects. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation inventory delivery
We freeze Unicorn ATS writes during cutover, run a final delta migration of any records modified during the migration window, then enable Crelate as the system of record. We deliver the automation inventory document listing every active Unicorn ATS workflow and sequence with its trigger, conditions, actions, and a recommended Crelate equivalent. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruiting team. We do not rebuild Unicorn ATS workflows as Crelate workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Unicorn ATS
Source
Strengths
Weaknesses
Crelate
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 Unicorn ATS and Crelate.
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
Unicorn ATS: Not publicly documented..
Data volume sensitivity
Unicorn ATS 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 Unicorn ATS to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Unicorn ATS to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Unicorn ATS
Other ways to arrive at Crelate
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.