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

# WhatsApp Business

> Send WhatsApp messages, templates, media, and voice notes to customers through the Meta WhatsApp Cloud API.

# WhatsApp Business

> **In one line:** Connect the official Meta WhatsApp Cloud API so your UnleashX agent can send text, template, image, document, audio, and video messages to your customers on WhatsApp.

|                    |                                                                                                             |
| ------------------ | ----------------------------------------------------------------------------------------------------------- |
| **Category**       | Communication                                                                                               |
| **Authentication** | OAuth / Access Token (Meta Cloud API access token + phone number ID and WABA ID)                            |
| **Setup time**     | \~15 minutes                                                                                                |
| **Difficulty**     | Medium                                                                                                      |
| **Best for**       | Businesses sending notifications, support replies, and template campaigns to customers on WhatsApp at scale |

## 1. Overview

WhatsApp Business (via Meta's WhatsApp Cloud API) is the official way for companies to message customers on WhatsApp — sending order updates, reminders, support replies, and approved marketing templates from a verified business number.

Once connected to UnleashX, your agent can send plain text messages, pre-approved templates (with variables), images, documents, audio/voice notes, and videos, and mark inbound messages as read — all through your own WhatsApp Business number.

Connecting this to UnleashX lets your agent automate customer communication end to end: trigger a template when an event happens, reply with a document on request, or send a voice note — using the same compliant Cloud API that Meta requires for business messaging.

## 2. What you'll need

* A **Meta for Developers** account and a **Meta App** with the **WhatsApp** product added.
* A **WhatsApp Business Account (WABA)** and a registered **business phone number**.
* Three values from the Meta dashboard: an **access token**, your **Phone Number ID**, and your **WhatsApp Business Account ID (WABA ID)**.
* Approved message **templates** if you plan to send template messages (Meta must approve these in advance).

<Note>
  If you don't manage the Meta App yourself, ask whoever administers your company's Meta Business / WhatsApp setup to add you as an app admin or to share the access token, Phone Number ID, and WABA ID.
</Note>

## 3. Get your credentials

To connect, UnleashX needs three values from Meta: an **Access Token**, a **Phone Number ID**, and a **WhatsApp Business Account ID (WABA ID)**. Getting them means setting up the official **Meta WhatsApp Cloud API** — no Twilio, WATI, or AiSensy needed.

<Info>
  Already have WhatsApp Cloud API running? Skip ahead to **Step 8 — Collect your three values**. The steps below are the full setup from scratch.
</Info>

### How the pieces fit together

Each thing you create unlocks the next. This is the chain you'll build:

```text theme={null}
Facebook account → Meta Developer account → Business Portfolio →
Meta App (Business) → WhatsApp product → WhatsApp Business Account (WABA) →
Phone number → Access token → (Webhook for receiving)
```

### Set it up step by step

<Steps>
  <Step title="Create a Meta Developer account">
    Go to [Meta for Developers](https://developers.facebook.com) and log in with your Facebook account. Click **Get Started**, verify your email, turn on two-factor authentication if asked, and accept the developer terms. You now have a developer account.
  </Step>

  <Step title="Create a Meta Business Portfolio">
    Open [Meta Business Settings](https://business.facebook.com/settings) and create your business portfolio — your **business name**, **email**, **website**, and **address**. This is the entity that will own your WhatsApp Business Account, and it has its own **Business portfolio ID**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/13.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=0eb1f7fc7e319a5a0d3e5e0fc1e8a379" alt="Business portfolio info and ID in Business Settings" width="1200" height="1088" data-path="images/mcp/whatsapp-business/_view/13.jpeg" />
  </Step>

  <Step title="Verify your business (recommended)">
    In **Business Settings → Security Center**, click **Start verification** and upload your business documents (for example a registration certificate, GST certificate, or a utility bill).

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/15.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=2f6096cd5eadccec3730d358c2cdbede" alt="Start business verification in the Security Center" width="1200" height="669" data-path="images/mcp/whatsapp-business/_view/15.jpeg" />

    <Note>
      Verification isn't required to test, but it **is** required for production use and for higher messaging limits — so it's worth doing early.
    </Note>
  </Step>

  <Step title="Create a Meta App">
    Go to your [Apps dashboard](https://developers.facebook.com/apps) and click **Create App**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/01.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=1774804c8c7ff7289feb2b4fea99c2e3" alt="Create App from the Apps dashboard" width="1200" height="590" data-path="images/mcp/whatsapp-business/_view/01.jpeg" />

    Choose the **Business** app type and click **Next**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/02.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=af0e90a7c708084bb9ac5fe0a5047f88" alt="Select the Business app type" width="1200" height="923" data-path="images/mcp/whatsapp-business/_view/02.jpeg" />

    Fill in the **App name** and **contact email** (you can attach a **Business portfolio** now or later), then click **Create app**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/06.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=c9d6ed296579646fd1fe4e1ef9803a49" alt="Add app name and contact email, then create the app" width="1200" height="538" data-path="images/mcp/whatsapp-business/_view/06.jpeg" />
  </Step>

  <Step title="Add the WhatsApp product">
    Inside the app, find **Add Product**, locate **WhatsApp**, and click **Set up**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/07.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=fb9685bcaad9e8f558f3e57442ae4fdd" alt="Add the WhatsApp product to your app" width="1200" height="399" data-path="images/mcp/whatsapp-business/_view/07.jpeg" />

    Meta automatically gives you a **test** WhatsApp Business Account, a **test phone number**, and a **temporary access token** so you can try things immediately. You'll land on the WhatsApp **Quickstart** page.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/08.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=66ed2939e4f8c73bac8c7f61e91745d7" alt="WhatsApp Business Platform Quickstart" width="1200" height="567" data-path="images/mcp/whatsapp-business/_view/08.jpeg" />
  </Step>

  <Step title="Send a test message (optional)">
    Want to confirm it works before going further? Open **WhatsApp → API Setup** (or **Getting Started**). It shows a **temporary access token**, your test **Phone Number ID**, and your **WhatsApp Business Account ID**, plus a ready-made `curl` command and a **Send message** button.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/11.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=8e2b8d628c8c0e57573f53cd94f8f7ac" alt="API Setup: temporary token, test number, Phone Number ID, and WABA ID" width="1200" height="607" data-path="images/mcp/whatsapp-business/_view/11.jpeg" />

    Send the test message straight from that page, or run the command yourself — replace the three placeholders with the values shown:

    ```bash theme={null}
    curl -X POST \
      https://graph.facebook.com/v23.0/PHONE_NUMBER_ID/messages \
      -H "Authorization: Bearer ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "messaging_product": "whatsapp",
        "to": "YOUR_NUMBER",
        "type": "text",
        "text": { "body": "Hello from WhatsApp Cloud API" }
      }'
    ```
  </Step>

  <Step title="Add your real phone number">
    In **WhatsApp → API Setup**, scroll to **Add a phone number** and click **Add phone number**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/21.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=a21131a2e52cf3bf4be11463473b2a68" alt="API Setup: add a phone number and payment method" width="1200" height="638" data-path="images/mcp/whatsapp-business/_view/21.jpeg" />

    Enter your **business name**, **display name**, **category**, and the **phone number** to register, then choose a verification method.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/22.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=f70cc39f2451727030159ef04c1417d4" alt="Register and verify your WhatsApp Business number" width="1200" height="1389" data-path="images/mcp/whatsapp-business/_view/22.jpeg" />

    Meta sends a one-time code by SMS or call — enter it to verify the number.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/23.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=d8bc15bb7d1fe172450e94569c16a320" alt="Enter the verification code for your number" width="1200" height="716" data-path="images/mcp/whatsapp-business/_view/23.jpeg" />

    <Warning>
      The number must be able to receive an SMS or call, and it **cannot already be connected to another Cloud API**. A number currently on the WhatsApp Business **app** can sometimes be migrated using Meta's coexistence feature.
    </Warning>
  </Step>

  <Step title="Collect your three values">
    Once the real number is added, copy these from the **API Setup** page (and from **Business Settings → Accounts → WhatsApp Accounts**). These are exactly what UnleashX asks for:

    | Value                                      | Looks like          | Where                                                             |
    | ------------------------------------------ | ------------------- | ----------------------------------------------------------------- |
    | **Phone Number ID**                        | `123456789012345`   | API Setup page (the long number, **not** the phone number itself) |
    | **WhatsApp Business Account ID (WABA ID)** | `987654321098765`   | API Setup page / WhatsApp Accounts                                |
    | **Access Token**                           | a long token string | API Setup page (temporary) — make it permanent in the next step   |

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/24.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=34715c9f9aa11180761384d938e0a01a" alt="Phone Number ID and WhatsApp Business Account ID on the API Setup page" width="1200" height="356" data-path="images/mcp/whatsapp-business/_view/24.jpeg" />
  </Step>

  <Step title="Create a permanent access token">
    The temporary token expires in about 24 hours, so create a permanent one for production.

    **1. Add a System User.** Go to **Business Settings → Users → System Users** and click **Add**. Name it (e.g. `whatsapp-api`) with the **Admin** role.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/18.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=8378622623071516bada7f90ed710ece" alt="Add a System User in Business Settings" width="1200" height="706" data-path="images/mcp/whatsapp-business/_view/18.jpeg" />

    **2. Assign your app.** Select the system user → **Add Assets → Apps →** pick your app → enable **Manage app** (Full control). Also assign your WhatsApp account under **Accounts → WhatsApp Accounts** and allow **Manage WhatsApp Account**.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/17.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=d70328b2d1c7894a8ffd9ca03a5c1def" alt="Assign the app to the System User with Manage app access" width="1200" height="802" data-path="images/mcp/whatsapp-business/_view/17.jpeg" />

    **3. Generate the token.** Back on the system user, click **Generate New Token** and choose your app.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/19.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=c33c712e6db8d3ab4cad3eebaa3049be" alt="Generate a new token for the System User" width="1200" height="572" data-path="images/mcp/whatsapp-business/_view/19.jpeg" />

    **4. Select permissions and generate.** Choose at least:

    * `whatsapp_business_messaging`
    * `whatsapp_business_management`

          <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/20.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=44dbce850eb4b5b3a2c9a77e76a9e6ae" alt="Select WhatsApp permissions and generate the token" width="1200" height="862" data-path="images/mcp/whatsapp-business/_view/20.jpeg" />

    Click **Generate token** and **copy it immediately** — this is your production access token.

    <Warning>
      The permanent token is shown **once**. Copy it now and store it safely (treat it like a password). If you lose it, regenerate a new one.
    </Warning>
  </Step>
</Steps>

<Note>
  **About webhooks (receiving messages):** sending messages needs only the three values above. To *receive* inbound messages into a workflow, use the **Webhook** trigger in [Workflows](/mcp/workflows#webhook) — UnleashX gives you a callback URL to paste into **WhatsApp → Configuration** in Meta. You don't need to build your own server.

  Open **WhatsApp → Configuration** and click **Edit** next to the Webhook callback URL.

  <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/25.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=9566c4aa2e31ee777e1293d5bd2e2707" alt="WhatsApp Configuration: webhook callback URL and verify token" width="1200" height="599" data-path="images/mcp/whatsapp-business/_view/25.jpeg" />

  Paste the callback URL and verify token UnleashX gives you, then click **Verify and save**.

  <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/26.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=5867827489e0edf64628e73a376c1d88" alt="Edit the webhook callback URL and verify token" width="1200" height="858" data-path="images/mcp/whatsapp-business/_view/26.jpeg" />

  Finally, subscribe to the **messages** field so inbound messages are delivered to your workflow.

  <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/whatsapp-business/_view/27.jpeg?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=de42d9543cdb0cc8b1e04ef4f7da66e1" alt="Subscribe to the messages webhook field" width="1200" height="746" data-path="images/mcp/whatsapp-business/_view/27.jpeg" />
</Note>

**Credentials / scopes UnleashX needs and why:**

| Credential / scope                        | Why UnleashX needs it                                             |
| ----------------------------------------- | ----------------------------------------------------------------- |
| Access token (`access-token`)             | Authenticates every call to the WhatsApp Cloud API on your behalf |
| Phone Number ID (`phone-number-id`)       | Identifies which business number sends the message                |
| WABA ID (`waba-id`)                       | Lets UnleashX list your approved message templates                |
| `whatsapp_business_messaging` permission  | Required to send messages and media                               |
| `whatsapp_business_management` permission | Required to read your message templates                           |
| `business_management` permission          | Lets the system user manage the WhatsApp account                  |

## 4. Connect on UnleashX

<Steps>
  <Step title="Open your agent">
    Sign in at [tryunleashx.com](https://www.tryunleashx.com) and open the agent you want to connect.
  </Step>

  <Step title="Go to Data Connectors">
    Open **Data Connectors** inside the agent.
  </Step>

  <Step title="Find WhatsApp Business and Configure">
    Locate **WhatsApp Business** and click **Connect** / **Add** / **Configure**.
  </Step>

  <Step title="Paste your credentials">
    Enter your **access token**, **Phone Number ID**, and **WABA ID** from Section 3, then save.
  </Step>

  <Step title="Confirm it's connected">
    The connector shows a **Connected** badge once your credentials validate. You're ready to send.
  </Step>
</Steps>

### Use WhatsApp Business in a Workflow

Once connected, you can add **WhatsApp Business** to any automation from the **Workflows** builder. Its triggers and tools appear in the Apps panel, marked with an **MCP** badge.

<Steps>
  <Step title="Add a trigger or action node">
    Open **Workflows → New Workflow**. On the canvas, click **+ Add Trigger** (or the **+** below any node) to add a step.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/workflows/05-add-trigger.png?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=449a0c03b0c7b40e571ec02373a85259" alt="Add a trigger on the workflow canvas" width="1390" height="722" data-path="images/mcp/workflows/05-add-trigger.png" />
  </Step>

  <Step title="Pick WhatsApp Business from the Apps panel">
    In the **Paths** panel, open the **Apps** tab and select **WhatsApp Business**. Use the search box if you have many connectors.

    <img src="https://mintcdn.com/unleashx/LXZeho1M8XzFkz0k/images/mcp/workflows/06-apps-list.png?fit=max&auto=format&n=LXZeho1M8XzFkz0k&q=85&s=bbb8bb6e668c4f8e1f6fd5e4955a45f0" alt="Choose your app from the Apps list" width="2446" height="1550" data-path="images/mcp/workflows/06-apps-list.png" />
  </Step>

  <Step title="Choose a trigger or tool">
    Pick the trigger or action you want. Configure its fields — required fields are marked with a red asterisk (\*).
  </Step>

  <Step title="Add or select your account">
    Under **Selected account**, choose an already-connected account, or click **Add Account** to connect one now.
  </Step>

  <Step title="Save and test">
    Fill in the remaining fields and click **Save**. Use **Test** to verify the step, then toggle **Publish** when the workflow is ready.
  </Step>
</Steps>

<Note>
  The steps are the same for every connector. For the full workflow builder guide, see [Using MCP in Workflows](/mcp/workflows).
</Note>

## 5. Available tools

| Tool                  | What it does                                                   | Changes data? |
| --------------------- | -------------------------------------------------------------- | ------------- |
| Send Message          | Send a plain WhatsApp text message                             | ✏️ Yes        |
| List Templates        | List your approved message templates                           | No            |
| Send Template         | Send an approved template message with optional variables      | ✏️ Yes        |
| Send Image URL        | Send an image by public URL (optional caption)                 | ✏️ Yes        |
| Send Document         | Send a document by uploaded media ID                           | ✏️ Yes        |
| Send Document URL     | Send a document by public URL                                  | ✏️ Yes        |
| Send Audio            | Send an audio/voice message by media ID                        | ✏️ Yes        |
| Send Voice Message    | Download audio from a URL, upload it, and send as a voice note | ✏️ Yes        |
| Send Video            | Send a video by media ID (optional caption)                    | ✏️ Yes        |
| Mark Read             | Mark an inbound message as read                                | ✏️ Yes        |
| Get Insurance Detail  | Get car insurance quotes for a vehicle registration number     | No            |
| Zimyo Employee Detail | Look up Zimyo employee details by phone number                 | No            |

<Note>
  Get Insurance Detail and Zimyo Employee Detail are helper lookups bundled into this server for specific business workflows (insurance quoting and HR employee lookup). They don't send WhatsApp messages themselves.
</Note>

## 6. Example usage

**"Text +91 98765 43210 their order #4521 has shipped."**
Behind the scenes: Send Message (UnleashX normalizes the number and posts to the Cloud API).

**"Send the 'appointment\_reminder' template to this customer for 3 PM tomorrow."**
Behind the scenes: List Templates (confirm the template) → Send Template (with the time as a variable).

## 7. Permissions & data access

**UnleashX CAN:**

* Send text, template, image, document, audio/voice, and video messages from your business number.
* List your approved message templates.
* Mark inbound messages as read.

**UnleashX CANNOT:**

* Send free-form messages outside WhatsApp's 24-hour customer service window — those require an approved template.
* Create or approve templates (that happens in the Meta dashboard).
* Message numbers that haven't opted in, or bypass Meta's messaging policies.
* Access your Meta account settings or billing.

**How to disconnect:** In UnleashX, open **Data Connectors → WhatsApp Business → Disconnect**. To fully cut access, also revoke or regenerate the access token in **Meta → Business Settings → System Users**. Disconnecting takes effect immediately.

## 8. Troubleshooting

| Problem                           | What it means                                                  | How to fix it                                                                            |
| --------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| 401 — No access token found       | The access token is missing, malformed, or not sent            | Reconnect and re-enter a valid `access-token` (and re-check it hasn't expired)           |
| 401 — No Phone Number ID          | The `phone-number-id` is missing                               | Add your Phone Number ID from the Meta API Setup page                                    |
| Token expired (Graph API error)   | A temporary token expired (\~24h)                              | Generate a permanent System User token and reconnect                                     |
| 403 / permission error            | The token lacks `whatsapp_business_messaging` or `_management` | Add the missing permission to the System User and regenerate the token                   |
| Template not found / not approved | The template name/language is wrong or not yet approved        | Use List Templates to confirm the exact name and language; approve it in Meta if pending |

For general connector issues, see [/mcp/integrations](/mcp/integrations).

## 9. Frequently asked questions

**Do I need approved templates to message customers?**
Yes — to start a conversation or message outside the 24-hour service window, WhatsApp requires a pre-approved template. Plain text messages only work within an open customer service window.

**Why does my access token keep expiring?**
You're likely using a temporary token. Create a permanent **System User** access token in Meta Business Settings for production use.

**Is my customer message data stored by UnleashX?**
UnleashX sends messages on demand through Meta's API. Inbound webhook events may be logged for delivery and analytics; outbound message content is not retained beyond what's needed to complete the request.

**Can I use my own phone number?**
You use the business number registered to your WhatsApp Business Account in Meta. The `phone-number-id` you provide tells UnleashX which number to send from.

## 10. References

* WhatsApp Cloud API documentation: [https://developers.facebook.com/docs/whatsapp/cloud-api](https://developers.facebook.com/docs/whatsapp/cloud-api)
* Get started / API Setup: [https://developers.facebook.com/docs/whatsapp/cloud-api/get-started](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started)
* Message templates guide: [https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates](https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates)
* System User access tokens: [https://developers.facebook.com/docs/whatsapp/business-management-api/get-started](https://developers.facebook.com/docs/whatsapp/business-management-api/get-started)
