HRMS migration
Field-level mapping, validation, and rollback between Teamtailor and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Teamtailor
Source
Crelate
Destination
Compatibility
11 of 12
objects map 1:1 between Teamtailor and Crelate.
Complexity
BStandard
Timeline
1-3 weeks
Overview
Moving from Teamtailor to Crelate is a data model migration with a few structural headwinds that require deliberate handling. Teamtailor uses a relational JSON:API model where Candidate, Job, Application, and Custom Field are separate objects linked by IDs; Crelate consolidates candidate and client records into a unified Contact and Company model with activity records attached. We extract from Teamtailor respecting the 50 req/10s rolling bucket and the HTTP 500 risk on unbounded answers and actions endpoints, then transform the Application timeline into Crelate Activity records. Custom fields on both candidates and job postings have no metadata API in Teamtailor, so we run a discovery pass on a sample of records to build the field map before the full export. Automation rules and trigger-based email sequences exist in Teamtailor UI but are not accessible via API and do not migrate; we deliver a written inventory of every active automation for your admin to reconstruct in Crelate's workflow builder. Multi-brand Teamtailor accounts require entity scoping before extraction so that job and candidate data is assigned to the correct Crelate organization.
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 Teamtailor 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.
Teamtailor
Candidate
Crelate
Contact
1:1Teamtailor Candidates map directly to Crelate Contacts. Standard fields (name, email, phone, LinkedIn URL) migrate as typed Contact fields. Any custom fields discovered during schema discovery map to Crelate custom fields on the Contact object. Candidate creation date and last activity date migrate as Crelate CreatedDate and Last Activity. We resolve any duplicate candidates by email during import.
Teamtailor
Job
Crelate
Job (Crelate native)
1:1Teamtailor Jobs map to Crelate Job records with title, description, status (active/paused/closed), and public URL preserved. Job posting body content migrates as the Crelate job description. Department and location from Teamtailor map to Crelate's Department and Location fields on the Job record. Status mappings preserve Teamtailor's active/paused/closed semantics in Crelate's job status field.
Teamtailor
Job Application
Crelate
Activity (Application-related)
1:1Teamtailor Job Applications map to Crelate Activity records linked to the Contact (candidate) and Job. The application status (new, in-progress, rejected, hired) migrates as an Activity status or a custom field. Application source, rejection reason, and timeline timestamps preserve. The application record is the primary audit trail for candidate progression through the hiring process.
Teamtailor
Custom Fields (Candidate)
Crelate
Custom Fields (Contact)
1:1Teamtailor custom fields on candidate cards have no metadata API, so we run a discovery pass on a sample of 50-100 candidate records to enumerate field names, types, and value patterns. Each discovered custom field maps to a Crelate Contact custom field of equivalent type (text, number, select, multi-select, date). Text fields with long values migrate as long-text. Multi-select values migrate as Crelate multi-select or as comma-separated text depending on Crelate field configuration.
Teamtailor
Custom Fields (Job Posting)
Crelate
Custom Fields (Job)
1:1Teamtailor job posting custom fields are scoped to the job object and differ from candidate custom fields. We discover these during the same schema pass and map them to Crelate Job custom fields. Job-level custom fields are optional and their presence depends on the customer's job template configuration; we only map fields that are actively populated in the source data.
Teamtailor
Department
Crelate
Department
1:1Teamtailor Departments are a lightweight taxonomy object that categorizes jobs and sometimes candidates. We export them as a flat list and map each to a Crelate Department record. Department assignments on Job and Candidate records migrate as lookup references to the resolved Department records.
Teamtailor
Location
Crelate
Location
1:1Teamtailor Locations tag jobs and candidates with a geographic dimension. We export locations as a list and map each to a Crelate Location or Office record, preserving the location name and any associated address details. Location assignments on Job records migrate as resolved references.
Teamtailor
User (Hiring Team)
Crelate
User
1:1Teamtailor Users (recruiters and hiring managers) export as a list with name, email, and role. We match by email against Crelate User accounts. Any User without a matching Crelate account goes to a reconciliation queue for the customer's admin to provision before record import continues, since OwnerId references must resolve on both sides.
Teamtailor
Interview Kit and Questions
Crelate
Activity Template or Note
1:1Teamtailor Interview Kits group structured questions for candidate evaluation. The questions endpoint is queryable via API, and kit-to-job assignments are retrievable. We migrate kit names and question text as Crelate Activity Template records or as Notes attached to the Job or Contact. The structured scorecard mapping depends on Crelate's form builder support for the customer's tier.
Teamtailor
Uploads and Attachments (Resumes)
Crelate
Resume on Contact
1:1Candidate resumes, cover letters, and files are stored as upload objects in Teamtailor with URLs returned via API. The file itself must be fetched separately from the upload URL. We download each file and attach it to the corresponding Crelate Contact record as a resume document. Files are ingested in batches to avoid overwhelming the Teamtailor file server under the rate limit.
Teamtailor
Automations and Triggers
Crelate
Not Migrated (Inventory Document)
1:1Teamtailor automation rules and trigger-based email sequences (e.g., send email when candidate moves to stage 2) are configuration objects stored in Teamtailor and are not exposed via the public API in a structured way. We do not migrate them as code. We document every active automation visible in the Teamtailor UI during scoping, including trigger conditions, actions, and delays, and deliver a written inventory for the customer's admin to rebuild in Crelate's workflow engine.
Teamtailor
Multi-Brand / Entity Configurations
Crelate
Organization or Sub-Account Scoping
lossyTeamtailor Multi-Brand accounts host multiple employer brands with separate career sites and sometimes separate candidate pools. We scope the export to the primary brand or each sub-entity separately, flagging which candidates and jobs belong to which brand during extraction. Crelate's multi-organization settings handle brand separation at the account level. We coordinate with the customer to determine whether a single Crelate account with tagging or separate Crelate organizations per brand best fits their setup.
| Teamtailor | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| Job | Job (Crelate native)1:1 | Fully supported | |
| Job Application | Activity (Application-related)1:1 | Fully supported | |
| Custom Fields (Candidate) | Custom Fields (Contact)1:1 | Fully supported | |
| Custom Fields (Job Posting) | Custom Fields (Job)1:1 | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Location | Location1:1 | Fully supported | |
| User (Hiring Team) | User1:1 | Fully supported | |
| Interview Kit and Questions | Activity Template or Note1:1 | Fully supported | |
| Uploads and Attachments (Resumes) | Resume on Contact1:1 | Fully supported | |
| Automations and Triggers | Not Migrated (Inventory Document)1:1 | Not supported | |
| Multi-Brand / Entity Configurations | Organization or Sub-Account Scopinglossy | Mapping required |
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.
Teamtailor gotchas
API rate limit of 50 requests per 10 seconds can stall bulk exports
Unbounded answers and actions endpoints return HTTP 500 on large datasets
Custom fields are not surfaced in a unified schema endpoint
Automation and trigger rules are not accessible via the public API
API versioning header is required on every request
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 scoping
We audit the Teamtailor account across object count (candidates, jobs, applications), custom field configurations, active automations visible in the UI, multi-brand or multi-entity setup, and engagement history volume (answers, actions). For multi-brand accounts we agree with the customer on brand scoping — whether to migrate to a single Crelate account with brand tagging or to separate Crelate organizations per brand. The discovery output is a written migration scope, an initial custom field inventory from the discovery pass, and a decision on Crelate organization structure.
Custom field schema discovery
We query a statistically representative sample of candidate and job records to enumerate all active custom field names, types, and value patterns. We compare candidate custom fields (which live on the candidate card) against job posting custom fields (which live on the job object) since these are separate schemas in Teamtailor. The discovered schema becomes the basis for Crelate custom field creation before the full data export begins.
Crelate schema setup and automation inventory
We create Crelate custom fields on Contact and Job objects matching the discovered Teamtailor schema, using equivalent field types. We create Department and Location records that map to the exported Teamtailor taxonomy. We document every active Teamtailor automation (trigger conditions, actions, delays, and target audiences) in a written inventory for the customer's admin to reference when rebuilding in Crelate's workflow engine. This document is delivered before cutover so rebuild planning can proceed in parallel.
Sandbox migration and reconciliation
We run a full migration into a Crelate test environment using production-like data volume. The customer's recruiting lead spot-checks 25-50 random candidate and job records against the Teamtailor source, verifies custom field values, confirms activity timeline completeness, and reviews the automation inventory document. Any mapping corrections happen in the test environment before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Departments and Locations (first, as taxonomy lookups), Jobs (with department and location references resolved), Contacts (with custom field values mapped), Activities (application records and engagement history linked to Contact and Job), User mapping (owner assignments by email match), file attachments (resumes and cover letters batched after record import), and interview kit documentation (as Activity Templates or Notes). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze Teamtailor writes during cutover, run a final delta migration of any records modified during the migration window, then mark Crelate as the system of record. We deliver the completed automation inventory document and support a one-week hypercare window for reconciliation issues. We do not rebuild Teamtailor automations in Crelate's workflow engine inside the migration scope; that work is handled by the customer's admin using the automation inventory as a rebuild guide, or as a separate engagement.
Platform deep dives
Teamtailor
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 Teamtailor 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
Teamtailor: 50 requests per 10 seconds per organization.
Data volume sensitivity
Teamtailor 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 Teamtailor to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Teamtailor 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 Teamtailor
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.