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 ID
Call SID
Status
Tool results
Recording
Cost

Execution record

Completed

exec_29x8b

Outbound · 03:04 · placed via Vobiz

Channel

Outbound

Duration

3m 04s

Transcript

14 turns

Recording

Ready

Tools invoked

crm.lookup_policyschedule.book

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.