Documentation menu
Get started
Quickstart
From a new account to a real phone call, through the dashboard or straight over the API.
1. Connect your providers
In the dashboard, open Settings → API Keys and add:
- Twilio Account SID and Auth Token — for phone numbers and the classic engine. A SIP trunk works instead of Twilio; see Voice engines.
- Deepgram — speech-to-text, and required for the Deepgram Voice Agent engine.
- ElevenLabs — text-to-speech voices for the classic engine.
- OpenRouter — the language model an agent thinks with.
Only add the keys the engine you plan to use actually needs — see Voice engines for exactly which. Sarvam-engine agents only need a Sarvam key, for example.
2. Get a number
Under Phone Numbers, buy a Twilio number from inside the dashboard or connect one you already own. Either way it becomes something an agent can be assigned as its outbound caller ID, and inbound calls to it are routed straight to whichever agent it points at.
3. Build an agent
Under AI Agents → Create, start from one of the shipped templates or from scratch. At minimum an agent needs a system prompt (how it behaves) and an opening message (the first thing it says) — everything else, including which phone number dials out through it, is editable afterwards from the agent’s builder.
4. Test it without a phone call
The agent builder’s Test tab talks to your agent straight from the browser — same prompt, same tools, same turn-taking a real call gets, mic in and speaker out, with no number or lead involved. This is the fastest way to catch a bad greeting or a misbehaving tool before it reaches a real caller.
5. Make a real call
Add a lead under Leads (or import a list), then either call them directly from the lead’s row, or add them to a campaign and start it to work the whole list. An inbound call to the number from step 2 reaches the agent with no further setup.
Or, over the API
Generate a personal API key from Settings → API Keys — it comes back once, as vc_.... Create an agent, then dial it against a lead:
curl -X POST https://api.voicelo.ai/api/agents \
-H "x-api-key: $VOICELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Front Desk",
"systemPrompt": "You are Rosa, the front desk assistant for Acme Dental. Be warm and brief.",
"openingMessage": "Hi {{name}}, thanks for calling Acme Dental — how can I help?",
"voiceEngine": "classic",
"language": "en"
}'curl -X POST https://api.voicelo.ai/api/calls/dial \
-H "x-api-key: $VOICELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"agentId": "6511f...",
"name": "Alex Morgan"
}'/api/calls/dial creates the lead if that number isn’t on your list yet. To call someone already there instead, see POST /api/leads in the API reference.