WhatsApp Calling on Speko
Let people call your Speko voice agent over WhatsApp: how it works, what is supported today, and how to get on the beta.
Speko can run the same voice agent that answers PSTN phone calls over WhatsApp voice calls. A caller taps the call button in your business WhatsApp chat, and your Speko agent answers with the same prompt, voice, tools, and post-call reporting it uses on the phone.
Beta. WhatsApp Calling is in early access. Speko enables it per workspace and pairs it with a WhatsApp-calling number mapped to your agent. Ask us in your shared Slack channel or through your Speko contact to join the beta.
Why WhatsApp
WhatsApp calls are free for the caller and ride the app they already live in, so there is no international long-distance cost and no number to dial. For teams whose customers reach them on WhatsApp first, it removes the friction of "call this number" entirely.
How it works
WhatsApp calling reuses Speko's existing agent runtime end to end. Only the call transport is new.
- A WhatsApp user places a call to your business number.
- Meta's WhatsApp Cloud API sends a
callsconnect webhook, carrying the caller's audio offer, to Speko. - Speko resolves the number to your agent (the same
agentIdmapping used for phone numbers), then accepts the call through LiveKit's WhatsApp Connector. - LiveKit bridges the WhatsApp audio into a room and dispatches your agent worker. From there the pipeline (speech-to-text, your model, text-to-speech, tools, recording, transcripts, and the post-call report) is identical to a phone call.
Because the agent is the same, an agent you have already built for the phone answers WhatsApp calls with no prompt or tool changes.
What works today
| Capability | Status |
|---|---|
| Inbound (a user calls your agent on WhatsApp) | Supported in beta |
| Same agent, prompt, voice, tools, transcripts, recording, post-call report | Yes |
| Outbound (your agent calls a WhatsApp user) | In development; requires the recipient to grant call permission first |
| Transfer a WhatsApp call to a phone number (PSTN) | Not supported (see limits) |
Prerequisites
- WhatsApp calling enabled for your workspace. This is a beta flag Speko turns on per workspace, the same way SMS is enabled. Contact us to get added.
- A WhatsApp-calling number mapped to an agent. Speko provisions the WhatsApp-enabled number and maps it to your persisted agent (
agentId), exactly like an inbound phone number. If you already run a WhatsApp Business number, tell us and we will coordinate the connection. - A persisted agent. Build one first — see Build a phone agent. The same agent answers WhatsApp calls.
Limits
- On-net only. WhatsApp calls stay inside WhatsApp. A WhatsApp call cannot be bridged or transferred to a regular phone number, and a phone call cannot be forwarded into WhatsApp. This is a WhatsApp platform rule, not a Speko limit.
- No DTMF or SIP-style transfer. Escalation to a human happens inside the same conversation, not via a phone transfer.
- Outbound needs consent. WhatsApp requires a user to grant call permission before a business can call them, so outbound is a follow-up channel, not a cold-call channel.
- Beta availability. The underlying connector is in beta and enabled per project; availability and regions can change.