Migrating from Twilio WhatsApp to an Instance You Own

Twilio is a capable WhatsApp provider and a legitimate place to start. Teams usually leave for structural reasons rather than product ones — they want the WhatsApp Business Account registered to their own business, the data in one EU region, and conversation costs without a per-message platform fee on top. If that is the decision you have made, the move is a contract change with a scheduled cut-over, not a data-recovery project.

This is the Twilio-specific version of the general WhatsApp number migration guide. For the reasoning behind the move rather than the mechanics, see WhatsApp Business API vs Twilio.

What is Twilio-specific about this migration

  • The sender sits inside Twilio's platform relationship. Your WhatsApp sender is registered through Twilio as the Business Solution Provider and lives in a Twilio subaccount and Messaging Service. Migrating means re-registering the same number through the destination provider, with the WhatsApp Business Account ending up in your own name.
  • History and opt-outs need an explicit export. Message records are retrievable through Twilio's Messages API while the account is open. Opt-out state is often the piece held only on the Twilio side, so reconcile it deliberately.
  • Templates are re-submitted, not transferred. Approval is per WhatsApp Business Account everywhere, so this is not a Twilio quirk — but it is the step that sets your timeline.
  • Integrations point at Twilio's API. Anything in your stack calling Twilio for sends, or receiving Twilio webhooks, has to be repointed as part of the cut-over.

Step by step

  1. 1. Inventory what actually lives in Twilio

    List the sender numbers, the WhatsApp Business Account they sit under, every approved template, the Messaging Services and webhooks pointing at your backend, and any contact or opt-out state held only in Twilio. Most teams find the number and templates are the easy part and the opt-out list is the one nobody wrote down.

  2. 2. Pre-approve your templates on the destination

    Templates are approved against a WhatsApp Business Account, so they do not travel with the number. Re-submit the templates you genuinely use on the destination side and wait for approval before scheduling anything. This is the only step with unpredictable timing, so it goes first.

  3. 3. Export contacts, opt-outs and message history from Twilio

    Pull message history through Twilio's Messages API and export your contact and opt-out records while the account is still open. Do this before you cancel anything — once the account is closed, retrieving history stops being a support ticket and starts being impossible.

  4. 4. Import and reconcile consent in the destination CDP

    Load contacts with opt-in state, source and timestamp intact, then reconcile Twilio's opt-out list against your own suppression list. Consent is a legal record: import it with its provenance rather than re-deriving it from message activity.

  5. 5. Schedule the cut-over outside peak hours

    Pick a low-traffic window, tell support, and pause outbound campaigns. Meta's verification step makes the sender briefly unavailable — typically minutes — so the aim is to make that window uneventful rather than to eliminate it.

  6. 6. Migrate the number and WhatsApp Business Account

    Trigger the migration from the destination provider and complete Meta's verification. The number itself does not change; what changes is which Business Solution Provider it is registered through, and on a dedicated instance the WhatsApp Business Account ends up registered to your business rather than sitting inside someone else's subaccount.

  7. 7. Verify inbound and outbound, then rebuild automations

    Send a template out, reply in from a real handset, confirm webhooks fire and receipts arrive. Then recreate routing rules, chatbot flows and campaign schedules on the destination, and repoint any internal systems that were calling Twilio's API. Re-enable campaigns last.

Keeping the pause small

  • Pre-approve templates days ahead of the window.
  • Export history and opt-outs before cancelling anything in Twilio.
  • Pause outbound campaigns before the window opens.
  • Keep a real handset ready to test inbound the moment the number lands.
  • Leave the Twilio account open for a short overlap period.

What changes afterwards

On a dedicated instance the WhatsApp Business Account is registered to your business, the inbox, CDP, consent ledger and audit trail live in a single-tenant EU database, and Meta's conversation rates pass through without a per-message platform markup — see the WhatsApp pricing guide for how that arithmetic works at your volume. The practical consequence is that the next time this question comes up, the automations you rebuilt during the migration are already yours.

Next step

Apply this to your own deployment

This guide describes decisions we make on live instances. Tell us your channels, systems and region and we will map it to an architecture outline, a provisioning plan and an indicative commercial model — usually within one business day.