Guide · Agent skill
How to use the WhatsApp Cloud Channel Setup agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The add-whatsapp-cloud skill is an installation recipe for NanoClaw, an agent framework. It adds WhatsApp as a messaging channel using Meta's official WhatsApp Business Cloud API, so your agent can hold one-to-one conversations on a WhatsApp Business number. This guide explains what a skill is, how to install this one, how to trigger it, and what you need before you start.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills.
- 2Ask the agent to apply it. Request the WhatsApp Cloud channel in plain language so the agent follows the Apply steps in SKILL.md.
- 3Create the Meta app and collect credentials. In Meta for Developers, add the WhatsApp product and note the Phone Number ID, a permanent System User token, the App Secret and your Verify Token.
- 4Paste the credentials when prompted. Enter the four values when the agent asks. They are written to .env, and existing values are not overwritten.
- 5Expose the webhook port. Run a public tunnel or reverse proxy to port 3000, then set the webhook URL in Meta to your domain plus /webhook/whatsapp-cloud.
- 6Verify and restart. Start or restart the service, click Verify and save in Meta, and subscribe to the messages field.
- 7Wire the channel to an agent group. Run /manage-channels to connect this channel to an agent group, as the skill's Next Steps section describes.
What an agent skill is and what this one does
An agent skill is a folder containing a SKILL.md file with instructions that an AI agent reads and follows when a matching request comes in. This skill is for developers running a self-hosted NanoClaw instance who want a WhatsApp bot on the official Meta API.
Once applied, the agent copies a channel adapter file (whatsapp-cloud.ts) and its registration test into src/channels/, adds one import line to src/channels/index.ts, installs the pinned package @chat-adapter/whatsapp@4.41.1, and runs the build and test commands. It then asks you to paste four Meta credentials and saves them to a .env file.
- Copies the adapter into src/channels/
- Adds a self-registration import to the channel barrel
- Installs @chat-adapter/whatsapp at an exact pinned version
- Runs pnpm run build and a registration test
- Writes WHATSAPP_ACCESS_TOKEN, WHATSAPP_PHONE_NUMBER_ID, WHATSAPP_APP_SECRET and WHATSAPP_VERIFY_TOKEN to .env
Install the skill (ZIP download or Claude app upload)
Download the ZIP for this skill from this page. For a personal setup, unzip it into ~/.claude/skills/. To scope it to one project, unzip it into that project's .claude/skills/ folder.
If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the ZIP there.
- Personal: ~/.claude/skills/
- Per project: .claude/skills/ inside the project folder
- Claude apps: Settings → Capabilities → Skills, then upload
Prerequisites you need before starting
The skill assumes a working NanoClaw installation that uses pnpm and builds successfully. You also need a Meta for Developers account with a WhatsApp Business app, and a publicly reachable HTTPS URL for the webhook. The skill does not create any of these for you.
- NanoClaw installed with pnpm and a working build
- A Meta for Developers account with a WhatsApp Business app
- Phone Number ID, permanent System User access token, App Secret and a Verify Token
- A public HTTPS URL, for example via ngrok, Cloudflare Tunnel or a reverse proxy
Trigger the skill with a natural request
Once the skill is installed, ask your agent in plain language to add WhatsApp Cloud support to your NanoClaw project. The agent reads the skill, follows its Apply steps, and pauses to ask for credentials. The skill's own name, add-whatsapp-cloud, is a useful phrase to include if your agent matches skills by name.
- "Add the WhatsApp Cloud API channel to this NanoClaw project."
- "Use the add-whatsapp-cloud skill to connect WhatsApp to NanoClaw."
- "Set up the WhatsApp Business Cloud API channel and walk me through the Meta credentials."
Set up the Meta side and the webhook
Some steps happen in the Meta dashboard and cannot be automated. In the Meta app, add the WhatsApp product, note the Phone Number ID under WhatsApp > API Setup, and generate a permanent System User token with the whatsapp_business_messaging permission. Under WhatsApp > Configuration, set the webhook URL to your public domain followed by /webhook/whatsapp-cloud, choose a Verify Token, and subscribe to the messages field. Copy the App Secret from Settings > Basic.
Start the service before you click verify in Meta, because Meta sends a challenge as soon as you do. Expose port 3000 publicly using ngrok (ngrok http 3000), a Cloudflare Tunnel or a reverse proxy. If the proxy runs on another machine or in Docker on Linux, set WEBHOOK_HOST=0.0.0.0 in .env and restart.
- Phone Number ID: WhatsApp > API Setup (not the phone number itself)
- Webhook URL: https://your-domain/webhook/whatsapp-cloud
- Subscribe to the messages webhook field
- Restart the service so changes take effect
ngrok http 3000Remove the channel later
The REMOVE.md file in the skill describes how to undo the setup. It deletes the import line from src/channels/index.ts, removes the copied adapter and its test, deletes the four WHATSAPP_ variables from .env, uninstalls the package, then rebuilds and restarts the service. Every step is safe to re-run.
pnpm uninstall @chat-adapter/whatsappWhat people use it for
- Give a self-hosted NanoClaw agent a one-to-one WhatsApp conversation channel on a WhatsApp Business number.
- Let customers message a business number and receive replies from an agent, within WhatsApp's 24-hour reply window.
- Test a WhatsApp bot on the official Meta API from a local machine using a tunnel such as ngrok.
Frequently asked questions
Is the WhatsApp Cloud API skill free to use?
The source does not state pricing or licence terms for Meta's API. The skill's repository is listed under the MIT licence. Check Meta's own terms for any charges on WhatsApp messaging.
What do I need before installing the add-whatsapp-cloud skill?
You need a working NanoClaw installation using pnpm, a Meta for Developers account with a WhatsApp Business app, the four Meta credentials, and a publicly reachable HTTPS URL for the webhook.
Can this skill be used for WhatsApp group chats?
No. The channel notes state that WhatsApp Cloud supports 1:1 conversations only, with no group chats.
Why does Meta's Verify and save fail?
Meta sends a challenge as soon as you click. The endpoint must already be publicly reachable at /webhook/whatsapp-cloud, and the service must be running with WHATSAPP_VERIFY_TOKEN set to exactly the string you entered in Meta.
Why do all my calls return 401 after a day?
You probably stored the temporary token from API Setup, which expires in about 24 hours. Create a permanent System User token and replace WHATSAPP_ACCESS_TOKEN in .env.
Are my credentials safe with this skill?
The skill writes the access token and App Secret into .env in plain text. Use it with care on shared or production machines and restrict who can read that file.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits developers who already run a self-hosted NanoClaw instance and have a WhatsApp Business number and Meta developer app. It is not a good fit for people new to developer setup, since it requires a public URL, terminal work and correct Meta configuration, or for anyone needing group chats.
Download the skill