Anatomy
An agent has a top level and aconfig block.
string
required
Human-readable name, shown in the dashboard and call logs. Maximum 100
characters.
string
Free text for your own reference. Not sent to the model.
enum
ACTIVE, INACTIVE, or SUSPENDED. Only ACTIVE agents accept calls.object
required
Everything about how the agent sounds and behaves. Detailed below.
array
Built-in call functions. Each has a
type of CALL_TRANSFER, END_CALL,
CALENDAR_CHECK, or CALENDAR_BOOK, plus name, description, and config.string[]
Corpus IDs to attach. Each becomes a
search_{name} tool on the agent
automatically. See Corpora.string
Spoken verbatim before a corpus search, to cover the lookup pause. Maximum
300 characters. See Corpora.
string
A note recorded against the version this update creates. Only meaningful on
PATCH.Request and response are not symmetric. You send configuration under
config; the API returns it under standardConfig (or customProvider
for custom-provider agents), alongside a type discriminator of "standard"
or "custom". Read from standardConfig, write to config.Personality
These four fields are assembled into the agent’s system prompt, in this order.
These five fields are assembled into one system prompt in a defined order, with
empty fields omitted — see Writing agent prompts.
Voice and language
string
required
From
GET /languages. Sets the primary
language, though the agent auto-detects and can switch mid-call.string
required
From
GET /voices. Filter by languageCode and
preview with each voice’s previewUrl before choosing.Model
enum
default:"llama"
Which model reasons during the call.
Call behaviour
See Calls for the full picture. In brief:number
default:"0"
Response variability. Accepted range 0–1. Keep at
0 for transactional
agents where consistency matters more than personality.integer
default:"3000"
Hard cap in seconds. Accepted range 60–7200; the default of 3000 is 50
minutes.
enum
default:"agent"
agent opens with the greeting. user waits for the caller. Outbound calls
always wait, whatever this says — the person answering speaks first.boolean
default:"false"
Whether the caller can talk over the agent’s first message. Later turns are
always interruptible.
boolean
default:"true"
Whether audio is stored and retrievable after the call.
Attachments
Agents gain capability by linking to other resources:Tools
Let the agent call your API mid-conversation.
Corpora
Ground answers in your indexed documents.
Phone numbers
Answer inbound calls on a number you own.
Call records
Transcripts, duration, and cost after each call.
Versioning
Every update that actually changes something creates a version — a snapshot of the agent as it was before the edit, with an optional change note. Updates that change nothing do not create a version, so history stays readable rather than filling with no-op saves. Browse and restore versions from the agent page in the dashboard.Workspaces
Agents belong to a workspace. An API key reaches only its own workspace’s agents, and all usage bills to that workspace’s owner — so a team member’s calls are paid by the account that owns the workspace, not by the member.Lifecycle
Deleting an agent also deletes its config, tool assignments, and version
history. Call records are kept for billing and audit.