CRM Account Ownership Migration
A programme to move a healthcare business's entire marketing and CRM stack out of an agency-controlled sub-account into an account it owns outright. A read-only audit established exactly what existed — and reduced the apparent rebuild from 141 automations to the ~33 that were actually live. The central finding shaped everything that followed: the platform's API can copy data but not automation logic, so workflows, funnels and forms had to be rebuilt by hand. Custom PowerShell tooling handled discovery, dry-run and execute migrations with full ID mapping, and schema-parity verification. The coupled automation layer was migrated by duplicating each workflow and repointing the copy — leaving the live originals untouched, so rollback was simply "don't switch".
The problem
The client's entire marketing and CRM system lived inside a sub-account controlled by a third-party agency. They could have been locked out at any time and had no way to take a snapshot of their own business. There was no cooperation to rely on, so everything had to be discoverable read-only, through the API, without touching anything.
What was built
Nine PowerShell tools covering discovery, export, comparison and push, with dry-run and execute modes and full ID mapping; five core advisory documents; sixteen migration sub-documents; and a duplicate-and-repoint strategy for the automation layer.
The audit came first, and it was the most valuable single output. It returned precise numbers: 141 automations but only 36 published, 61 custom fields, 114 tags, 9 pipelines, 4 calendars, 6 forms, and 12 funnels of which exactly one was genuinely the client's. The rest was agency template clutter.
That reframed the entire project. The real rebuild is roughly 33 live automations and one funnel — not 141 and 12. That is the difference between an impossible project and a scoped five-to-seven-week one.
The hard part
The platform's API copies data but not automation logic. Contacts, opportunities and custom fields migrate cleanly. Workflows, funnels and forms cannot be exported at all — they have to be rebuilt by hand in the new account. Discovering that early, and telling the client plainly, is what made the plan honest.
The second decision was the automation layer. Six n8n workflows were coupled to the old account. Rather than repointing the live workflows — which would have meant a hard cutover with no way back — each workflow was duplicated and the copy repointed at the new account, leaving the originals untouched and running. Rollback became "don't switch", which is the cheapest rollback there is.
What can be verified
- Audit figures as above
- four contact-export snapshots and four opportunity exports captured, each with ID maps and skipped-record reports
- schema comparison run twice
- four of six workflow duplicates fully repointed and validating clean, one complete bar optional hardening, one deliberately left dormant because its original had zero executions
- a documented, gated plan whose critical path is external dependencies, not build capacity.
The workflows
(select to enlarge)
(select to enlarge)
(select to enlarge)
On numbers: every figure above is an artefact count or a measured technical value. No business-outcome metric, whether time saved, revenue or conversion, was captured on these engagements, so none is claimed.
On status: reflects repository evidence and platform backups, not a live systems check.