> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zavu.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Voice Agents Overview

> Two-way phone calls answered by your AI agent

Voice Agents turn your sender's AI agent into a phone agent. It answers inbound calls to your number and places outbound calls, holding a real conversation over the phone — not a recorded message.

The same agent you already use for SMS and WhatsApp powers the call: its provider, model, system prompt, tools, and knowledge bases all carry over. You enable voice on the agent, and Zavu handles the call.

<Note>
  Voice Agents is a Beta feature enabled per team. Calls require the feature to be turned on for your team; requests to the voice endpoints return `403` until it is. [Contact us](mailto:hi@zavu.dev) to enable it.
</Note>

## How It Works

Each call runs through Zavu's managed voice pipeline:

1. **Speech recognition** transcribes the caller in real time.
2. **Your agent** processes the transcript with its configured model, tools, and knowledge bases — exactly as it does for text channels.
3. **Speech synthesis** speaks the agent's reply back to the caller.

The pipeline supports **barge-in**: the caller can interrupt while the agent is speaking, and the agent stops to listen. The agent can also call your tools mid-conversation, transfer the call to a human, or end it.

You never manage telephony, audio streaming, or transcription. You configure the agent and call the API.

## Inbound and Outbound

| Direction    | How it starts                                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------------------------- |
| **Inbound**  | A caller dials a phone number assigned to a sender whose agent has voice enabled. Zavu answers automatically. |
| **Outbound** | You call `POST /v1/calls`. Zavu dials the recipient and the agent takes over once answered.                   |

Both directions use the same agent configuration and produce the same call record and transcript.

## Pricing

Voice calls are billed per minute of connected time plus telephony, deducted from your prepaid balance. A short-duration estimate is reserved when a call is placed, and you are charged for the actual duration when it ends. A hard duration limit (`maxCallDurationMinutes`, default 15) caps every call.

<Info>
  Keep a positive balance to place and receive calls. Inbound calls are answered only while the team balance is above zero.
</Info>

## Calls and Transcripts

Every call is recorded as a `call` resource with its status, duration, cost, and a turn-by-turn transcript. Retrieve a single call to read its full transcript, or list calls to review recent activity.

Subscribe to the `call.*` webhook events to react to calls in real time — for example, to log completed conversations or trigger follow-ups. See [Webhooks](/guides/voice-agents/webhooks).

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="phone" href="/guides/voice-agents/quickstart">
    Enable voice and place your first call
  </Card>

  <Card title="Configuration" icon="sliders" href="/guides/voice-agents/configuration">
    Greeting, language, voicemail, transfer, and limits
  </Card>

  <Card title="Webhooks" icon="webhook" href="/guides/voice-agents/webhooks">
    Receive call lifecycle events
  </Card>

  <Card title="AI Agents" icon="robot" href="/guides/ai-agents/overview">
    Configure the agent that answers calls
  </Card>
</CardGroup>
