name: add-whatsapp-cloud description: Add WhatsApp Business Cloud API channel via Chat SDK. Official Meta API.
Add WhatsApp Cloud API Channel
Connect NanoClaw to WhatsApp via the official Meta WhatsApp Business Cloud API.
Install
NanoClaw doesn't ship channels in trunk. This skill copies the WhatsApp Cloud adapter in from the channels branch.
Pre-flight (idempotent)
Skip to Credentials if all of these are already in place:
src/channels/whatsapp-cloud.tsexistssrc/channels/index.tscontainsimport './whatsapp-cloud.js';@chat-adapter/whatsappis listed inpackage.jsondependencies
Otherwise continue. Every step below is safe to re-run.
1. Fetch the channels branch
git fetch origin channels
2. Copy the adapter
git show origin/channels:src/channels/whatsapp-cloud.ts > src/channels/whatsapp-cloud.ts
3. Append the self-registration import
Append to src/channels/index.ts (skip if the line is already present):
import './whatsapp-cloud.js';
4. Install the adapter package (pinned)
pnpm install @chat-adapter/whatsapp@4.26.0
5. Build
pnpm run build
Credentials
- Go to Meta for Developers and create an app (type: Business).
- Add the WhatsApp product.
- Go to WhatsApp > API Setup:
- Note the Phone Number ID (not the phone number itself).
- Generate a permanent System User access token with
whatsapp_business_messagingpermission.
- Go to WhatsApp > Configuration:
- Set webhook URL:
https://your-domain/webhook/whatsapp. - Set a Verify Token (any random string you choose).
- Subscribe to webhook fields:
messages.
- Set webhook URL:
- Copy the App Secret from Settings > Basic.
Configure environment
Add to .env:
WHATSAPP_ACCESS_TOKEN=your-system-user-access-token
WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id
WHATSAPP_APP_SECRET=your-app-secret
WHATSAPP_VERIFY_TOKEN=your-verify-token
Sync to container: mkdir -p data/env && cp .env data/env/env
Next Steps
If you're in the middle of /setup, return to the setup flow now.
Otherwise, run /manage-channels to wire this channel to an agent group.
Channel Info
- type:
whatsapp-cloud - terminology: WhatsApp Cloud API supports 1:1 conversations only (no group chats). Each conversation is with a phone number.
- how-to-find-id: The platform ID is the Phone Number ID from the Meta Business dashboard (not the phone number itself). Find it under WhatsApp > API Setup.
- supports-threads: no
- typical-use: Interactive 1:1 chat -- direct messages only
- default-isolation: Same agent group if you're the only person messaging the bot. Each additional person who messages gets their own conversation automatically, but they share the agent's workspace and memory -- use a separate agent group if you need information isolation between different contacts.