Prerequisites
- The Voice Agents feature enabled for your team. Voice endpoints return
403until it is. - A sender with an AI agent configured. See AI Agent Setup.
- A phone number assigned to that sender (required for inbound calls). See Purchasing Phone Numbers.
Voice calls run against live infrastructure and are not available with test-mode API keys. Use a
zv_live_ key.Step 1 — Enable Voice on the Agent
Voice is a property of the agent. Patch the agent with avoice object to turn it on and set a greeting.
Step 2 — Place an Outbound Call
CallPOST /v1/calls with the recipient’s number. Zavu dials them, and the agent takes over when they answer.
202 with the call in queued or ringing status. senderId is optional — the project’s default sender is used when omitted.
Step 3 — Receive Inbound Calls
Inbound calls need no extra code. When someone dials a phone number assigned to the sender, Zavu answers with the voice agent automatically. To set it up:- Assign a phone number to the sender (see Purchasing Phone Numbers).
- Confirm the sender’s agent has
voice.enabledset totrue(Step 1). - Call the number. The agent answers with its greeting and holds the conversation.
Read the Call and Transcript
Retrieve a call to read its outcome and full transcript. The transcript is a list of turns in order.Next Steps
Configuration
Voicemail handling, call transfer, and limits
Webhooks
Get notified when calls start and end
