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

# WhatsApp Business Cloud

> Send messages and manage media through the WhatsApp Business Cloud API

# WhatsApp Business Cloud

The **WhatsApp Business Cloud** node lets you send text, contacts, locations, templates, and media through the Meta WhatsApp Business Cloud API.

<img src="https://mintcdn.com/subverse-611dde60/UZLalX8VX2i72yfQ/images/agentverse/whatsapp-action-node.png?fit=max&auto=format&n=UZLalX8VX2i72yfQ&q=85&s=be93f265473cd1161f2f8caf5cd46f29" alt="WhatsApp Business Cloud Node" width="804" height="1356" data-path="images/agentverse/whatsapp-action-node.png" />

***

## Credentials

This node requires a **[WhatsApp API](/credentials/types/whatsapp-api)** credential.

To create a credential:

1. Go to **Settings → Credentials → New Credential**
2. Select **WhatsApp API**
3. Enter your Meta **Access Token** and **Business Account ID**

***

## Resources and Operations

### Message

| Operation                    | Description                                                                                 |
| ---------------------------- | ------------------------------------------------------------------------------------------- |
| `Send`                       | Send a text, contact, location, audio, document, image, or video message                    |
| `Send and Wait for Response` | Send a message and pause the orchestration until the recipient responds or the wait expires |
| `Send Template`              | Send a template approved in your Meta Business account                                      |

### Media

| Operation  | Description                                            |
| ---------- | ------------------------------------------------------ |
| `Upload`   | Upload a file to Meta and return its WhatsApp media ID |
| `Download` | Retrieve media information by WhatsApp media ID        |
| `Delete`   | Delete media by WhatsApp media ID                      |

***

## Common Message Parameters

| Parameter                       | Type       | Required   | Description                                                                    |
| ------------------------------- | ---------- | ---------- | ------------------------------------------------------------------------------ |
| **Credential**                  | Credential | Yes        | Select or create a [WhatsApp API](/credentials/types/whatsapp-api) credential  |
| **Sender Phone Number (or ID)** | Select     | Yes        | Sender number loaded from the credential's Business Account ID                 |
| **Recipient's Phone Number**    | String     | Yes        | Recipient phone number including the country code, for example `+919876543210` |
| **Message Type**                | Select     | For `Send` | `Audio`, `Contacts`, `Document`, `Image`, `Location`, `Text`, or `Video`       |

## Send Media in a Message

For `Audio`, `Document`, `Image`, and `Video` messages, choose where the media comes from:

| Source             | Description                                                                                                          |
| ------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Link**           | Provide a URL that WhatsApp can download                                                                             |
| **WhatsApp Media** | Provide the ID of media already uploaded to Meta                                                                     |
| **Upload File**    | Drag and drop or select a local file. SubverseAI uploads the file and resolves its temporary signed URL when sending |

Documents can include a filename. Images, videos, and documents can include a caption.

## Send Template Parameters

| Parameter      | Type       | Required | Description                                                                                             |
| -------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------- |
| **Template**   | Select     | Yes      | Approved template loaded from the connected WhatsApp Business account                                   |
| **Components** | Collection | No       | Dynamic `header`, `body`, and `button` values. Button components support a subtype and zero-based index |

## Media Resource Parameters

| Operation  | Parameter                       | Required | Description                                    |
| ---------- | ------------------------------- | -------- | ---------------------------------------------- |
| `Upload`   | **Sender Phone Number (or ID)** | Yes      | Phone number under which Meta stores the media |
| `Upload`   | **Upload File**                 | Yes      | Drag and drop or select the file to upload     |
| `Upload`   | **Filename**                    | No       | Optional name to use for the uploaded file     |
| `Download` | **Media ID**                    | Yes      | ID of the media to retrieve                    |
| `Delete`   | **Media ID**                    | Yes      | ID of the media to delete                      |

***

## Output Data

A successful send operation returns:

```json theme={null}
{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "+919876543210",
      "wa_id": "919876543210"
    }
  ],
  "messages": [
    {
      "id": "wamid.XXXXXXXXXXXX"
    }
  ]
}
```

Reference in downstream nodes:

```
{{ whatsapp.messages[0].id }}
{{ whatsapp.contacts[0].wa_id }}
```

***

## Related Nodes

* [WhatsApp Trigger](./whatsapp-trigger.md) — Trigger on incoming WhatsApp messages
* [SubVerse Agents](./subverse-agents.md) — Delegate WhatsApp conversations to a SubVerse AI agent
