> For the complete documentation index, see [llms.txt](https://docs.360dialog.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.360dialog.com/docs/hub/migrations/move-a-number-to-360dialog-from-another-provider.md).

# Move a number to 360dialog from another provider

How to add 360dialog to a phone number that is already on the WhatsApp Business Platform with another provider or directly with Meta, and what to do right after.

{% hint style="info" %}
**What changed.** With Meta's new account model (rolled out to all businesses by mid-October 2026), a phone number is no longer migrated from one provider to another. Instead, the business adds 360dialog as an additional provider. The previous provider is not removed, and nothing needs to be disabled or deleted first.
{% endhint %}

## Before you start

* [ ] You are an admin of the Meta Business Portfolio that holds the phone number. Only a Business Portfolio admin can complete Embedded Signup. 360dialog, your integration partner or any other third party can't do it for you.
* [ ] The phone number is already registered on the WhatsApp Business Platform, with another provider or directly with Meta.
* [ ] The business website is live and listed in Meta Business Suite > Business Info. Meta may review it after signup.

You **don't** need to:

* delete the number from the previous provider,
* disable two-step verification (2FA),
* have a verified Business Portfolio first,
* re-register or "re-onboard" the number,
* plan downtime. Your current provider keeps working until you change conversation routing.

## How it works

Under Meta's new account model, the phone number, display name and catalogs sit in the **WhatsApp account (WAAC)**, which is shared by all providers on the number. Each provider has its own **Messaging account** (formerly WhatsApp Business Account, WABA) for the number. The Messaging account holds the templates, the payment method, the billing and the webhooks.

When you finish Embedded Signup with 360dialog, Meta creates a new Messaging account for the number with 360dialog's credit line. Your existing WABA became the previous provider's Messaging account, with the same ID. Messaging limits are per phone number, so they are shared across providers.

## Steps

{% stepper %}
{% step %}

#### Log in to 360dialog

Please [log in](https://app.360dialog.com/) to your 360dialog account. If you don't have an account, you can create one [here](https://login.360dialog.io/u/signup?state=hqFo2SBYYVpfcU1Pck1vTUFXZTQ5MGY5YlJ4YXNvaTFtVWY2V6Fur3VuaXZlcnNhbC1sb2dpbqN0aWTZIGJNMndmSnpNNEFQX3E0QXQyNUNRSVNwTmNkSXZYdEM0o2NpZNkgcUhTQ05hdkVUVW9PQk5pS3MyVjV6d1Z1cWs4OVNGN1qlb3JnaWS0b3JnX2dZSDVqa0dDVkxueGltb3Onb3JnbmFtZbtpbml0aWFsX3NpZ251cF9vcmdhbml6YXRpb24).

> If you work with an integration partner, please start from their app.
> {% endstep %}

{% step %}

#### Click **Add channel**

On the numbers page, click **Add channel**.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252FeNHnaXSG2PoU7yT8ExMl%252Fimage.png%3Falt%3Dmedia%26token%3D9887c071-5bc0-4536-82f9-3f7678365bc4&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=9427a24e&#x26;sv=2" alt="" height="179" width="702">

{% hint style="warning" %}
**Add channel disabled**

The **Add channel** button is disabled for **Partner-Paid** accounts. If this button is disabled, your partner manages WhatsApp API billing on your behalf. In this case, add the number through your integration partner's application. If you do not have an integration partner, please contact our support team for assistance.
{% endhint %}
{% endstep %}

{% step %}

#### Select a pricing plan

Select the desired pricing plan and click **Continue**.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252FLhu3YtmMQi5wfx2LMZDT%252Fimage.png%3Falt%3Dmedia%26token%3D87e93168-fe69-499e-bd61-c9fb6e3b4434&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=8ecc752c&#x26;sv=2" alt="" height="536" width="765">

{% hint style="info" %}
Applicable for the direct-payment model. In the partner payment model, this step is skipped.
{% endhint %}
{% endstep %}

{% step %}

#### Add payment method (if applicable)

Direct payment clients need to have a valid payment method. They can create it during the onboarding. For clients for whom this step is not relevant, it is skipped (e.g. partner payment model or already created payment method).

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252F0kBGEINIBTlT9yxqbCk5%252Fimage.png%3Falt%3Dmedia%26token%3Db70d4c3a-0d0d-4768-b7b2-0345d5d5b80c&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=2bc44612&#x26;sv=2" alt="" height="914" width="1738">
{% endstep %}

{% step %}

#### Enter the phone number

Enter the phone number and click **Next**.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252F53uAk1VfRiucRWheV233%252Fimage.png%3Falt%3Dmedia%26token%3D722fa2e8-df42-43c1-83a5-5ce8d306109d&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=1a740ef6&#x26;sv=2" alt="" height="902" width="740">
{% endstep %}

{% step %}

#### Confirm the number is on the WhatsApp Business API

Select **Yes, Business API**. See [Confirm Number details](/docs/hub/embedded-signup/confirm-number-details.md) if you are not sure which option applies.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FCNzVuWPSzUs4Y3zlyWI9%2Fimage.png?alt=media&amp;token=c205942d-4850-4af2-b725-53cb1c362524" alt=""><figcaption></figcaption></figure>

\
In case "Verify your number" step appears, choose SMS or a Voice call.&#x20;
{% endstep %}

{% step %}

#### Launch Embedded Signup

Click the **Embedded Signup** button.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252FLJo8xtDCtoolWKVs0IBg%252Fimage.png%3Falt%3Dmedia%26token%3D9580cf8b-ebc0-49f9-b077-e8e904e4727e&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=98fdae7d&#x26;sv=2" alt="" height="895" width="718">

Review and accept the terms provided by Meta by clicking **Continue**.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252FIb9EfsX6lZvGKiKT1LKd%252Fimage.png%3Falt%3Dmedia%26token%3D818fd517-263e-4e53-9f4f-dae933fdf7b6&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=c576d800&#x26;sv=2" alt="" height="810" width="668">
{% endstep %}

{% step %}

#### Select the existing phone number

On the first Meta screen, select the phone number from the dropdown. It is listed under the business phone numbers already associated with your business. Don't enter it as a new number.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2Ffk4JbJaFTyXAsC7wgAgu%2Fimage.png?alt=media&amp;token=409e1783-d8d0-4fa0-b254-ff6ee3da03f6" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Business Portfolio and WhatsApp account are pre-selected

The **Business Portfolio** and **WhatsApp account** fields are greyed out. This is expected: Meta pre-selects the portfolio and the WhatsApp account that already hold the number. Click **Continue**.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FqZvvv0GUDsOohpZb8qwG%2Fimage.png?alt=media&amp;token=d3d4e44a-3130-4bc8-b339-f7cc3589bcb1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Verify the number (if asked)

You normally don't need to re-verify a number that is already on the platform. If Meta asks for a code, choose **SMS** or **voice call** and enter the 6-digit code.
{% endstep %}

{% step %}

#### Review and confirm

Check what you share with 360dialog and click **Confirm**. Wait while Meta connects the account, then click **Finish**.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252F1yi09YAwhnrau0iXErai%252Fimage.png%3Falt%3Dmedia%26token%3D766b75ac-e4ec-433b-9ac1-0fa9421d0982&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=83795d43&#x26;sv=2" alt="" height="817" width="690">
{% endstep %}

{% step %}

#### The number is connected

The Embedded Signup window closes and you are redirected back to the 360dialog Hub or to the partner application. The channel appears as **Ready** or **Live**, but it does not receive messages yet. Do the next section now.

<img src="https://docs.360dialog.com/docs/~gitbook/image?url=https%3A%2F%2F3527970750-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M4sMxKjL6eJRvZn6jeG-887967055%252Fuploads%252FiSOTQYaNrM7aXawc4noG%252Fimage.png%3Falt%3Dmedia%26token%3D9227f215-a948-44c3-a059-b4eed0da33dc&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=802fa2a9&#x26;sv=2" alt="" height="903" width="735">
{% endstep %}
{% endstepper %}

## Right after signup: route conversations to 360dialog

{% hint style="danger" %}
Do this before you test. Until you do, the previous provider keeps receiving your customers' messages, no webhooks reach 360dialog, and free-form replies from 360dialog fail with error 131070.
{% endhint %}

Meta keeps the existing conversation routing when a provider is added. In **Meta Business Suite** > **Business settings** > **WhatsApp accounts**, select the account, open **Conversation routing**, select **360dialog** in every dropdown and click **Apply**. Only a Business Portfolio admin can do this.

Full steps: [Channel is Ready but no inbound messages or webhooks arrive (error 131070)](/docs/guides/messages-not-arriving-after-onboarding.md).

Skip this only if you want to keep messaging through the other provider and use 360dialog for measurement. See [Measurement only](/docs/guides/messages-not-arriving-after-onboarding.md#measurement-only-keep-the-other-provider-and-give-360dialog-conversation-visibility).

## Templates

Templates belong to a Messaging account. They are not carried over to the new Messaging account; they stay with the previous provider. The template list in the 360dialog Hub is empty after signup, and Synchronise templates with Meta doesn't bring them in.

You don't need to recreate them. Ask [360dialog Support](/docs/support/get-support.md) to duplicate your templates from the previous Messaging account. Tell Support the source Messaging account ID and the destination Messaging account ID.

Meta reference: [Template migration](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-migration).

## Remove the previous provider (optional)

You can keep both providers on the number. If you want to remove the previous one, do it in **Meta Business Suite** > **Business settings** > **WhatsApp accounts** > select the account > **Partners**. Removing a provider resets conversation routing to the remaining provider.

Have your templates duplicated before you remove the previous provider.

## Troubleshooting

<details>

<summary>The channel is Ready or Live, but no inbound messages or webhooks arrive</summary>

Conversation routing still points to the previous provider. See [Channel is Ready but no inbound messages or webhooks arrive (error 131070)](/docs/guides/messages-not-arriving-after-onboarding.md).

</details>

<details>

<summary>Sending fails with error 131070: another app is controlling this thread</summary>

Same cause and same fix. Templates still send; free-form replies fail until routing points to 360dialog. See [Channel is Ready but no inbound messages or webhooks arrive (error 131070)](/docs/guides/messages-not-arriving-after-onboarding.md).

</details>

<details>

<summary>This number is registered to an existing WhatsApp Account.</summary>

The number is registered with the standard WhatsApp consumer app (WhatsApp Messenger), not with the WhatsApp Business Platform, so it is not on another provider.

Solution: open WhatsApp Messenger on the phone and [delete the associated account](https://faq.whatsapp.com/2138577903196467/?cms_platform=android). Then register the number as a new number.

<div align="left"><figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FGxOMGjl0tXRsAIV5BFLi%2Fimage%20(9).png?alt=media&amp;token=d5940cd7-6df8-41e3-a369-3f03ff2d0717" alt="" width="548"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>"This phone number is eligible to be added directly, and does not need to be migrated. Please go to the 360Dialog Client Hub and add it as a new number"</summary>

The number is not on the WhatsApp Business Platform yet. Start again and select **No, it's not connected**.

</details>

<details>

<summary>"The phone number you are trying to port has already been moved to your destination WhatsApp Account. Please log in to the 360dialog Client Hub to continue."</summary>

The number is already available in 360dialog.

</details>

<details>

<summary>"Something went wrong when trying to migrate your phone number. Please try again after some time. If that does not work, please contact our support via the 360Dialog Client Hub."</summary>

An unexpected error occurred. Contact our support team so we can investigate.

</details>

## FAQ

<details>

<summary>Can my number be with 360dialog and another provider at the same time?</summary>

Yes. Each provider has its own Messaging account on the number, with its own templates, payment method and billing. Messaging limits are per phone number and shared across providers. 360dialog only receives your customers' messages if conversation routing points to 360dialog.

</details>

<details>

<summary>Is my account on the new model?</summary>

Meta moved all businesses to the new account model by mid-October 2026. In Meta Business Suite > Business settings you see both **WhatsApp accounts** and **Messaging accounts**.

</details>

<details>

<summary>Do I need to disable two-step verification (2FA), delete the number or receive an OTP?</summary>

No. You don't disable 2FA and you don't delete the number from your current provider. You normally don't need to re-verify the number; if Meta asks for a code, enter it.

</details>

<details>

<summary>Does my Business Portfolio need to be verified first?</summary>

No. [Business verification](/docs/resources/meta-business-verification.md) is still recommended for messaging limits and display name approval, but it is not required to add 360dialog to the number.

</details>

<details>

<summary>Onboarding created a new Messaging account. Where are my templates?</summary>

Templates belong to a Messaging account and don't move automatically. Contact [360dialog Support](/docs/support/get-support.md) to have them duplicated from your previous Messaging account. See [Templates](#templates).

</details>

<details>

<summary>The Business Portfolio and WhatsApp account fields are greyed out in Embedded Signup. Is that a problem?</summary>

No. Meta pre-selects the portfolio and account that already hold the number. Continue.

</details>

<details>

<summary>Who pays for messages after I add 360dialog?</summary>

Each Messaging account has its own payment method. 360dialog's Messaging account uses 360dialog's credit line, and you are invoiced by 360dialog as usual. If Meta bills your own card for messages sent through 360dialog, contact Support.

</details>

<details>

<summary>How can I check if my number can receive a PIN via SMS or voice call?</summary>

Try to call it from an international number and/or send an SMS to it. If you are not able to receive the call/SMS, you may have trouble verifying the phone number if Meta asks for a code. Reach out to your phone number provider to get help.

</details>

<details>

<summary>How do I move a Coexistence (WhatsApp Business app) number from another provider?</summary>

Coexistence numbers follow a different process. See [Move a COEX number to 360dialog](/docs/hub/migrations/move-a-coex-number-to-360dialog.md).

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.360dialog.com/docs/hub/migrations/move-a-number-to-360dialog-from-another-provider.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
