Back to skills
SKILL.md
Whatsapp Business Api
ASecurityComplete WhatsApp Business Cloud API for messages, templates, media, webhooks, flows, and business profiles.
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added November 11, 2026
Works with
Security analysis
100/100Pro scans all 11 files and shows the line behind each finding
npx -y skills add johnalbertini14-glitch/openclaw-skills --skill whatsapp-business-api --agent claude-codeAre you the author of Whatsapp Business Api?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-whatsapp-business-api)---
name: WhatsApp Business API
slug: whatsapp-business-api
version: 1.0.0
homepage: https://clawic.com/skills/whatsapp-business-api
description: Complete WhatsApp Business Cloud API for messages, templates, media, webhooks, flows, and business profiles.
changelog: Initial release with full Cloud API coverage.
metadata: {"clawdbot":{"emoji":"๐ฌ","requires":{"env":["WHATSAPP_ACCESS_TOKEN","WHATSAPP_PHONE_NUMBER_ID"]},"primaryEnv":"WHATSAPP_ACCESS_TOKEN","os":["linux","darwin","win32"]}}
---
# WhatsApp Business API
Official Meta Cloud API integration. See auxiliary files for detailed operations.
## Quick Start
```bash
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
1. **International format** โ Phone numbers without `+` or leading zeros: `1234567890`
2. **24-hour window** โ Free replies within 24h of customer message; templates required to initiate
3. **Template approval** โ Templates need Meta approval (24-48h); test in sandbox first
4. **Idempotency** โ Use `biz_opaque_callback_data` to track message state
5. **Webhook verification** โ Always verify webhook signature with app secret
6. **Rate limits** โ 80 messages/second per phone number; 1000 template messages/day (tier 1)
7. **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 ID
- `WHATSAPP_BUSINESS_ACCOUNT_ID` โ Your WABA ID (for templates)
- `WHATSAPP_APP_SECRET` โ App secret for webhook verification
```bash
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 `+` or `00` โ 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
| Endpoint | Purpose |
|----------|---------|
| `https://graph.facebook.com/v21.0/*` | Cloud API |
## Security & Privacy
**Environment variables used:**
- `WHATSAPP_ACCESS_TOKEN` โ for API authentication
- `WHATSAPP_APP_SECRET` โ for webhook signature verification
**Sent 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
## Trust
This skill sends data to Meta (facebook.com/whatsapp).
## Related Skills
Install with `clawhub install <slug>` if user confirms:
- `api` โ REST API patterns
- `webhook` โ Webhook handling
- `chat` โ Conversational patterns
## Feedback
- If useful: `clawhub star whatsapp-business-api`
- Stay updated: `clawhub sync`
Files in this skill
- SKILL.md
- _meta.json
- best-practices.md
- business.md
- flows.md
- media.md
- memory-template.md
- messages.md
- setup.md
- templates.md
- webhooks.md
Attribution
Related skills
View all in security โComments
Loading commentsโฆ
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.