Get started / Getting started
Build your first voice agent
From zero to a live agent answering calls in four steps — grab a key, pick a build path, test in the Playground, and attach a number.
Quickstart
Four steps to your first call.
- 1
Grab an API key
Dashboard → Settings → API keys. Keys are environment-scoped — dev, test, prd, live.
- 2
Pick your build path
Flow builder to compose on canvas, the SDK to write an agent in code, or a brain connector to put a voice on an existing LLM app. All three land in the same Agents list.
- 3
Test in the Playground
Talk to your agent from the browser — voice or text. No phone number needed.
- 4
Attach a number
Buy a number under Numbers, point it at your agent, and dial in — it answers and runs the process.
Write the agent SDK
On the code path, install @voicelayer/sdk — then this is a complete agent. Prefer clicks? The flow builder compiles to the same runtime.
import { Agent } from '@voicelayer/sdk';
export default await new Agent({
name: 'fnol-simple',
prompt: 'You are a calm First Notice of Loss intake agent.',
capabilities: ['fnol', 'inbound-sip'],
tools: {
transferToHuman: {
description: 'Transfer the caller to a human claims agent.',
input: { reason: 'string' },
run: async ({ reason }, ctx) => {
await ctx.handoff('+15555550100', { reason });
return 'transferred';
}
}
}
}).start(import.meta.url);Your default models
Every call runs a STT → LLM → TTS pipeline. These are the defaults — override per-project (BYOK) or per-agent.
Deepgram Nova-3
speech-to-text
DEEPGRAM_API_KEYOpenAI · gpt-4o
reasoning · Anthropic fallback
OPENAI_API_KEYCartesia Sonic
text-to-speech · Inworld alt
CARTESIA_API_KEYEverything is testable before it takes a call. The Playground runs any agent — flow, SDK, or connector — by voice or text straight from the browser, so you only attach a number once it behaves.