HRMS migration
Field-level mapping, validation, and rollback between SnapHire and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
SnapHire
Source
Crelate
Destination
Compatibility
7 of 12
objects map 1:1 between SnapHire and Crelate.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Migrating from SnapHire to Crelate is a cross-platform ATS move that requires CSV-based extraction on the SnapHire side and field-by-field mapping to Crelate's Contact, Company, and Opportunity core record types. SnapHire does not publish a public API for bulk export, so we coordinate with SnapHire's Client Success team to obtain data extracts and transform them into Crelate's import format. We map SnapHire's configurable hiring stages and custom candidate data fields to Crelate's Employment Search Workflow and custom field schema, preserving the stage progression history for audit purposes. Candidate Match talent community scores transfer as read-only numeric fields on the candidate record since the matching algorithm is SnapHire-native. Workflows, onboarding automations, and intelliHR push configurations do not migrate; we deliver a written inventory of these for the customer's admin to 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 SnapHire 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.
SnapHire
Candidate
Crelate
Contact
1:1SnapHire Candidate records map directly to Crelate Contact records. The candidate's name, email, phone, address, current company, and title transfer as standard Contact fields. Application history and stage progression are preserved in Crelate's Activity timeline as Event and Task records. We map candidate status (Active, Rejected, Withdrawn) to Crelate's internal status taxonomy and preserve any rejection reason in a custom field.
SnapHire
Job
Crelate
Job Requisition
1:1SnapHire Job records (title, department, location, description, pipeline) map to Crelate Job records. The hiring pipeline in SnapHire becomes an Employment Search Workflow in Crelate, with stage names mapped explicitly during scoping. Job categories from SnapHire transfer as tags or custom fields in Crelate depending on reporting needs.
SnapHire
Custom Candidate Data Fields
Crelate
Custom Fields (Contact)
lossySnapHire custom candidate data fields with validation rules and multi-choice options (dropdowns, checkboxes) require individual field mapping. Each custom field is created as a Crelate Contact custom field of the equivalent type (Text, Number, Picklist, Checkbox). Multi-choice option sets are mapped explicitly to Crelate picklist values. The full field inventory is requested from the customer during scoping since SnapHire does not publish a schema export.
SnapHire
Hiring Stage History
Crelate
Activity Timeline
1:1Each candidate's SnapHire stage movement history (Application, Screening, Interview, Offer, Hired, Rejected) is preserved in Crelate as dated Task and Event records on the Contact's Activity timeline. Stage transition timestamps and any associated notes transfer as Activity notes, maintaining the audit trail for compliance and reporting.
SnapHire
Candidate Match (Talent Community)
Crelate
Contact (custom field)
1:1SnapHire's Candidate Match feature stores match scores between talent community candidates and job profiles. We preserve these scores as read-only numeric custom fields on the Crelate Contact record (e.g., snaphire_match_score__c). The matching algorithm itself cannot be replicated in Crelate; if Crelate's sourcing tools or a third-party partner are needed for ongoing matching, the customer's admin configures this post-cutover.
SnapHire
Rejection Reasons
Crelate
Custom Field (Contact)
lossySnapHire rejection reasons are organization-defined freeform or predefined lists. These map to a Crelate Contact custom field (rejection_reason__c) as a picklist or text field depending on the destination schema. The customer's admin reviews and finalizes the rejection reason taxonomy in Crelate post-migration.
SnapHire
Workflows
Crelate
Employment Search Workflow + Activity Forms
lossySnapHire's configurable hiring-stage workflows do not migrate as code to Crelate. We document the existing SnapHire workflow configuration (stages, actions, conditions) and deliver it as a written handoff document. The customer's Crelate admin rebuilds the workflow as an Employment Search Workflow using Crelate's builder, and rebuilds any associated Activity Forms with field mappings to Contact, Company, and Opportunity core records.
SnapHire
Categories
Crelate
Tags
lossySnapHire job-specific categories used for reporting map to Crelate Tags or a custom field depending on reporting requirements. Categories that represent job type or department are preserved as tags for filtering; categories that represent compliance or sourcing channel may warrant a dedicated custom field for segmentation.
SnapHire
Attachments (Resumes, Cover Letters)
Crelate
Attachments (Resume Toolbox)
1:1Candidate and job attachments (resumes, cover letters, assessment files) download from SnapHire and upload to Crelate with the same record association. Crelate's Resume Toolbox feature stores parsed and unparsed resume versions. We re-upload binary attachments and ensure the Contact record's primary resume field is set correctly.
SnapHire
Onboarding Workflow (intelliHR push)
Crelate
Not Migrated
lossySnapHire's onboarding automation pushes hired candidate data to intelliHR (Humanforce). This integration configuration is SnapHire-native and does not have a Crelate equivalent. We extract the onboarding workflow configuration for documentation and recommend rebuilding it as a Crelate Workflow or webhook-based integration to the customer's HRIS post-cutover. The customer should coordinate with intelliHR separately if the downstream HR record creation continues.
SnapHire
Owner
Crelate
User
1:1SnapHire Owner records map to Crelate User accounts. We resolve owners by email match against the Crelate destination instance. Any SnapHire Owner without a matching Crelate User goes to a reconciliation queue for the customer's admin to provision before the record import proceeds.
SnapHire
Company
Crelate
Company
1:1SnapHire company records associated with candidates map to Crelate Company records. Company name, address, industry, and website transfer as standard Crelate Company fields. Company is created before Contact import so that the Company lookup relationship is satisfied at the moment of Contact insert.
| SnapHire | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| Job | Job Requisition1:1 | Fully supported | |
| Custom Candidate Data Fields | Custom Fields (Contact)lossy | Mapping required | |
| Hiring Stage History | Activity Timeline1:1 | Fully supported | |
| Candidate Match (Talent Community) | Contact (custom field)1:1 | Mapping required | |
| Rejection Reasons | Custom Field (Contact)lossy | Mapping required | |
| Workflows | Employment Search Workflow + Activity Formslossy | Mapping required | |
| Categories | Tagslossy | Mapping required | |
| Attachments (Resumes, Cover Letters) | Attachments (Resume Toolbox)1:1 | Fully supported | |
| Onboarding Workflow (intelliHR push) | Not Migratedlossy | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Company | Company1: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.
SnapHire gotchas
SnapHire Bullhorn export can take 2–3 weeks
Custom data fields vary per-organization
Candidate Match scores are not transferable as logic
No public API documentation for bulk export
Onboarding workflows push to intelliHR only
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 SnapHire export request
We audit the source SnapHire instance for candidate record volume, job count, pipeline structure, custom field inventory, attachment count, workflow configurations, and any active intelliHR integration. We submit the bulk data export request to SnapHire's Client Success team early in discovery to initiate the one-to-two-week extraction timeline in parallel with other work. The customer provides the SnapHire field inventory and any internal documentation of custom field usage during this phase.
Crelate instance setup and schema design
We provision the destination Crelate instance, configure Users, and create the Employment Search Workflow that corresponds to the source SnapHire pipeline stages. We create all custom Contact, Company, and Opportunity fields based on the SnapHire custom field inventory, matching field types (Text, Number, Picklist, Checkbox) and option sets. We configure Activity Forms with field mappings to core records as documented in Crelate's field mapping feature. Schema design runs in parallel with the SnapHire export extraction.
CSV transformation and field mapping
We transform the SnapHire CSV export into Crelate's import format. This includes splitting multi-value fields, resolving lookup references (Contact to Company), mapping stage names from SnapHire to Crelate workflow stages, and converting multi-choice option values to Crelate picklist values. Any Candidate Match scores map to custom numeric fields on Contact. We validate field type compatibility before import and flag any fields that require a custom field creation in Crelate before proceeding.
Test migration and reconciliation
We run a full migration into Crelate's sandbox or a test environment using production-like data volume. The customer reconciles record counts (Candidates in vs Contacts in, Jobs in, Activities in), spot-checks 25-50 random records against the SnapHire source, and reviews the Activity timeline for stage progression accuracy. Any mapping corrections are made in the transform scripts before production migration. SnapHire rejection reasons and category assignments are verified for reporting accuracy at this stage.
Production migration in dependency order
We run production migration in record-dependency order: Companies (from SnapHire company data), Contacts (with Company lookup resolved and custom fields populated), Jobs, Activity history (stage transitions as Task and Event records), Attachments, and Custom fields last if they reference lookup relationships. Each phase emits a row-count reconciliation report. We coordinate the cutover window with the customer's team, typically scheduling final delta migration (records modified during the window) and write-enablement on Crelate outside of business hours.
Cutover, validation, and workflow handoff
We freeze SnapHire writes during the cutover window, run the final delta migration, and enable Crelate as the system of record. We deliver the SnapHire workflow and onboarding configuration documentation to the customer's Crelate admin for rebuild. We support a one-week hypercare window for reconciliation issues raised by the recruiting team. We do not rebuild SnapHire workflows as Crelate Employment Search Workflows or onboarding automations as Crelate workflows inside the migration scope; those are documented for the customer's admin to rebuild post-cutover.
Platform deep dives
SnapHire
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 SnapHire 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
SnapHire: Not publicly documented.
Data volume sensitivity
SnapHire 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 SnapHire to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your SnapHire 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 SnapHire
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.