- A Kapso account with a connected WhatsApp Business number
- A public URL that reaches the bot. During development, a tunnel such as ngrok gives your local port one
Step 1: Set up Kapso
- Create a Kapso project and connect your WhatsApp Business phone number
- Copy your API key and Phone Number ID
- Configure a webhook pointing to your bot’s
/webhookendpoint (the bot listens on port3203by default; override withBOT_SERVER_PORT) - Copy the webhook secret: Kapso signs every request with HMAC-SHA256, and the bot rejects requests with invalid signatures
Step 2: Add the credentials
Inapps/bots/.env:
WHATSAPP_PHONE_NUMBER (your number in E.164 format without the +, for example 15551234567) belongs in apps/api/.env, not here: the API uses it to build wa.me links.
Step 3: Start the bot
Platform behavior
User-facing limits (no streaming, 4,096 characters, media) are in the WhatsApp guide. Two details matter when developing:- Commands are matched by text prefix. There is no native slash-command registration.
- Images GAIA sends back over 5 MB arrive as documents.

