Platform · Outbound
Outbound calls, triggered from your code.
Vocily AI exposes a REST endpoint for placing AI-powered calls — confirmations, follow-ups, qualification. Every call becomes an execution record with transcript, recording, tool results, and outcome. This is not a campaign dialer or predictive dialer — there's no list-loader, no DNC engine. It's a programmable outbound API for the calls your business actually wants to make.
Problem · Solution
The problem today
Outbound calling tools usually come in two flavours: campaign dialers (with list-loaders, predictive dialing, DNC scrubbers) — which most teams don't need and most regulators are increasingly hostile to — or call-yourself-by-pressing-a-button widgets that don't integrate with the rest of your stack. The gap in the middle is the right-sized outbound: triggered by your OMS when an order is placed, your CRM when a lead lands, your scheduler when a reminder is due. One call, in context, with the outcome written back.
How Vocily AI handles it
REST API, not a campaign dialer
POST /v1/calls with the agent ID, the destination number, and any runtime variables — the call goes out. No list-loader, no auto-dialer, no DNC engine. The triggers are yours.
Per-call runtime variables
Inject context per call — caller name, order ID, due amount, anything. Available as template variables in the prompt and the agent's tools.
One execution record per call
Every call writes a structured record — call SID, status, transcript, recording, tool calls, outcome, per-component cost. Queryable, exportable, webhook-pushable.
Structured outcomes
Reached · transferred · booked · follow-up · unreached · opt-out. Outcomes are tags, not free-text. Reporting becomes filtering.
Retries stay yours
Failed calls keep their own record with a reason code. Vocily AI doesn't auto-retry by default — your downstream system decides what to re-queue and when. No surprise re-calls.
What's in it
What an outbound call looks like.
From trigger to write-back, here's the contract.
Triggering
How calls get placed.
- Endpoint
- POST /v1/calls — pass agent ID, to-number, and optional runtime variables.
- Authentication
- Workspace API key. Server-side only.
- Variables
- Per-call key/value pairs that substitute into the agent's prompt and tool configs.
- Idempotency
- Idempotency key supported to prevent double-dial on retries.
Execution record
What lives on every call once it completes.
- Identity
- Execution ID · Call SID · agent · language used.
- Status
- Queued · dialing · in_progress · completed · failed (with reason).
- Transcript
- Full turn-by-turn with word-level alignment events.
- Recording
- Audio per execution (stops at human handoff).
- Tool calls
- Every API tool invocation with input, output, latency, status.
- Cost
- Per-component breakdown — STT, TTS, LLM, telephony — and total.
Outcome categories
Structured tags applied per call.
- Reached
- Caller answered and the conversation completed.
- Transferred
- Agent handed off to a human destination per escalation rules.
- Booked
- A meeting / visit / appointment was created inside the call.
- Follow-up
- Caller asked for a callback at a specific time.
- Unreached
- No-answer, busy, or voicemail — with reason code.
- Opt-out
- Caller explicitly asked not to be called again — timestamped.
Webhooks & write-back
How outcomes get back into your stack.
- Webhook events
- call.started · call.ended · call.failed · transcript.ready · recording.ready · post_call_analysis.ready
- Signing
- HMAC-SHA256 per event so your backend can verify origin.
- Retries
- Exponential backoff with delivery history per endpoint.
- Pull-mode
- REST endpoints to pull execution records on demand if you'd rather not handle webhooks.
From trigger to execution
Every outbound call has a paper trail.
Vocily AI uses the same execution model for every outbound call, so each is traceable from start to finish.
Execution record
Completedexec_29x8b
Outbound · 03:04 · placed via Vobiz
Channel
Outbound
Duration
3m 04s
Transcript
14 turns
Recording
Ready
Tools invoked
Common questions
What teams ask before they switch.
Yes — by POSTing each call individually from your code (loop over your list, fire calls). Vocily AI doesn't ship a campaign dialer, a predictive dialer, or a DNC engine. Pacing, scheduling, and DNC checks live in your application.