Revenue Engineering

How to Migrate a CRM Without Breaking What Runs on It

The sequence that keeps a CRM migration from taking the automations, the reporting and the team's trust with it.

Mauricio Esparza By ·Published ·2 min read
mithub.club
Short answer

Migrate in this order: inventory what depends on the CRM, agree the field and stage mapping, move history before process, run both systems in parallel for a defined period, cut over one team at a time, and keep the old system readable for a quarter. What breaks migrations is not the data, it is the automations and reports nobody knew existed until they stopped working.

Migrations rarely fail on the data. They fail on everything that was quietly running on top of the old system.

Step 1: inventory the dependencies

Before touching anything, list every integration, automation, report, webhook, saved view and export that touches the CRM, with an owner beside each.

This list is always longer than expected, and the surprises are consistent: an automation that emails customers, a report someone builds the board deck from, an integration finance uses at month end, and a webhook created two years ago by somebody who has left.

Anything without an owner is either deleted now or adopted now. Not carried across in the hope it still matters.

Step 2: agree the mapping in writing

Fields and stages, old to new, decided before anything moves.

This is where the arguments live, and they are far cheaper before the migration than during it. Two teams that define a stage differently will discover it while looking at a broken pipeline report otherwise.

Use the mapping as the opportunity to delete. If you carry the mess across, you paid for a move and kept the problem.

Step 3: history first, process second

Get records in and readable before recreating any logic. A migration with the data in place and no automations is recoverable. One with automations running on incomplete data creates errors you then have to find.

Step 4: run both in parallel, with one source of truth

For a defined period covering at least one month end and one reporting cycle. Designate which system is authoritative during that window and say so repeatedly, because two sources of truth means neither is trusted.

Open ended parallel running is worse than none.

Step 5: cut over one team at a time

The first team is the pilot. Expect to find three things nobody documented, fix them, then move the second team. Cutting everyone over at once means debugging several unrelated problems while every team is blocked.

Step 6: keep the old system readable for a quarter

Read only, for the questions that arrive later: what did this record look like before, what did we promise this customer, why does this number differ from last year.

The dependency that breaks the most migrations

Reporting. Not because it is hard to rebuild, but because everyone assumes someone else understands how the current number is produced.

Rebuild the three or four reports leadership actually uses first, verify them against the old system while both are live, and only then move the rest.

When not to migrate at all

When the real problem is that the current system is badly configured rather than genuinely unsuitable.

A migration carries a configuration problem to a new platform at considerable cost, and the second implementation usually inherits the same habits that produced the first one. Fixing the configuration is cheaper, faster and less disruptive, and if it fails you have lost weeks instead of a quarter.

Frequently asked questions

How long should parallel running last?

Long enough to cover a full business cycle, which for most companies means at least one month end and one reporting cycle. Open ended parallel running is worse than none, because two sources of truth means neither is trusted.

Should we clean the data before or after?

Clean what the first automations touch before, and treat the rest as a separate project afterwards. A full cleanup before migration is how these projects lose a quarter.

What is the most commonly missed dependency?

Reports and saved views that people rely on informally, followed by webhooks built by someone who has since left. Neither appears in an integration list, and both are discovered when they break.

When should we not migrate?

When the reason is that the current CRM is badly configured rather than genuinely unsuitable. A migration carries the configuration problem to a new system at considerable cost, and the second implementation usually inherits the same habits.

Sources

  1. Handle errors gracefully · n8n Docs (accessed 2026-09-22)
  2. Why evaluate AI workflows · n8n Docs (accessed 2026-09-22)
  3. Building effective agents · Anthropic (accessed 2026-09-22)
Revenue EngineeringCRMMigration
Mauricio Esparza
Mauricio EsparzaGTM Systems Lead · Revenue Engineer · Founder of MitHub. Designs and runs revenue systems for multi-location businesses: AI voice campaigns, enrichment, CRM automation and attribution. Founded MitHub to teach the method in the open.

Part of Revenue Engineering on MitHub.

Keep going