Skip to content
Back to skills

Whatsapp Business Api

ASecurity

Complete 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
securityrustbashtestingapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill whatsapp-business-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Whatsapp Business Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Whatsapp Business Api
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-whatsapp-business-api/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-whatsapp-business-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.md4.2 KB
  • _meta.json299 B
  • best-practices.md5.9 KB
  • business.md4.8 KB
  • flows.md7.8 KB
  • media.md2.8 KB
  • memory-template.md1.5 KB
  • messages.md6.5 KB
  • setup.md1.6 KB
  • templates.md5.6 KB
  • webhooks.md5.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security โ†’

Comments

Loading commentsโ€ฆ

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.