Install
openclaw skills install whatsapp-business-apiComplete WhatsApp Business Cloud API for messages, templates, media, webhooks, flows, and business profiles.
openclaw skills install whatsapp-business-apiOfficial Meta Cloud API integration. See auxiliary files for detailed operations.
curl -X POST "https://graph.facebook.com/v21.0/$WHATSAPP_PHONE_NUMBER_ID/messages" \
-H "Authorization: Bearer $WHATSAPP_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"messaging_product":"whatsapp","to":"1234567890","type":"text","text":{"body":"Hello!"}}'
On first use, read setup.md. Preferences stored in ~/whatsapp-business-api/memory.md.
Any WhatsApp Business operation: send messages, templates, media, interactive elements, manage webhooks, handle conversations, update business profiles.
~/whatsapp-business-api/
├── memory.md # Account context + phone numbers
├── templates.md # Approved templates reference
└── webhooks.md # Webhook configurations
| Topic | File |
|---|---|
| Setup & memory | setup.md, memory-template.md |
| Messages (text, media, interactive) | messages.md |
| Templates (create, manage, send) | templates.md |
| Media (upload, download, manage) | media.md |
| Webhooks & Events | webhooks.md |
| Business Profile & Phone Numbers | business.md |
| Flows (interactive forms) | flows.md |
| Best practices & limits | best-practices.md |
+ or leading zeros: 1234567890biz_opaque_callback_data to track message stateRequired environment variables:
WHATSAPP_ACCESS_TOKEN — System User access token (permanent) or User access token (60-day)WHATSAPP_PHONE_NUMBER_ID — Your registered phone number IDWHATSAPP_BUSINESS_ACCOUNT_ID — Your WABA ID (for templates)WHATSAPP_APP_SECRET — App secret for webhook verificationcurl "https://graph.facebook.com/v21.0/$WHATSAPP_PHONE_NUMBER_ID" \
-H "Authorization: Bearer $WHATSAPP_ACCESS_TOKEN"
| Type | Duration | Use Case |
|---|---|---|
| System User Token | Permanent | Production apps |
| User Token | 60 days | Development, testing |
| Temporary Token | 24 hours | Quick tests |
+ or 00 → API rejectsmessaging_product: "whatsapp" → 400 error| Endpoint | Purpose |
|---|---|
https://graph.facebook.com/v21.0/* | Cloud API |
Environment variables used:
WHATSAPP_ACCESS_TOKEN — for API authenticationWHATSAPP_APP_SECRET — for webhook signature verificationSent to Meta: Messages, media, customer phone numbers via graph.facebook.com Stays local: Tokens (never logged), ~/whatsapp-business-api/ preferences Never: Log message content, skip webhook verification, store tokens in code
This skill sends data to Meta (facebook.com/whatsapp).
Install with clawhub install <slug> if user confirms:
api — REST API patternswebhook — Webhook handlingchat — Conversational patternsclawhub star whatsapp-business-apiclawhub sync