> ## Documentation Index
> Fetch the complete documentation index at: https://docs.switchbord.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration Plan

> Steps to cut over from Charles to our internal platform.

# Migration Plan

Rollback-ready migration is a core requirement. This page is the published migration plan.

## Stages

1. **Asset inventory** – confirm WABA/phone ownership, catalog Charles workflows, document migration priorities.
2. **Compatibility layer** – deploy Charles-style trigger, contact, and webhook compatibility endpoints with strict validation and observability.
3. **Data/control plane** – ship Supabase schemas, webhook persistency, outbound scheduler, worker queues, and template mirror jobs.
4. **Operator panorama** – release the inbox, templates, campaigns, and journey dashboards with Supabase Broadcast updates.
5. **Integrations + analytics** – wire Twenty CRM syncs, reporting dashboards, and release open-source docs.
6. **Cutover** – run limited tenants, shadow events, and decommission Charles-stubbing once parity is confirmed.

## Guardrails

* Preserve raw webhook IDs for auditing.
* Provide rollback toggles per tenant.
* Keep baseline scaffold/UI flags additive, but treat migration and runtime flags as explicit rollout controls rather than blanket default-on switches.
* Document any adversarial findings in [Adversarial Review](/operations/adversarial-review).

## Read next

* [Operations Runbook](/operations/runbook)
* [Internal API Spec](/api-reference/introduction)
