Prerequisites
- A running voice server — see Overview for the Docker Compose stack
- Twilio credentials and a phone number
- An OpenAI key (and an ElevenLabs key if you want its TTS)
https://api.voice.stateset.com/api/v1, or
http://localhost:5050/api/v1 against a local server.
1. Mint a tenant API key
Tenant credentials are the unit of access. Every subsequent call uses one as a Bearer token. Create your first key in the console; after that, a key can mint further keys for itself:Response
2. Configure the tenant account
Set the tenant’s provider credentials and defaults — audio output provider, VAD tuning, and handoff workflow. See Configuration.3. Create the agent
An agent version carries its prompt, model settings, andtools[]. Each tool is a JSON-schema
function plus your HTTPS endpoint.
How your tool endpoint is called
Mid-call, the server POSTs to your endpoint with:Authorizationpassthrough- An
X-Webhook-SignatureHMAC over the raw body — the same scheme as webhooks
4. Attach a phone number
Route a number to the agent withdirection and agent_id. Inbound calls to that number now
reach this agent.
5. Register a webhook for call results
Point an endpoint at the events you care about. For a first agent,voice.call.started, voice.call.ended, and voice.session.completed are enough — the last one
carries persisted transcripts.
6. Place a test call
Test in the browser first — a web call runs the same pipeline with no number and no charges:7. Read the transcript
6. Place a test call
Either call the number, or place an outbound call withPOST /make-call.
Send an Idempotency-Key on make-call — 24-hour replay protection means a retried request
won’t place a second real call.
7. Inspect the session afterwards
Session records and transcripts are persisted.voice.session.completed delivers them to your
webhook, and the session APIs let you fetch them directly.
8. Watch a live call
monitor listens; whisper speaks to the agent only; barge joins the caller; escalate hands
to a human; end terminates.
Troubleshooting
Next
SDKs
TypeScript, Python, browser calls.
Configuration
Auth transport, providers, VAD, readiness.
Webhooks
Events and signature verification.
MCP server
Build and tune agents from Claude.