Renamed 13 skill folders to drop the -v2 suffix (the v2/v1 distinction isn't load-bearing anymore — there is no v1 runtime). Deleted the four v1 channel skills that occupied the rename target paths (add-discord, add-slack, add-telegram, add-whatsapp); they targeted src/v1 which is reference-only per CLAUDE.md. Skill content still says "v2" in places — that's a follow-up commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| add-whatsapp-cloud-v2 | Add WhatsApp Business Cloud API channel to NanoClaw v2 via Chat SDK. Official Meta API. |
Add WhatsApp Cloud API Channel
Connect NanoClaw to WhatsApp via the official Meta WhatsApp Business Cloud API.
Install
v2 trunk doesn't ship channels. 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.