# Your first voice agent

> Build a voice agent on the canvas, talk to it in your browser, and put it on a phone number, without writing code.

Source: https://docs.vlayers.ai/build/first-voice-agent

Kind: Tutorial

## What you'll build

A voice agent that answers a phone number. You build it in the flow builder, try it in the Playground by voice or text, then attach a number and call it from your phone.

There are three ways to build an agent. This tutorial uses the first:

| Path | You write | Read more |
|---|---|---|
| Flow builder | Nothing: you drag and connect steps | [Flow builder](https://docs.vlayers.ai/build/flow-builder) |
| Voice agent SDK | One TypeScript file | [Voice agent SDK](https://docs.vlayers.ai/developers/sdks/voice-agents) |
| Brain connector | Nothing new: you reuse the LLM app you already have | [Brain connectors](https://docs.vlayers.ai/build/brain-connectors) |

All three land in the same Agents list, and the Playground, Numbers and Conversations pages work the same for each.

## Prerequisites

- A VoiceLayer account. Sign in at https://vlayers.ai/dashboard.
- A phone, for the last step.

## Step 1: Create a flow

A flow is the agent's conversation, drawn as steps.

1. Open **Dashboard → Flows** and choose **New**. You get a canvas with a **Start** step.
2. Drag a **Say** step from the palette and connect **Start** to it. Type a greeting, such as "Hi, thanks for calling. How can I help?"
3. Drag an **AI reply** step after it, so the model answers what the caller says.
4. Choose **Save**.

You now have a draft. Nothing runs yet.

## Step 2: Publish and go live

Publishing freezes a version and checks the graph for problems, such as steps nothing leads to.

Choose **Go live**. It saves, publishes and points the shared runtime at this version in one step. The agent now appears under **Dashboard → Agents**.

## Step 3: Talk to it in the Playground

The Playground runs the agent from your browser, so you can try it before it has a number.

Open **Dashboard → Playground**, pick your agent, and talk to it by voice or type to it. Interrupt it, pause mid-sentence and ask something off-topic to see how it behaves.

You hear the greeting, then answers to what you say.

## Step 4: Attach a phone number

1. Open **Dashboard → Numbers** and choose **Buy a number**. Search by country and area code, pick one and confirm.
2. In the number's **Agent** column, choose your agent.

The number now routes inbound calls to the agent. No other setup is needed.

## Test it

Call the number from your phone. The agent answers with your greeting and replies to what you say.

Every call then appears under **Dashboard → Conversations** with its transcript, recording, cost and latency.

## Common problems

| Problem | Fix |
|---|---|
| The number rings with nothing behind it | Check the number's **Agent** column names your agent. |
| Your latest edits are not live | Saving keeps a draft. Choose **Go live** again to publish and point the agent at the new version. |
| The agent talks over you or waits too long | Tune turn-taking. See [Voice and turn-taking](https://docs.vlayers.ai/build/voice). |

More in [Limits and troubleshooting](https://docs.vlayers.ai/build/limits).

## Next steps

- [Flow builder](https://docs.vlayers.ai/build/flow-builder): Every step type, and how flows run.
- [Tools](https://docs.vlayers.ai/build/tools): Let the agent look things up in your systems.
- [Transfers](https://docs.vlayers.ai/build/transfers): Hand a call to a person without losing context.
- [Testing](https://docs.vlayers.ai/build/testing): Test the logic, the voice and the whole phone path.
