Prerequisites
- A Pipecat Cloud account with access to pipecat.daily.co.
- A WhatsApp Cloud API number onboarded in Kapso with Voice calling (
calls_enabled) switched on. - Pipecat Cloud agent name (
serviceName) and public API key. - Optional: Docker registry access if you will push a custom image.
1. Deploy the sample Pipecat agent
Use the open-source starter repo to get a runnable Pipecat container:- Clone
gokapso/whatsapp-voice-agent-pipecat. - Copy
.env.exampleto.envand setOPENAI_API_KEY. You can also override the default system prompt withSYSTEM_PROMPT. - Install dependencies locally:
- Authenticate with Pipecat Cloud:
- Build and push an image (uses
pcc-deploy.tomlfor the image tag): - Deploy the agent:
bot.py accepts WhatsApp calls, runs OpenAI STT → LLM → TTS, and speaks as “Kap,” the Kapso engineer persona. Swap models or prompts later as needed.
2. Link the voice agent in Kapso (dashboard)
- Sign in to app.kapso.ai and open Voice agents → New voice agent.
- Give the agent a friendly name.
- Select Pipecat as the provider and paste the Pipecat public API key plus the agent name you deployed.
- Save. Kapso encrypts your API key at rest.
- Attach a WhatsApp configuration (phone number). Mark one assignment as Primary and keep Enabled toggled on so Kapso launches sessions for that number.
Prefer an API workflow? Start with the API setup guide, then use Create voice agent and Assign WhatsApp phone number for the exact request and response shapes.
3. Test the call path
- Place a voice call to the connected WhatsApp number from a mobile device.
- Kapso receives the Meta
callswebhook, starts the Pipecat session, and the agent greets the caller. - Confirm that call details appear under Voice agents → Calls and verify the audio path.

