> 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 %}

## Getting Started

* [ ] The person completing Embedded Signup is an admin of the Meta Business Portfolio that holds the phone number. Only a Meta Business Portfolio admin can complete Embedded Signup. 360dialog, an integration partner or any other third party can’t complete it on the business’s behalf.
* [ ] The phone number is already registered on the WhatsApp Business Platform, either 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.

The following steps are not required:

* 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,
* planning downtime. The current provider keeps working until conversation routing is changed.

## 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.

After Embedded Signup with 360dialog is complete, Meta creates a new Messaging account for the number using 360dialog’s credit line. The existing WhatsApp Business Account (WABA) becomes the previous provider’s Messaging account and keeps the same ID. Messaging limits apply per phone number, so all providers on the number share them.

## Steps

{% stepper %}
{% step %}

#### Log in to 360dialog

Please [log in](https://app.360dialog.com/) to 360dialog account. If there is no 360dialog account yet, create one.

> When working with an integration partner, start from the integration partner’s application.
> {% endstep %}

{% step %}

#### Click **Add channel**

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

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2F4r317Cni7kuXcqaEyCJh%2Fimage.png?alt=media&amp;token=c2f2a522-2e34-4f32-a9a5-91ea9f3a63e0" alt=""><figcaption></figcaption></figure>

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

Add channel is disabled for Partner-Paid accounts. In this case, the integration partner manages WhatsApp API billing on the business’s behalf, so add the number through the integration partner’s application. If there is no integration partner, contact the 360dialog support team.
{% endhint %}
{% endstep %}

{% step %}

#### Select a pricing plan

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

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FwVBSsPrvm85ogaKCoUtZ%2Fimage.png?alt=media&amp;token=0cf0e09d-4a7e-412d-b473-a696867ad180" alt=""><figcaption></figcaption></figure>

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

{% step %}

#### Add payment method (optional step)

Clients on the direct payment model must have a valid payment method, which they can add during onboarding. \
This step is skipped for clients who don’t need it.&#x20;

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FORCe7z7oF8KYeQIo3Qh2%2Fimage.png?alt=media&amp;token=cab42c20-2411-43ef-af28-a9f5a6347be0" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Enter the phone number

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

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FHQ27QKWxjVuOOzMLNr5H%2Fimage.png?alt=media&amp;token=0a25739b-0fa7-4104-ab78-0d2e69a7c2b4" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

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

Select **Yes, Business API**. If it is unclear which option applies, see [Confirm Number details](/docs/hub/embedded-signup/confirm-number-details.md).

<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>

{% endstep %}

{% step %}

#### Launch Embedded Signup

Click the **Embedded Signup** button.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FLJI6kx2pGDaCk5Ii8Nj2%2Fimage.png?alt=media&amp;token=34d23bae-eec9-4161-87d1-9054beb8b933" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FiFZiWGMdbKcdlFAAHl5M%2Fimage.png?alt=media&amp;token=b1291ae6-8ac0-4239-96ce-7bacc86f816e" alt=""><figcaption></figcaption></figure>
{% 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**.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2F5Q8SY0bvAXpinFWpp8mH%2Fimage.png?alt=media&amp;token=7e5b2994-1632-4ee7-aed3-de6f7bd3df8c" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### The number is connected

The Embedded Signup window closes and page is 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.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FO0R6yaweJ7xCLgbSV4J2%2Fimage.png?alt=media&amp;token=18ff429d-2495-4c18-ad54-3121ff99d0ff" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## Right after signup: route conversations to 360dialog

{% hint style="danger" %}
Complete this step before testing. Until it is done, the previous provider keeps receiving customer messages, no webhooks reach 360dialog, and free-form replies sent through 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 it's needed 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.

The templates don’t need to be recreated. Ask [360dialog Support](/docs/support/get-support.md) to duplicate 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)

Both providers can remain on the number. 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.

Make sure the templates are duplicated before removing 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.
