Phase 0
Decide & Plan
Lock scope, ownership, and constraints before any export job runs.
-
Risk if skipped: Mid-project scope additions force re-running mapping, sandbox tests, and Hiring Pipeline design from the start.
-
Risk if skipped: Without an explicit cut-off, the export expands into a multi-year dump that no one budgeted for transforming.
-
Risk if skipped: Discovering this constraint mid-cutover forces an emergency decision that loses years of placement-funnel analytics.
-
Risk if skipped: Loading past the record or field cap halts the import partway and forces unplanned plan changes during the cutover window.
-
Risk if skipped: Legal blocks the import on go-live day when candidate-consent provenance or DPA review was not completed earlier.
-
Risk if skipped: A cutover during an active placement push forces a partial cutover and a hand-reconciled candidate pipeline.
Phase 1
Pre-Migration Prep
Source-system cleansing and destination-tenant configuration before any export.
1a. Source-system audit and cleansing
-
Risk if skipped: Duplicate source rows merge into a single candidate record and historical notes attach to the wrong person.
-
Risk if skipped: Duplicate companies fork the contact graph and break Parent/Child Company linkage on the destination side.
-
Risk if skipped: Without a count baseline you cannot prove later whether a number mismatch is a migration loss or a source-side change.
-
Risk if skipped: Stage-transition history is the foundation of placement analytics; missing it leaves recruiters blind to source-of-hire and time-to-fill trends.
-
Risk if skipped: Fragmented source values break source-of-hire reporting after cutover and force a manual cleanup per candidate.
-
Risk if skipped: Loading an out-of-date resume triggers AI Resume Parser to overwrite current candidate fields with stale values.
1b. Destination-tenant setup
-
Risk if skipped: Loading records before users exist forces a two-pass ownership update and leaves audit logs attributing every change to the migration account.
-
Risk if skipped: A wrong tenant timezone shifts every imported datetime by hours and corrupts meeting and call-log audit trails.
-
Risk if skipped: Importing a job with stages that do not exist forces a re-create of the pipeline mid-load and drops historical stage data.
-
Risk if skipped: An unknown picklist value silently drops the field on that row and produces blank statuses on hundreds of candidates.
-
Risk if skipped: Importing into a field that does not exist yet drops the data on the row with no error indication.
-
Risk if skipped: Loading EEOC values into Notes or free-text fields breaks the federal reporting workflow at year-end.
-
Risk if skipped: Active sequences fire during the bulk load and send weeks-old outreach to candidates the moment their record lands.
1c. People prep
-
Risk if skipped: Source-system changes after the freeze produce a delta the cutover plan cannot reconcile cleanly.
Phase 2
Source Export
Pull every object you will need out of the source system in a transformable shape.
-
Risk if skipped: Without Parent/Child mapping data, multi-entity client groups collapse into a flat company list and break account-level reporting.
-
Risk if skipped: Without the transition log, source-of-hire and time-to-fill reports cannot be reconstructed in the destination.
-
Risk if skipped: Loading candidates and jobs separately without the association file leaves the destination Kanban boards empty.
-
Risk if skipped: Importing thousands of emails as Notes can blow past per-record activity limits and slow timeline rendering for the rest of the system's life.
-
Risk if skipped: Without metadata you have a folder of resumes no one can re-attach to the right candidate.
Phase 3
Transform & Map
Turn raw source files into Recruit CRM-shaped imports.
3a. Master mapping spreadsheet
-
Risk if skipped: Without one source of truth, two engineers map the same field two different ways and the discrepancy surfaces only at validation.
-
Risk if skipped: A picklist value that does not exist in the destination drops the field on that row with no error marker.
-
Risk if skipped: Without a stable legacy id, a failed reload duplicates every record because there is no key to upsert against.
3b. Data transformation
-
Risk if skipped: MM/DD vs DD/MM ambiguity silently swaps day and month on every row of stage-transition history.
-
Risk if skipped: Mis-encoded files corrupt accented characters and force a name fix per candidate after the fact.
-
Risk if skipped: Trusting the importer's auto-merge with a weak match key (name only) merges unrelated candidates and is hard to unwind.
-
Risk if skipped: Running an import with Override Data on by accident overwrites manually edited destination records with stale source values.
3c. Audit-trail and ownership strategy
-
Risk if skipped: Field history starts on cutover day with no way to back-fill, surprising auditors and tenure reports.
3d. ATS-specific transforms
-
Risk if skipped: Bulk-uploading multiple resume versions per candidate triggers the AI Resume Parser to re-parse and overwrite current candidate fields with stale resume content.
-
Risk if skipped: Letting the AI Resume Parser run on every imported resume overwrites manually verified candidate fields with whatever the resume text says.
-
Risk if skipped: Loading Source values that do not match the picklist leaves the field blank and breaks source-of-hire dashboards.
-
Risk if skipped: A job that names a missing pipeline imports with no stages and strands all linked candidates outside the Kanban board.
-
Risk if skipped: Skipping both patterns leaves placement analytics blind to source-of-hire and time-to-fill trends across migrated jobs.
-
Risk if skipped: Out-of-order replay loads transitions backwards and the final state no longer reflects the candidate's true current stage.
-
Risk if skipped: An EEOC value that does not match the destination picklist leaves the field blank and breaks EEO-1 reporting at year-end.
-
Risk if skipped: Losing scorecard data forces hiring managers to re-interview candidates that were already vetted.
-
Risk if skipped: Files over the per-file cap silently fail to upload and the metadata-linkage check fails at validation.
Phase 4
Sandbox Test Migration
Catch every problem before the Bulk Importer runs against production.
-
Risk if skipped: A sandbox that drifts from production hides bugs that only fire under the production schema.
-
Risk if skipped: A sample of only active North American candidates hides the bugs that hit the harder cases in production.
-
Risk if skipped: An accidental Override Data import overwrites manually maintained destination records with stale source values.
-
Risk if skipped: If the parser fires by default, plan a per-candidate field-restore pass before production.
-
Risk if skipped: Effective-date order issues only show up in the UI; queries return rows in id order, which masks the problem until UAT.
-
Risk if skipped: A cutover window that turns out to be too short forces a partial go-live with candidates split between systems.
-
Risk if skipped: Skipping sign-off lets the cutover proceed with known sandbox defects still unresolved.
Phase 5
Production Cutover
The tightly-sequenced execution window where the migration actually happens.
-
Risk if skipped: Late source-side edits create a delta that the cutover plan has no time to reconcile.
-
Risk if skipped: An unpaused sequence fires during the bulk load and sends weeks-old outreach to candidates the moment their record lands.
-
Risk if skipped: A job that loads without a pipeline strands every linked candidate outside the Kanban board.
-
Risk if skipped: Out-of-order replay loads transitions backwards and the final stage no longer reflects the candidate's true current state.
-
Risk if skipped: Letting the parser run during cutover overwrites manually verified candidate fields with raw resume text.
-
Risk if skipped: Without per-step evidence a partial failure has no recovery point and the team starts the load over from row one.
Phase 6
Validate
Prove the migration was correct before any user logs in.
-
Risk if skipped: An unexplained delta of even a handful of candidates signals a silent drop somewhere in the transform.
-
Risk if skipped: A pipeline-level delta hides a bad Hiring Pipeline assignment that leaves candidates outside any board.
-
Risk if skipped: A silent parser overwrite is not visible until a recruiter notices that current title or salary expectations have reset to stale values.
-
Risk if skipped: A skewed Source distribution signals a picklist mismatch that silently dropped values across thousands of records.
-
Risk if skipped: Without a Full Export captured immediately after cutover, a later data-corruption event has no clean restore point until the next 90-day cycle.
-
Risk if skipped: Workflow gaps surface only at this layer and are cheaper to fix before go-live than after.
Phase 7
Post-Migration Cleanup
Wrap up so the team can treat Recruit CRM as the system of record.
-
Risk if skipped: Without rebuilt reports the team falls back to the source system within a week, undermining cutover.
-
Risk if skipped: Without a calendared Full Export cadence, the team forgets the 90-day cycle and a data-corruption event finds no recent restore point.
Watch list
Risks to track throughout
These risks live across multiple phases — keep an eye on them from kickoff through cutover.
-
AI Resume Parser overwrites candidate fields on re-parse
Uploading a resume against a candidate via the standard path triggers the AI Resume Parser, which extracts fields from the resume text and overwrites the candidate record. A migration that re-loads resumes against existing candidates can silently overwrite manually verified current title, employer, and salary expectations. Track this across Phase 1 (parser-auto-run setting), Phase 3 (document-upload vs parser path decision), Phase 4 (sandbox parser-behavior test), and Phase 6 (per-candidate field-restore check).
-
Hiring Stage history is not preserved natively by the Bulk Importer
Bulk-imported candidate-job associations land at their current stage with no transition log. Years of source-of-hire and time-to-fill analytics depend on the transition timeline that the importer drops. Track this across Phase 0 (in-scope decision), Phase 3 (replay-or-paragraph-field pattern choice), Phase 5 (chronological replay throttled to the platform throughput budget), and Phase 6 (sample 20 history rebuilds for ordering accuracy).
-
Base-plan caps on records and custom fields constrain the schema
The base plan caps custom fields at 15 across modules and candidate records at 10,000. A migration that exceeds either cap halts partway through the load. Track this across Phase 0 (plan-tier decision), Phase 1 (custom-field count audit), Phase 3 (per-module custom-field budget), and Phase 5 (record-count monitoring during the load).
-
Picklist gaps silently drop field values
Recruit CRM does not auto-create picklist values on import. A source value that does not exist on the destination Candidate Status, Job Status, Deal Stage, or Source picklist drops the field on that row with no error marker. Track this across Phase 1 (pre-create every value via Admin Settings), Phase 3 (mapping spreadsheet records the source→destination value swap), and Phase 6 (Source-field distribution validation against the baseline).
Pair this with the long-form guide
The complete Recruit CRM & ATS migration guide
Same research, written as prose: data model, import mechanisms, mapping strategy, pitfalls, and partner landscape.