# Migrating from Plivo or WATI

> Move your numbers, templates and integration from another WhatsApp provider onto WhaBuzz.

Canonical: https://docs.whabuzz.com/guides/migrating/

WhaBuzz speaks Meta's Cloud API. If your current provider (Plivo, WATI, or any BSP) wraps that API in its own format, migration is mostly **changing what you send**, not **where your customers' conversations live**.

## What carries over {#carries}

- **Your WhatsApp Business Account and its numbers**, if the account is yours. WhaBuzz connects to the WABA, not to a provider.
- **Approved templates**, by name and language. [Sync](https://docs.whabuzz.com/guides/templates.md#sync) imports them after you connect.
- **Quality rating, messaging tier and display name**, which belong to the number at Meta.

## What does not {#not}

- Provider-specific features: campaign builders, chatbot flows, inboxes, contact lists, opt-in tracking. WhaBuzz is an API. Keep contact and opt-out state in your own system.
- Provider message ids. Message history stays with your old provider; WhaBuzz starts its log on connection.
- Your provider's request and webhook formats. You will change both.

## Steps {#steps}

1. **Check who owns the WABA.** In Meta Business Manager, open WhatsApp accounts. If the WABA belongs to your business, you can connect it yourself. If it is owned by the provider, ask them to transfer it to your business, or migrate the number to a WABA you own using Meta's number migration.
2. **Connect it.** Use [Embedded Signup](https://docs.whabuzz.com/guides/numbers.md#embedded-signup) in the console, or [`POST /v1/numbers/connect`](https://docs.whabuzz.com/api/numbers.md#connectExisting) with a system-user token. Moving a number from a different provider's WABA to yours is [`POST /v1/numbers/migrate`](https://docs.whabuzz.com/api/numbers.md#migrateNumber).
3. **Import templates.** [`POST /v1/templates/sync`](https://docs.whabuzz.com/api/templates.md#syncTemplates).
4. **Add a webhook endpoint** and verify it ([Webhooks](https://docs.whabuzz.com/guides/webhooks.md)). Keep your old provider's webhook receiving until you cut over.
5. **Change your send code.** Meta's body replaces your provider's. See the mapping below.
6. **Change your inbound handler.** The `data` field of a WhaBuzz event holds Meta's change value and `raw` holds Meta's full POST. If your code already parsed Meta's format, the field paths are Meta's. Add signature verification and `dedupe_key`.
7. **Cut over.** WhatsApp delivers inbound messages to one webhook subscription per app at a time. Subscribing the WABA to WhaBuzz moves inbound delivery. Do it at a quiet hour, send a test message to the number, and confirm a `message.inbound` event arrives.

Cutting a number over has a short window where inbound messages go to neither provider. Keep the old provider's account open until you have seen traffic arrive on WhaBuzz.

## Mapping a send {#mapping}

Whatever your old call looked like (provider JSON with the destination, template name and variables), the WhaBuzz equivalent is Meta's body:

```json
{
  "from": "1013622581841046",
  "to": "16505551234",
  "type": "template",
  "template": {
    "name": "renewal_reminder",
    "language": { "code": "en" },
    "components": [{ "type": "body", "parameters": [{ "type": "text", "text": "Kerry" }] }]
  }
}
```

Meta's [message reference](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages) documents every field. If your old provider flattened variables into a list, you will build `components[].parameters[]` yourself.

## Things that will differ {#differ}

- **Errors** are Meta's, not a provider's translated codes. See [Errors](https://docs.whabuzz.com/errors.md).
- **Statuses** arrive as Meta's `sent`, `delivered`, `read`, `failed`, one event each, unordered.
- **Opt-outs.** WhaBuzz does not manage opt-outs. If a customer sends "STOP", you receive it as a `message.inbound` and you decide.
- **Pricing.** You pay Meta's per-conversation or per-message rates directly to Meta; WhaBuzz charges a [flat monthly fee per number](https://docs.whabuzz.com/pricing.md).
