WhatsApp Business API
Complete WhatsApp Business Cloud API for messages, templates, media, webhooks, flows, and business profiles.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/ivangdavila/whatsapp-business-apiWhatsApp Business API
Official Meta Cloud API integration. See auxiliary files for detailed operations.
Quick Start
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!"}}'
Setup
On first use, read setup.md. Preferences stored in ~/whatsapp-business-api/memory.md.
When to Use
Any WhatsApp Business operation: send messages, templates, media, interactive elements, manage webhooks, handle conversations, update business profiles.
Architecture
~/whatsapp-business-api/
├── memory.md # Account context + phone numbers
├── templates.md # Approved templates reference
└── webhooks.md # Webhook configurations
Quick Reference
| 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 |
Core Rules
- International format — Phone numbers without
+or leading zeros:1234567890 - 24-hour window — Free replies within 24h of customer message; templates required to initiate
- Template approval — Templates need Meta approval (24-48h); test in sandbox first
- Idempotency — Use
biz_opaque_callback_datato track message state - Webhook verification — Always verify webhook signature with app secret
- Rate limits — 80 messages/second per phone number; 1000 template messages/day (tier 1)
- Media limits — Images <5MB, videos <16MB, documents <100MB
Authentication
Required 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 verification
curl "https://graph.facebook.com/v21.0/$WHATSAPP_PHONE_NUMBER_ID" \
-H "Authorization: Bearer $WHATSAPP_ACCESS_TOKEN"
Token Types
| Type | Duration | Use Case |
|---|---|---|
| System User Token | Permanent | Production apps |
| User Token | 60 days | Development, testing |
| Temporary Token | 24 hours | Quick tests |
Common Traps
- Phone format with
+or00→ API rejects - Missing
messaging_product: "whatsapp"→ 400 error - Template not approved → message fails silently
- Webhook signature not verified → security vulnerability
- Sending outside 24h window without template → blocked
External Endpoints
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-ivangdavila-whatsapp-business-api": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
Arduino
Develop Arduino projects avoiding common wiring, power, and code pitfalls.
Bulgarian
Write Bulgarian that sounds human. Not formal, not robotic, not AI-generated.
Arabic
Write Arabic that sounds human. Not formal, not robotic, not AI-generated.
Assistant
Manage tasks, communications, and scheduling with proactive and organized support.
Alerts
Smart alerting patterns for AI agents - deduplication, routing, escalation, and fatigue prevention