Phase 0
Decide & Plan
Lock scope, success criteria, and the cutover window before any export starts.
-
Risk if skipped: Discovering at cutover that Custom Modules or the Leads/Contacts split were assumed but never planned forces re-scoping mid-migration.
-
Risk if skipped: Mapping all source leads into Contacts on Suite collapses the Leads pipeline and breaks lead-conversion reporting.
-
Risk if skipped: Buying Growth and discovering you need 200 custom fields on Contacts blocks the migration until billing is escalated.
-
Risk if skipped: Planning a sandbox test on a plan below Forest forces you to dry-run on production or upgrade mid-project.
-
Risk if skipped: Pulling all history by default can multiply the dataset 5–10x and blow through the cutover window.
-
Risk if skipped: Discovering after cutover that your tenant is in the wrong region forces a second migration or a contractual exception.
-
Risk if skipped: Unwritten out-of-scope items resurface as urgent during cutover and derail the schedule.
-
Risk if skipped: Without falsifiable criteria, the migration is never formally complete and tail issues drag on for months.
Phase 1
Pre-Migration Prep
Cleanse the source, build the destination schema, and align the team.
1a. Source-system audit and cleansing
-
Risk if skipped: Importing duplicates forces you to rebuild deal-to-contact associations against the wrong record after dedup.
-
Risk if skipped: Mandatory-field misses produce a skip log at import; without a triage plan you lose visibility into what failed.
-
Risk if skipped: Encoding bugs surface as garbled characters across thousands of records and are painful to detect post-load.
1b. Destination tenant setup
-
Risk if skipped: A timezone mismatch shifts all imported dates by hours and surfaces as off-by-one-day errors on date-only fields.
-
Risk if skipped: Missing owners get reassigned to the importer, breaking owner-based views, territories, and reports.
-
Risk if skipped: Custom field mismatches only surface during the import preview, blocking thousands of records mid-cutover.
-
Risk if skipped: Unmatched picklist values are dropped or rejected per row — the error log balloons and import time multiplies.
-
Risk if skipped: Missing stages route deals into a default stage at import, breaking pipeline reporting on day one.
-
Risk if skipped: Forgetting to pause workflows triggers thousands of unwanted emails or owner reassignments during the load.
-
Risk if skipped: Discovering Sandbox is unavailable on your plan forces you to test on production.
1c. People prep and communications
Phase 2
Source Export
Pull complete, timestamped exports of every in-scope module.
-
Risk if skipped: Files over 5 MB are rejected by the UI importer with no per-row diagnostic.
-
Risk if skipped: Attachments without a parent-record manifest become orphaned files post-load and are nearly impossible to re-link.
Phase 3
Transform & Map
Convert source exports into Freshsales-shaped CSV/XLSX files.
3a. Mapping spreadsheet
-
Risk if skipped: Without a single mapping document, transform logic diverges across files and reconciliation becomes impossible.
-
Risk if skipped: Unmatched values are dropped or rejected per row, inflating the error log.
-
Risk if skipped: Choosing a non-unique key creates duplicate records on re-runs and breaks idempotency.
3b. Data transformation
-
Risk if skipped: Off-by-one-day date drift surfaces as missed renewal dates and skewed cohort reports after cutover.
-
Risk if skipped: Comma-delimited or array-shaped values are interpreted as a single literal string, breaking filter and reporting logic.
-
Risk if skipped: Unescaped delimiters shift columns mid-row, silently corrupting downstream fields.
-
Risk if skipped: Mass-defaulting to a single fallback owner breaks territory- and owner-based dashboards.
3c. Relationship and audit-trail decisions
-
Risk if skipped: Losing original timestamps breaks time-based cohort reports and contract anniversary logic forever.
-
Risk if skipped: Hitting the 2 GB-per-user storage cap mid-load leaves attachments orphaned with no notification.
-
Risk if skipped: Wrong load order produces orphaned records and forces a full re-import.
3d. CRM-specific transforms
-
Risk if skipped: Collapsing Leads into Contacts on Suite breaks lead-conversion reporting; splitting them on Sales-only fails outright.
-
Risk if skipped: Unmatched pipeline/stage values route deals into a default stage, breaking pipeline reporting on day one.
-
Risk if skipped: Activating IntelliAssign during the load reassigns thousands of migrated records to the wrong owners.
-
Risk if skipped: Skipping the Lead Score rebuild leaves reps prioritizing leads by an arbitrary default order on day one.
Phase 4
Sandbox Test Migration
Run the full pipeline in Sandbox and catch every defect before production.
-
Risk if skipped: Testing with a different mechanism than production hides path-specific bugs (CSV row caps) until cutover.
-
Risk if skipped: Edge-case bugs unfound in Sandbox become incidents in production with no rollback option.
-
Risk if skipped: Hitting the storage cap mid-Sandbox-test means the production load will fail at the same point.
-
Risk if skipped: A 12-hour cutover that becomes a 36-hour cutover blows past the freeze window and forces an extended outage.
-
Risk if skipped: Skipping written sign-off means scope drift between Sandbox and production goes undetected.
Phase 5
Production Cutover
Execute the migration in a tightly sequenced window.
-
Risk if skipped: An active workflow during load can send thousands of unwanted emails or reassign owners en masse.
-
Risk if skipped: Skipping unique identifiers causes duplicate Accounts on any retry.
-
Risk if skipped: Defaulting all deals to the service user breaks pipeline-by-owner dashboards immediately.
-
Risk if skipped: Without job-level evidence, a failed reconciliation cannot be traced back to a specific load step.
-
Risk if skipped: Unpausing before validation means a defect cascades through emails and owner reassignments to external systems.
Phase 6
Validate
Prove the migration was correct before any user logs in.
6a. Reconciliation
-
Risk if skipped: A 100-record gap that is not reconciled is 100 customer relationships silently missing from day one.
-
Risk if skipped: A stage-mismatch defect shifts millions in pipeline into the wrong forecast bucket and skews quota attainment reports.
6b. Relationship validation
-
Risk if skipped: An attachment that is reachable but corrupt is not flagged by Freshsales — only end users notice, often weeks later.
6c. Audit and compliance
-
Risk if skipped: Without the original timestamps, time-based cohort and contract-anniversary reports are silently broken forever.
6d. User-acceptance check
6e. Sign-off
-
Risk if skipped: Skipping sign-off means scope ambiguity at the 30-day retro and unclear ownership of post-cutover issues.
Phase 7
Post-Migration Cleanup
Cut the cord on the source and operationalize Freshsales as the system of record.
-
Risk if skipped: Leaving the source writable creates two systems of record and guarantees data drift within weeks.
-
Risk if skipped: Re-enrolling thousands of contacts into a buggy sequence causes mass-unsubscribes and brand damage.
Watch list
Risks to track throughout
These risks live across multiple phases — keep an eye on them from kickoff through cutover.
-
Plan-tier ceilings silently constrain the migration
Custom-field caps (0/10/150/305/450 across Sprout/Blossom/Garden/Estate/Forest), Sandbox availability (Forest/Enterprise only), and Custom Modules (Forest) are all plan-gated. Verify the tier supports the planned schema before signing the order form, and re-verify before Phase 4. Hitting a ceiling mid-cutover forces either a billing escalation or a scope cut.
-
Date-field timezone drift
A documented bug shifts date-only values by one day when the source timezone differs from the destination's configured timezone (e.g. source date 2026-06-07 arrives as 2026-06-06). Stamp every date with an explicit ISO-8601 timezone offset during transform, and test the boundary case in Sandbox with records spanning midnight in non-UTC timezones. Off-by-one-day drift surfaces post-cutover as missed renewal dates and skewed cohort reports.
-
Case-sensitive picklists and semicolon-delimited multi-selects
Freshsales matches dropdown, radio, and checkbox values case-sensitively, and expects multi-select values to be semicolon-delimited inside a single CSV cell. "USA" vs "usa" land as different picklist values, and comma-delimited multi-selects are interpreted as a single literal string. Build a value-translation table per field in Phase 3a, and test the full picklist round-trip in Sandbox before production.
-
Importer caps and the 25,000-record threshold
The UI CSV/XLSX importer caps each file at 5 MB. The Freshworks-shipped CRM Migration importer processes up to 25,000 records instantaneously and queues larger batches into off-peak windows (typically 1–2 business days). Pick the right path per module in Phase 3d, and size the cutover window against the actual throughput — not the theoretical ceiling.
Pair this with the long-form guide
The complete Freshsales migration guide
Same research, written as prose: data model, import mechanisms, mapping strategy, pitfalls, and partner landscape.