Voice
Put your AI agents on phone calls, text messages and browser voice conversations
Why voice
An agent that can only be reached through a chat box misses the people who pick up the phone: patients booking an appointment, customers checking on an order, callers who want to talk to a person. The voice connectors give an agent a phone number, a voice and a way to text, on top of everything it already knows and can do: its instructions, knowledge bases, connectors and AI functions all apply on a call exactly as they do in a chat.
Every voice conversation is a normal agent conversation with a spoken front end:
- The caller speaks, and the agent hears a transcript of what was said.
- The agent answers with its usual tools: it looks the caller up, searches a knowledge base, books an appointment, sends a confirmation text.
- Its answer is spoken back, and both sides of the conversation are recorded as a transcript.
The three connectors
| Connector | What it is |
|---|---|
| Twilio | The phone line. Holds your Twilio account; each agent gets a number of that account, answers calls and texts on it, and can call and text. |
| OpenAI Voice | A voice engine: an OpenAI realtime model hears and speaks on the call, and asks the Squid agent whenever it needs knowledge or an action. Also runs browser calls with no phone at all. |
| ElevenLabs | A voice engine: an ElevenLabs agent with ElevenLabs voices hosts the call and uses the Squid agent as its brain. |
The Twilio connector is always the starting point for phone calls. It comes with its own voice engine, Twilio speech, which needs no other connector: Twilio transcribes the caller and reads the agent's replies aloud. Adding an OpenAI Voice or ElevenLabs connector offers it as an alternative engine on every phone line.
Choosing a voice engine
The engine is chosen per agent, on its phone line, so different agents can use different engines.
| Capability | Twilio speech | OpenAI Voice | ElevenLabs |
|---|---|---|---|
| Who speaks | Twilio text-to-speech (ElevenLabs, Google or Amazon voices) reading the Squid agent's replies | An OpenAI realtime speech-to-speech model | An ElevenLabs voice, cloned voices included |
| Who thinks | The Squid agent answers every utterance | The realtime model handles the conversation and calls the Squid agent as a tool | The Squid agent answers every turn |
| Feel | Streamed replies, one language per call | Most natural: handles small talk itself, follows the caller into other languages | Natural voices, follows the caller into other languages |
| Opening line composed by the agent (greet a known caller by name) | Yes | Yes | No, a fixed first message |
| Caller interruptions | Yes | Yes, with allowInterruptions and interruptionSensitivity | Yes |
| End or transfer the call from the agent's tools | Yes | Yes | Ends the call itself; no transfer |
Outbound calls with a purpose (instructions) | Yes | Yes | Outbound calls, without instructions |
| Transcript and call record in Squid | Yes | Yes | No, the call lives at ElevenLabs |
| SMS on the agent's number | Yes | Yes | No, ElevenLabs owns the number |
| Browser calls | Through Twilio (Voice SDK credential) | Through Twilio, or directly over WebRTC with startWebCall(), no phone needed | No |
| Voicemail detection on outbound calls | No | No | Yes |
A good default: start with OpenAI Voice for the most natural conversation and for testing from the browser before you buy a number, and pick ElevenLabs when a specific voice matters most.
How to set it up
- Add a Twilio connector with your account credentials.
- Optionally add an OpenAI Voice or ElevenLabs connector.
- In Agent Studio, add the Twilio ability to the agent: pick a phone number of the account, the voice engine and the voice settings. Saving the ability wires the number up.
- Call the number.
Everything about the call is then available to your backend: the transcript, the call records, incoming texts, and the call context inside your AI functions. See Voice agents in the SDK documentation, and the phone assistant tutorial for a complete example that identifies callers, books appointments and confirms by text.
Explore
📄️ ElevenLabs
Answer phone calls with an ElevenLabs voice agent that uses a Squid agent as its brain
📄️ OpenAI Voice
Answer phone calls and browser calls with an OpenAI realtime model that has a Squid agent behind it
📄️ Twilio
Give an AI agent a phone number: it answers calls, places calls and texts on it