Skip to content
Field notesMigration7 min read

Migrating to GoHighLevel: the checklist we run for every move

Most GoHighLevel migrations fail at the seams: the data lands but the phone number ports late, or the automations arrive but fire twice during cutover. The platform move itself is rarely the hard part. Sequencing is. This is the checklist we run, in the order we run it.

Before anything moves

Inventory the old system completely: contact count with custom fields, active automations with their triggers, calendar types, phone numbers with their carriers and every third-party integration with its direction of data flow.

Then decide what does not move. Every migration is a chance to leave dead automations and stale lists behind. Migrating garbage costs the same as migrating gold.

The order of operations

Fields and pipelines first, so contacts have somewhere structured to land. Contacts second, tagged with their source segment. Automations third, built disabled. Calendars fourth, connected but not yet published. Numbers last, because porting has its own timeline you do not control.

Build everything disabled and test with a seed list of ten internal contacts before any client data flows through a live trigger.

Cutover weekend

Freeze changes in the old system on Friday, run the final delta import, flip DNS and forms Saturday morning, enable automations one category at a time and watch the first live contact walk through each critical path before enabling the next.

Keep the old system readable for 60 days. You will need to check something against it - everyone does.

Key takeaways

  • Inventory first, and decide what deliberately stays behind
  • Order: fields, contacts, automations disabled, calendars, numbers last
  • Test every critical path with seed contacts before real traffic
  • Keep the old system readable for 60 days after cutover

Want this looked at on your account?

Free 15-point health check with an ex-HighLevel engineer - findings with proof, fix list you keep.

Book a free diagnosis