Skip to main content
This documents the v1 product. It is kept for integrations already running on it. If you are building something new, start with the Quickstart.
An assistant is v1’s agent: prompt, voice identity, telephony bindings, call settings, knowledge base and post-call analysis plan. All endpoints are workspace-scoped — send the workspace header.

Variants

Create an assistant

Core fields

200 OK — the created assistant under data.

Variables

Declare each variable in variant.config.inputSchema, reference it in agent.systemPrompt / agent.firstMessage as {{name}}, and supply its value per call. Nested values use dot paths: {{customer.firstName}}.
type is one of string, number, boolean, object, array; nested shapes use fields. A placeholder with no matching value is left in the prompt verbatim — the assistant will read the braces aloud. Always send every required variable.
Documented inconsistencyThe API description text calls the per-call values object variableValues, while the POST /v2/call/initiate request schema and all of its examples use payload. payload is what the endpoint accepts. See Calls.

ICP context

Shapes tone, vocabulary and pace.

Call settings

slots is v1’s calling-window enforcement. Set it to your compliant window — see India calling rules.

Analysis plan

Post-call AI evaluation. Results arrive on the end-of-call event.
Vague success criteria produce vague booleans. Enumerate the conditions and state the false cases explicitly.

Pre-call enrichment

If preCall.apiPlan.url is set, we call your endpoint before the call connects (inbound or outbound) and merge the returned data into the call’s variables, so your {{placeholders}} can use it — greeting an inbound caller by name, for example. We send number and assistantId as query parameters for method: get, or as a JSON body for method: post. Keep the endpoint fast: it sits in front of the call.

Get an assistant

200 with the assistant under data; 404 if it is not in this workspace.

List assistants

Returns every assistant in the workspace under data.

Update an assistant

Send the fields you want to change.
There is no delete. Archive the workspace or organization instead.
The catalogue of available voices. The slug is what goes in agent.identity.voice — and in v2’s voice.voice_id.
200 OK
Listen to sampleAudio before you pick. Voice choice moves answer-through rates more than prompt wording does.