Getting Started
Create a voice agent, give it a prompt and a voice, and take a call with it.
This walkthrough builds a working voice agent from an empty form, talks to it in the browser, then puts a real call through it. It takes about ten minutes: the create dialog collects the essentials, and the rest happens on two cards of the agent editor, Persona on the Identity step and Dispositions on the Conversation step. Everything else has a default you can revisit later.
The editor shows one step at a time and the stepper across the top moves between them. Any step is clickable at any point, so you can jump straight to the two this walkthrough uses.
We'll build a simple after-hours agent: it takes a message and reports whether the caller wanted a callback.
Create the agent
Select Automations → Agents in the left navigation, then click Create Agent. If you're asked how you want to start, choose Start from Scratch — the other option, Use a Template, is covered in Templates.
A short dialog opens asking for just what an agent needs to exist: a name, a system prompt, the channels it answers on, and a model and voice. The next five steps fill it in. Everything after that happens in the editor.
Name it
Set Name to something you'll recognize in a list of agents — After-Hours Intake.
The name is for you; callers never hear it.
Write the system prompt
The System Prompt is the agent's job description. Write it as numbered steps rather than a paragraph:
You are the after-hours intake line for Northwind Plumbing.
1. Greet the caller and tell them the office is closed.
2. Ask what they need help with, and listen without interrupting.
3. Ask for their name and the best number to reach them.
4. Confirm the number back to them digit by digit.
5. Tell them someone will call back the next business day, and end the call.
Never quote prices. Never promise a specific callback time.
If the caller describes flooding or a gas smell, tell them to hang up and call 911.Numbered steps make the agent's behavior easy to debug: when it does the wrong thing, you can usually point at the step that needs sharpening. See Persona for more on writing prompts.
Choose its channels
Channels is what the agent is for: Voice, Chat, or both. Both are on by default, and this one takes calls, so leave them alone.
Switching Voice off makes an agent for a chat widget only. No voice is asked for, and the call-only cards are absent from the editor you land in. You can change this later on the Persona card; at least one channel always stays on. See Channels.
Pick a model
Choose a Language Model. The dialog doesn't preselect one, and picking it reveals the voice fields below it — as long as Voice is one of the channels: every current model speaks through a separate voice. See Brain for how the options differ — you can change the model later on the Brain card.
Pick a voice
Work down the Voice Provider → Language → Voice → Voice Engine dropdowns. Each one populates from the one above it, so pick them in order.
A voice is required while Voice is one of the agent's channels, and it's checked at every save: Create Agent refuses without one, and so does the editor's Save Configuration later, both with "Select a voice provider." A chat-only agent needs none and isn't shown these fields at all. On an agent that does take calls, only a draft written over the API can omit a voice; publish refuses it there. See Versioning.
Create it
Click Create Agent. The agent is saved as version 0.1 — a draft — and the editor opens on
it, editable. The remaining steps happen there, and nothing you do reaches a caller until you
publish, which is the last step below. See Versioning.
Set a greeting
On the Persona card, fill in Greeting with the exact first line you want spoken:
Thanks for calling Northwind Plumbing. Our office is closed, but I can take a message.A greeting is optional, but setting one makes the open predictable instead of leaving the first sentence up to the model.
Add dispositions
Dispositions are the outcomes this agent can report when the call ends, and they become the exits you route from in a workflow. Go to the Conversation step, click the Dispositions row in the Rules & Outcomes group, then Add disposition twice and add:
| Name | Description |
|---|---|
callback_wanted | The caller left a message and wants to be called back. |
no_action | The caller hung up or didn't need anything. |
Save and publish it
Click Save Configuration to store the draft, then Publish to make it the version calls run. Save already refuses a missing required field, so what Publish adds are the server-side rules a live call depends on: a disconnected ElevenLabs integration, a secret you can't use, a linked agent with nothing published. See Versioning.
The agent appears in the Voice Agents list, showing its model and voice provider.
Talk to it
Click Call Agent in the top right and grant your browser microphone access. The agent answers, and you can talk to it the way a real caller would, including interrupting it mid-sentence. No workflow and no phone number are needed yet.
Edit the prompt, click Restart, and listen again. That loop is the fastest way to get the agent sounding right, and Preview Calls covers what it can and can't tell you.
You don't have to wait until a version is published to do this — a draft can be called the same way, which is the better moment to catch a prompt that reads well and sounds wrong.
Point a workflow at it
Open (or create) a workflow, add an AI Voice Agent node, and select this agent in its
Agent field. The node's exits populate with your two dispositions plus default and
fallback. Wire each one somewhere, even if that's just a Disconnect node.
Put a real call through it
Publish the workflow and call the number it's routed to. The preview already told you how the agent sounds. What this checks is everything around it: the number is routed where you think, the workflow reaches the node, and the exits go somewhere.
What to tune after the first call
The first call almost always surfaces something. Each of these is worth a preview call and a Restart rather than a fresh phone call. In rough order of how often it comes up:
- It talks too much. Add an explicit instruction to the prompt: "Keep replies to one or two sentences. This is a phone call, not an essay."
- It cuts the caller off, or waits too long. Adjust voice activity detection.
- It goes silent while looking something up. Set a thinking cue.
- It won't hang up. Make ending the call an explicit numbered step, and make sure your dispositions actually cover the endings the prompt describes.
- It doesn't know things it should. Attach a knowledge base rather than pasting facts into the prompt.