Getting started
Build voice agents that pick up the phone
Vollo is an AI voice platform: design conversational agents in a visual workflow builder, put them on real phone numbers or in the browser, and drive everything from a REST API.
- Base URL
- https://api.vollo.io/api/v1
- Authentication
- Authorization: Bearer pk_live_…
- Rate limit
- 120 requests / minute
- Media
- WebRTC · SIP · wss://rtc.vollo.io
Workflows
Versions, publishing, variables, expressions, and templates.
Node reference
Every builder node — config fields, defaults, and handles.
Telephony & SIP
Phone numbers, SIP trunks, and dispatch rules.
API reference
The full REST surface, endpoint by endpoint.
What Vollo is#
A Vollo workspace contains projects. Inside a project you create agents (a system prompt plus model, voice, and transcription settings) and workflows — node graphs built in the visual builder that decide what happens on a call: greet, listen, reason with an LLM, look things up, call your APIs, collect keypad digits, transfer to a human, hang up.
A published workflow can be reached three ways:
- Inbound calls — attach a phone number (via a SIP trunk) and route calls to it with dispatch rules.
- Outbound calls —
POST /callsstarts a call from one of your numbers. - Web sessions — mint a session token and connect a browser microphone over WebRTC.
Architecture#
Media and control are separate planes. Audio never touches the REST API: it flows through the LiveKit-based media plane straight to the agent workers that execute your workflow and stream audio to the speech and language providers.
The Vollo platform: media plane (left to right) and control plane (bottom).
Quickstart#
From zero to a live voice agent in seven steps. Steps 1–5 happen in the dashboard; the rest is API.
-
Create an account and an API key
Sign up at app.vollo.io, then create a workspace API key under Settings → API Keys. Keys look like
pk_live_…and carry scopes. Store the key server-side — it is shown once. -
Create a project
Projects group agents, workflows, numbers, and sessions — one per product or environment is typical. Create one in the dashboard or via
POST /projects. -
Create an agent
An agent bundles a system prompt with model choices: LLM provider and model, Deepgram for speech-to-text, a Cartesia voice for text-to-speech. You can also configure these inline on a workflow's Agent node.
-
Build a workflow
Open the visual builder and drag nodes onto the canvas: a Greeting, an Agent node that references your agent, and a Hangup. Wire them
start → greeting → agent → hangup. See Workflows for the concepts. -
Validate and publish
Press Validate, fix anything it flags, then Publish. Publishing freezes the draft into an immutable version that live traffic runs on — you keep editing the draft safely.
-
Attach a phone number — or open a web session
For phone: connect a SIP trunk, add a number, and point a dispatch rule at your workflow. For the browser: mint a session token and connect with the LiveKit JS SDK.
-
Make your first API call
Start an outbound call from your number to any phone:
cURL / shellStart an outbound call curl -X POST https://api.vollo.io/api/v1/calls \ -H "Authorization: Bearer pk_live_8f3KJd92mA4qL7Zx1RttVWpc" \ -H "Content-Type: application/json" \ -d '{ "project_id": "9b2e7c1a-4d3f-4e8a-9c5b-2f7d1e6a8b3c", "workflow_id": "7f3a9d2e-8c1b-4f6a-b5d4-e2c9a1f7b8d0", "from": "+12125550142", "to": "+962790123456", "metadata": { "crm_id": "A-1042" } }'JSON201 Created { "data": { "id": "c4d9e2f7-1b8a-4e3c-9f6d-7a2b5c8e1d4a", "direction": "outbound", "status": "queued", "from": "+12125550142", "to": "+962790123456", "project_id": "9b2e7c1a-4d3f-4e8a-9c5b-2f7d1e6a8b3c", "workflow_id": "7f3a9d2e-8c1b-4f6a-b5d4-e2c9a1f7b8d0", "workflow_version": 3, "metadata": { "crm_id": "A-1042" }, "created_at": "2026-08-18T09:12:44Z" } }The callee's phone rings; when they answer, your published workflow takes over. Track progress with webhooks (
call.started,call.ended) or by pollingGET /calls/{id}.
Where to next#
- Authentication — scopes, key rotation, and why keys never belong in a browser.
- Workflows — drafts, versions, variables, expressions, and templates.
- Web voice sessions — voice agents in your web app, no phone number needed.
- Webhooks — event delivery, signatures, and retries.
- Errors — the error envelope, rate limits, and quota responses.