- A system prompt (what the AI says, how it behaves)
- A voice ID
- A language
- Behaviour settings (response length, interruption sensitivity, silence handling)
- Action configuration (transfer numbers, SMS templates)
- An optional webhook URL for post-call data
Architecture
Configurable fields
When youPOST /v1/agents, you can set:
| Field | Type | Default | Purpose |
|---|---|---|---|
name | string | "Untitled Agent" | Display name in dashboard |
system_prompt | string | empty | What the agent should do (see below) |
welcome_message | string | generic | First thing the agent says on inbound calls |
voice_id | string | "Ashley" | voice |
language | string | "en" | Default language code |
response_length | enum | "medium" | short, medium, or long |
interruption_sensitivity | enum | "medium" | low, medium, high |
max_call_duration_seconds | int | 300 | Hard cap; engine ends call at this |
silence_hangup_seconds | int | 10 | Hang up if caller silent this long. Range 5–45. |
pickup_delay | int | 10 | Seconds to wait after pickup before speaking. Range 5–30. |
record_call | bool | true | Record audio to Supabase bucket |
webhook_url | string | null | Where to POST post-call data |
transfer_type | enum | "cold" | cold or warm. Applies to inbound, outbound, and batch calls. |
transfer_whisper | string | null | Warm transfer briefing. If empty, AI auto-generates. |
transfer_number | string | null | Default destination for [TRANSFER:] |
post_call_sms_template | string | null | If set, sends this SMS after call ends |
llm_model | string | "default" | LLM used during calls |
temperature | float | 0.7 | Creativity vs predictability |
fallback_message | string | sensible default | Said when STT confidence is too low |
Writing a good system prompt
The agent is the brain. The prompt tells it who it is, what to do, and what not to do. For a deeper guide - scenarios, style, and inbound vs outbound - see Writing a good agent prompt. A solid agent prompt has six sections:Business facts
Concrete facts the agent must know. Opening hours, address, services, prices. Never invent these.
Goal
What success looks like. “Book an appointment, answer a question, or transfer to the dentist if it’s clinical.”
Rules
Hard constraints. “Never give medical advice. Never quote prices not in this prompt. If unsure, transfer.”
Style
How to speak. “Warm British accent. Short sentences. One question at a time. No bullet points (you’re on a phone call).”
Actions
When to use built-in tags like
[TRANSFER:], [SEND_SMS:], [END_CALL]. See Agent actions.Example prompt
Listing and updating
GET /v1/agents— list all your agentsGET /v1/agents/:id— fetch onePUT /v1/agents/:id— update any fieldDELETE /v1/agents/:id— remove (calls in progress finish first)