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

# WhatsApp Channel

> Connect a WhatsApp number, check its health, manage billing, and disconnect it.

## What is this?

This is the WhatsApp view of [Channels](https://docs.xpressbot.org/workspace/channels/overview.md) — open it from the **WhatsApp** card, or go straight to `/channels?channel=whatsapp`. It's where you connect a WhatsApp Business number, see how healthy it is, see who pays Meta for its messages, change its settings, and disconnect it.

> [!NOTE]
>
> Adding a number needs the **Channels** permission and a plan that includes WhatsApp. If your plan's channel limit is reached, **Add new WhatsApp account** is disabled and its tooltip says to upgrade.

## What can I do here?

* Connect a number — your own Meta app, one-click sign-up, or the platform's credit line
* See the number's **health**, messaging limit and billing type at a glance
* Update the business profile, username, verification, display name and phone registration
* Set up calling, check subscribed apps, and set max-price visibility
* Retry or convert a credit line, or change the billing currency
* Disconnect the number without deleting the channel

## How to use it

### Basic use — connect your first number

1. Open **Channels → WhatsApp** and click **Add new WhatsApp account**. (If the active channel has no number yet, the card also offers **Add WhatsApp to this channel**.) The counter beside it (for example `1/3`) is how many channels your plan allows.

2. In **Choose Integration Method**, pick one of the options your platform offers:

   | Option | What it does |
   | - | - |
   | **Direct Cloud API** (bring your own app) | You add your own Meta app details and keep full control of your WhatsApp Business Account, number and billing in your own Meta Business Manager. The channel is billed **Direct (pay Meta)** |
   | **Tech Provider / Partner** (recommended, no markup) | One-click **Embedded Signup** with Meta — it sets up your account, number and webhooks for you. You add credits in WhatsApp Manager, so it's billed **Direct (pay Meta)** |
   | **Solution Partner** (credit line + wallet) | The platform manages the account's credit line and you recharge your wallet — no Meta billing setup. It's billed **Credit Line (through wallet)** |

3. Finish the Meta sign-up (Tech Provider / Partner and Solution Partner), or for **Direct Cloud API** fill in **Add New WhatsApp Channel**: **Phone Number**, **Phone Number ID** (Meta Business Suite → WhatsApp), **WhatsApp Business Account ID (WABA)**, **Access Token** (a permanent token from Meta — required), and optionally **Business Manager ID**. Click **Create Channel**.

You only see the options your platform administrator has switched on. If **Solution Partner** is missing, credit line isn't enabled for your platform; if none are shown, contact your administrator — see WhatsApp OAuth.

### What the number's card shows

Once connected, the card shows:

* The channel **name**, with pills — **Active** (it's the active channel), **Meta standby** (a [Meta Business Agent](https://docs.xpressbot.org/workspace/whatsapp/meta-business-agent/overview.md) is answering new conversations), and **MM Lite** (Marketing Messages Lite is available).
* The **phone number** and, when Meta provided it, the **display name**.
* A **messaging limit** pill (for example *1,000 customers / 24h*), the account **currency**, and the **billing type** with — for credit line numbers — the credit line status.
* The **WhatsApp Health** panel (below).

### The action buttons

A row of icon buttons sits on the card:

| Button | What it does |
| - | - |
| **Business Info** | Update your WhatsApp business profile — profile picture, description, address, email, websites and business vertical (category) |
| **Business Username** | Request or delete a business username (for example `your.brand_name`) and see its current status |
| **Business Verification** | Submit business documents (up to 3 files) for Meta's verification and see the latest submission and any rejection reasons |
| **Register Phone** | Register the number with WhatsApp using a 6-digit two-step verification PIN |
| **Display Name** | Submit a new display name (up to 139 characters). WhatsApp reviews it — typically about 14 days |
| **Meta Business Agent** | Open the [Meta Business Agent](https://docs.xpressbot.org/workspace/whatsapp/meta-business-agent/overview.md) page for this number |
| **Open in Business Manager** / **Open Billing in Business Manager** | Open the account or its billing page in Meta |
| **Settings** | Open **Edit WhatsApp Channel** to change the connection details, then **Update Channel** |

In **Settings**, a saved **Access Token** is never shown — leave the field blank to keep it, or paste a new one to replace it. Numbers connected through Embedded Signup have no Access Token field, because Meta supplies the token.

The **More actions** menu (three dots) holds:

| Item | What it does |
| - | - |
| **Call Settings** | Turn on **Enable Calling**, set callback permission, call-icon visibility, call hours, and call recording and transcription — see [Calls](https://docs.xpressbot.org/workspace/whatsapp/calls.md) |
| **Apps** | See the **Subscribed Apps** receiving this account's WhatsApp events |
| **Max Price Visibility** | Choose whether Meta's max-price template experience shows in WhatsApp Manager |
| **Change Billing Currency** | Move to a new billing currency (**Direct** numbers only — not shown for credit line) |
| **Disconnect WhatsApp** | Disconnect the number — see below |

Below the card, **Webhook Configuration** shows the webhook URL and verify token, lets you save the app secret, and lists your channel and global webhooks with **Configure Webhook** and **Test**.

### WhatsApp Health

The health panel checks your number, WhatsApp account and business and says **Everything is working**, or lists **Problems that may block your messages** and items that **Need attention**. It shows message quality, the customers you can message per 24 hours, display-name review, sending speed, payment method, Meta Business Agent and business verification, with copy buttons for the Phone Number ID and Business Manager ID. Each problem has a fix link. Click the refresh icon to check again; **Last checked** shows when it last ran.

### How the channel is billed

The billing pill on the card says who pays Meta for your messages:

| Billing type | Meaning |
| - | - |
| **Direct (pay Meta)** | Meta bills you on your own payment method at Meta's rates. You can use **Change Billing Currency** |
| **Credit Line (through wallet)** | Messages are charged to your wallet — Meta's rate plus the platform's markup. You can't change the billing currency yourself |

For a credit line number, a second pill shows the **credit line status**:

| Status | Meaning |
| - | - |
| **Attached** | Active. You can send as long as your wallet has balance |
| **Pending** | The platform is still attaching it. A **Retry** button is available |
| **Failed** | The attach didn't work. **Retry** and **Convert to direct billing** appear |
| **Removed** | The credit line was removed from this number |
| **Not attached** | None attached yet. A **Retry** button appears |

> [!WARNING]
>
> Sending is blocked on a credit line number until its status is **Attached** — campaigns can't be created and messages don't go out. If it's **Pending**, **Failed** or **Not attached**, click **Retry**. You'll see *Credit line attached* when it works, or *Credit line attach failed* with the reason.

If the credit line is **Failed**, you can click **Convert to direct billing**. The number stops using the credit line, nothing is charged to your wallet, and you pay Meta directly from then on. You're asked to confirm, and it **can't be undone from here**.

### Disconnect a number

1. Open **More actions** on the number's card and click **Disconnect WhatsApp**.
2. Confirm with **Yes, disconnect**.

Your number and access details are removed and you can no longer send or receive WhatsApp messages on this channel. **Your chats and contacts stay.** You'll see *WhatsApp disconnected — your chats and contacts were kept.* Reconnecting brings them back. To remove the whole channel, use **Delete Channel** instead ([Channels](https://docs.xpressbot.org/workspace/channels/overview.md#delete-a-channel)).

### Why Disconnect is greyed out (credit line)

**Disconnect WhatsApp** is disabled — and **Delete Channel** too — while the number is on **Credit Line (through wallet)** billing **and** its credit line is **Attached** or **Pending**. Hover over it to see *This number is on credit line billing and can't be disconnected or deleted.* The platform keeps the credit line tied to the number so billing isn't broken.

| Billing type | Credit line status | Disconnect / Delete Channel |
| - | - | - |
| Direct (pay Meta) | — | Available |
| Credit Line | **Attached** | **Disabled** |
| Credit Line | **Pending** | **Disabled** |
| Credit Line | **Failed**, **Removed** or **Not attached** | Available |

To disconnect a locked number, wait until it is no longer **Pending**. If the credit line **Failed**, you can disconnect it as is, or use **Convert to direct billing** to keep the number and pay Meta directly. If it is **Attached**, ask your platform administrator how credit lines are removed on your platform.

## Troubleshooting / Technical Notes

* **Disconnect WhatsApp is greyed out.** The number is on credit line billing with an **Attached** or **Pending** credit line — see above.
* **Add new WhatsApp account is disabled.** You reached your plan's channel limit, or your plan doesn't include WhatsApp. The tooltip says which.
* **Health shows problems.** Open the fix link next to each problem. A missing payment method or an unaccepted Meta term is the most common cause.
* **Messages aren't going out on a credit line number.** Check the status is **Attached** and your wallet has balance — see [Transactions](https://docs.xpressbot.org/workspace/transactions.md).
* **I can't see Change Billing Currency.** It's only for **Direct (pay Meta)** numbers.
* **The Access Token field is blank.** That's intentional — saved tokens are never shown. Leave it blank to keep the current one.

## Related docs

* [Channels](https://docs.xpressbot.org/workspace/channels/overview.md)
* [Calls](https://docs.xpressbot.org/workspace/whatsapp/calls.md)
* [Meta Business Agent](https://docs.xpressbot.org/workspace/whatsapp/meta-business-agent/overview.md)
* [Campaigns](https://docs.xpressbot.org/workspace/whatsapp/campaigns.md)
* [Transactions](https://docs.xpressbot.org/workspace/transactions.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.