HRMS migration
Field-level mapping, validation, and rollback between Candidate Manager and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Candidate Manager
Source
Crelate
Destination
Compatibility
7 of 12
objects map 1:1 between Candidate Manager and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Candidate Manager operates as a file-export-only source, lacking a documented public REST API for bulk extraction. All candidate records, job orders, pipeline stages, and ranking scores exit as CSV and structured report files that require normalization before ingestion into any modern ATS. Crelate is a modern talent platform built on a REST API with documented bulk import endpoints and a flatter object schema than staffing-focused ATSes. We extract Candidate Manager data through its reporting module, map the fixed stage names to Crelate's configurable pipeline stages, translate ranking and pre-profiling scores into custom number fields, and resolve hiring manager portal attribution against Crelate's contact and user records. We flag duplicate candidates, agency portal submission chains, and onboarding task status during the discovery phase so that reconciliation happens before production import, not after go-live.
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 Candidate Manager 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.
Candidate Manager
Candidate
Crelate
Contact
1:1Candidate Manager Candidate records map to Crelate Contact as the primary record. We map name fields (first name, last name, full name), email address (as the dedupe key), phone, address, resume (as a file attachment), application date (as createdAt), source attribution (as a custom text field), and status stage (as a custom picklist preserving the Candidate Manager stage label). Ranking and pre-profiling scores transfer as custom numeric fields. We flag any candidate with multiple applications to the same job as a potential duplicate for reconciliation before bulk import.
Candidate Manager
Candidate Ranking
Crelate
Contact (Custom Number Field)
1:1Numeric ranking values stored as candidate properties in Candidate Manager transfer to Crelate as custom number fields on Contact. The field name is preserved from the source (e.g., ranking_score, screening_score) as a custom field in Crelate. If multiple ranking fields exist, we map each to a separate custom number field and note that Crelate has no native scoring object; these values land as reference data only.
Candidate Manager
Job Order
Crelate
Job Order
1:1Candidate Manager Job Orders map directly to Crelate Job Order records. We map requisition title, department, location, open date, and status. Custom fields attached to job orders are discovered during scoping and mapped individually to Crelate custom fields on Job Order. The destination job order is created before candidate import so that the application-to-job lookup relationship is satisfied at insert time.
Candidate Manager
Pipeline Stage
Crelate
Pipeline Stage
lossyCandidate Manager uses fixed stage names (Applied, Under Consideration, Interviewing, Hired, etc.) that cannot be reconfigured at the workflow level. We preserve the original stage label as a custom picklist field on the Contact record in Crelate and map it to the nearest equivalent Crelate pipeline stage. Stage probability percentages are not available in Candidate Manager and cannot be migrated; we recommend setting these in Crelate post-migration.
Candidate Manager
Hiring Manager Portal Record
Crelate
Contact (Company Role)
1:1Hiring manager portal records in Candidate Manager carry an owner attribution field that references an entity without necessarily creating a formal user account. We map this attribution to a custom text field or contact role in Crelate linked to the associated Company record. If the hiring manager exists in Crelate as a Contact, we create a Company Role entry; if not, we create a contact with a custom field hiring_manager_source__c set to the original Candidate Manager portal identifier.
Candidate Manager
Staffing Agency Portal Record
Crelate
Company + Contact
1:manyAgency submissions tracked in Candidate Manager map to Crelate Company (the agency) and Contact (the agency recruiter) records. The agency name becomes the Company name, and the submission ID is preserved as a custom text field on the Contact record. Any agency-specific notes attached to the candidate submission migrate as a custom long-text field on the Contact. We deduplicate agencies by name during staging and flag cases where the same agency appears under variant spellings.
Candidate Manager
Onboarding Record
Crelate
Contact (Custom Task Fields)
lossyCandidate Manager onboarding task completion status and document references migrate to Crelate Contact as custom fields and document links. E-signature data and form-fill status do not export cleanly from Candidate Manager and are flagged as manual-reconciliation items post-migration. We create a custom text field onboarding_status__c and a document attachment section for any exported onboarding files. The customer's admin completes e-signature re-collection in Crelate post-migration.
Candidate Manager
Reporting Data Export
Crelate
Custom Object or Report
1:1Candidate Manager reporting module generates aggregate hiring funnel data exports. We import these as supplementary records in Crelate—either as custom object rows (if the destination includes custom objects) or as a reference document attachment on the root Job Order. Aggregate metrics (time-to-hire, source effectiveness, pipeline conversion rates) reflect Candidate Manager's historical data and are preserved for reporting continuity rather than live migration into Crelate's analytics engine.
Candidate Manager
Custom Field (Candidate Level)
Crelate
Custom Field (Contact)
lossyCustom fields at the candidate level in Candidate Manager are discovered during the scoping call by reviewing the reporting module column headers and any visible field labels. Each discovered custom field is mapped to a Crelate Contact custom field of the equivalent type (Short Answer, Long Answer, Picklist, Numeric, Date). Custom field API names in Crelate follow the source field label converted to a slug format (e.g., referred_by becomes referred_by__c). We validate the field type mapping during sandbox staging before production import.
Candidate Manager
Custom Field (Job Order Level)
Crelate
Custom Field (Job Order)
lossyCustom fields at the job order level in Candidate Manager follow the same discovery and mapping process as candidate-level custom fields. We map them to Crelate Job Order custom fields of matching type. The job order custom fields are created before candidate import so that any job-order-attached custom field values on candidate-application join records are resolved correctly during migration.
Candidate Manager
Candidate Application
Crelate
Candidate Submittal
1:1The candidate-to-job application relationship in Candidate Manager maps to Crelate Candidate Submittal records that link a Contact to a Job Order. We preserve the application date, stage at application time, and any submission notes. The submittal status in Crelate is set to match the Candidate Manager stage at migration. If the candidate was hired, we create a Placement record in Crelate linked to the Job Order and Contact.
Candidate Manager
Owner/User
Crelate
User
1:1Candidate Manager owners referenced on candidate and job order records are resolved by email match against Crelate User records. Any Candidate Manager owner without a matching Crelate User is held in a reconciliation queue; the customer's admin provisions the missing User before record import resumes. Owner-less records (e.g., candidates created via agency portal without an owner assignment) are flagged and mapped to a default migration user or a dedicated agency contact record.
| Candidate Manager | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| Candidate Ranking | Contact (Custom Number Field)1:1 | Fully supported | |
| Job Order | Job Order1:1 | Fully supported | |
| Pipeline Stage | Pipeline Stagelossy | Fully supported | |
| Hiring Manager Portal Record | Contact (Company Role)1:1 | Fully supported | |
| Staffing Agency Portal Record | Company + Contact1:many | Fully supported | |
| Onboarding Record | Contact (Custom Task Fields)lossy | Fully supported | |
| Reporting Data Export | Custom Object or Report1:1 | Fully supported | |
| Custom Field (Candidate Level) | Custom Field (Contact)lossy | Fully supported | |
| Custom Field (Job Order Level) | Custom Field (Job Order)lossy | Fully supported | |
| Candidate Application | Candidate Submittal1:1 | Fully supported | |
| Owner/User | User1: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.
Candidate Manager gotchas
No public API for incremental sync or third-party integrations
Pipeline stages are fixed and not reconfigurable
Bespoke configurations vary tenant-to-tenant
EDI reporting fields are sensitive personal data with GDPR implications
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 file export planning
We audit the Candidate Manager instance by reviewing all visible candidate fields, job order fields, pipeline stage labels, ranking score fields, and any reporting module export configurations available in the current deployment. We work with the customer's Candidate Manager admin to generate the required CSV exports: full candidate list with all properties, full job order list, pipeline stage assignment history, and any custom report exports for ranking scores and onboarding task status. We also review the candidate count, duplicate rate estimate, and custom field count to confirm the migration tier and timeline. The discovery output is a written migration scope with field inventory and export file specification.
Custom field discovery and type mapping
Custom fields in Candidate Manager are discovered by inspecting the reporting module column headers, candidate and job order view field labels, and any visible picklist values in the exported CSV files. We create a field inventory table listing each custom field, its inferred type (Short Answer, Long Answer, Picklist, Numeric, Date), and the corresponding Crelate custom field definition. The customer reviews and approves the type mapping during a field mapping session. We also identify duplicate-prone fields and define the dedupe key strategy (email primary, name-plus-phone secondary) before staging migration begins.
Crelate schema setup and sandbox staging
We set up the Crelate destination schema: creating custom fields on Contact and Job Order, configuring pipeline stages to match the approved stage mapping, setting up Company records for agency portals, and creating the migration user account with appropriate API permissions. We run a full staging migration into a Crelate sandbox or dev environment using the exported Candidate Manager files, normalize all field values, and run the duplicate detection pass. The customer's recruiting operations lead reviews a sample of migrated records and signs off the field mapping before production migration begins.
Deduplication and owner reconciliation
We run the deduplication pass on the candidate dataset before bulk import: primary dedupe by email, secondary dedupe by name-plus-phone, and tertiary dedupe by name-plus-company for agency contacts. We present a duplicate review queue to the customer's admin for any candidate with more than one active submission or more than one email variant in the dataset. Simultaneously, we extract all distinct owner references from Candidate Manager and match them by email against Crelate User records. Owners without a Crelate User match go to a reconciliation queue for the customer's admin to provision before production import resumes.
Production import in dependency order
We run production import in record-dependency order: Companies (agency and client) first, then Job Orders (which reference no candidates), then Contacts (with duplicate resolution applied and ranking scores as custom fields), then Candidate Submittals (linking Contact to Job Order with stage preserved), then onboarding task status (as custom fields on Contact), and finally reporting data exports (as reference document attachments). Each phase emits a row-count reconciliation report showing records imported, records skipped (deduped), and records held (missing parent reference or owner). We do not migrate workflows, sequences, or automations as code; these are documented in the handoff for the customer's admin to rebuild in Crelate.
Cutover, validation, and handoff
We freeze Candidate Manager writes during the cutover window, run a final delta migration of any records modified or added after the last export, then set Crelate as the system of record. We deliver a reconciliation report comparing migrated record counts against pre-migration estimates, a duplicate review log showing which records were merged and why, a custom field mapping spreadsheet, and a written inventory of Candidate Manager workflows, sequences, and onboarding automations with Crelate equivalents recommended. We support a one-week hypercare window for record-level issues raised by the recruiting team. We do not rebuild Candidate Manager automations or provide post-migration admin support as part of the standard migration scope.
Platform deep dives
Candidate Manager
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 Candidate Manager 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
Candidate Manager: Not publicly documented.
Data volume sensitivity
Candidate Manager 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 Candidate Manager to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Candidate Manager 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 Candidate Manager
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.