Installation
Authentication
Browser login (interactive)~/.kapso/cli/.
API key (CI / non-interactive environments)
Project context
After login, the CLI remembers your active project. Switch between projects with:Setup
Connect a WhatsApp number to your project:Numbers
--phone-number or --phone-number-id to specify which number to act on. You can also pass the number as a positional argument where supported.
Messages
Send a text message
Send with a JSON payload
For media, interactive, or any advanced message type, pass a JSON payload:List and get messages
Conversations
Calls
Read-only. Requires CLI 0.19.1 or later.calls artifact needs KAPSO_API_KEY. Recording inspection prints metadata only. Transcript inspection adds a short text preview; use --download for Meta’s original JSON. Existing files aren’t replaced unless you pass --force. See Recordings and transcripts.
Templates
Webhooks
Create a webhook
whatsapp.message.received, whatsapp.message.sent, whatsapp.message.delivered, whatsapp.message.read, whatsapp.message.failed, whatsapp.conversation.created, whatsapp.conversation.ended, whatsapp.conversation.inactive, whatsapp.contact.identity_changed.
Manage webhooks
Message buffering
Buffer multiplewhatsapp.message.received events into a single delivery:
Customers
Local workflow development
Use these commands when you want to keep Kapso workflows and functions in a local repository.kapso pull writes local source files for workflows and functions. If you edit workflows with @kapso/workflows, build the generated JSON before pushing:
Output formats
All commands support--output json or --output human. Most default to json — pipe into jq for scripting:

