Quickstart
From sign-up to your first API call
About ten minutes. You need a DialBots workspace; the trial credit pays for everything on this page.
1. Create an account
Sign up at app.dialbots.ai/signup with email and password or Google. You get free trial credit and no card is needed.
2. Create and test an agent
- Choose a template, or describe the job and let the panel draft the agent.
- Pick a voice and languages, and write the opening message.
- Press Test to talk to the draft from your browser. To hear it on a phone, verify your own number with a one-time code and use Call my phone.
- Publish. API calls always use the published version, and every publish is a numbered version you can roll back.
3. Create an API key
In the panel open Settings, then API keys. Give the key only the scopes it needs, for example calls:write and calls:read. The key starts with db_live_ and is shown once. Keep it on your server and never in a browser or mobile app.
Send it as Authorization: Bearer db_live_... (or in an X-Api-Key header). All requests go to https://api.dialbots.ai over HTTPS.
4. Place a call
On a trial workspace, use your own verified phone number as to.
curl -X POST https://api.dialbots.ai/v1/calls \
-H "Authorization: Bearer db_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "AGENT_UUID",
"to": "+919800000000",
"variables": { "first_name": "Asha", "appointment_at": "tomorrow 11 am" },
"idempotency_key": "appointment-1042"
}'variables fill the placeholders in your agent’s instructions, such as {{contact.first_name}} or the appointment details. idempotency_key makes retries safe: sending the same key again returns the existing call (status 200) instead of dialling twice.
{
"id": "6f1c0e1e-...",
"status": "queued",
"direction": "outbound",
"agent_id": "AGENT_UUID",
"to": "+919800000000",
"is_test": false,
"created_at": "2026-11-01T10:00:00+00:00"
}The call object also carries transcript, summary, disposition, extracted fields, cost and duration_seconds once the call has finished.
5. Get notified when it ends
Register an HTTPS endpoint. The response contains the signing secret once, starting with whsec_.
curl -X POST https://api.dialbots.ai/v1/webhooks \
-H "Authorization: Bearer db_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/dialbots", "events": ["call.completed", "call.failed"] }'Verify the DialBots-Signature header on the raw body before you trust a request. The webhooks page has complete Python and Node.js code.
6. Read the result
The call.completed webhook carries the call object. You can also fetch it later:
curl https://api.dialbots.ai/v1/calls/CALL_UUID \
-H "Authorization: Bearer db_live_YOUR_KEY"Conventions
- Lists return
{ "data": [...], "next_cursor": "..." }. Passnext_cursorback ascursorto get the next page. - Errors return
{ "error": { "type", "code", "message" } }with a matching HTTP status. - Scopes are checked per request. A key without the scope gets 403.
- Phone numbers are in E.164 format, for example
+919800000000.
Next
- API reference: every endpoint, generated from our OpenAPI description.
- Webhooks: events, headers, signature check and retries.
- WhatsApp setup: connect a number and run the bot.