Skip to main content
Agents are the core unit in TurnCall. An agent defines the personality, voice, and capabilities of your AI assistant.

Create an Agent

Agent Config

Agents using the bedrock LLM provider or the aws S2S provider also take a top-level aws block for region and credentials — one per agent, shared by both. See AWS credentials.

Warnings on a Read

GET /v1/agents/{id} returns a warnings list beside the config: things worth telling you about a config that must not be refusals, because refusing them would break working agents.
Warnings are derived on every read, never stored, so an agent whose model moved out from under its pronunciations starts saying so without being edited. An empty list means nothing to report.

Template Variables

Personalize agents per-call using {{variable}} placeholders:
Variables are rendered at call start via call-init or the API. See Server Events for how to dynamically inject variables.

Pipeline Mode

Processing is the sum of each stage’s time-to-first-byte. It is not what the caller waits — the agent must first decide the turn has ended. With smart_turn_detection on (the default) that decision is the model’s, and VAD waits only 0.2s; silence_timeout_ms is the window when Smart Turn is off, and on S2S. See Latency. Set pipeline_mode in the agent config:
See Speech-to-Speech for details.

Voice Activity Detection

TurnCall uses Silero VAD for barge-in (interruption handling) and Smart Turn V3 (ML-based, local ONNX) for accurate end-of-turn detection.

Callers Who Go Quiet

A caller who puts the phone down without hanging up holds the line open. After the agent finishes speaking, user_idle_timeout_ms of silence prompts it to check in; a second consecutive silence ends the call with an ended_reason of customer_silent. Speaking resets the count.
On cascade the line is spoken through TTS verbatim. S2S has no TTS stage, so the model is asked to check in and words it itself — expect a paraphrase rather than your exact string.
Not to be confused with silence_timeout_ms, the pause within a turn that decides you have finished your sentence. That one is measured in hundreds of milliseconds; this one in seconds, and only after the agent has spoken.
A third case is neither timeout: a turn the VAD opened and closed with no transcript — a cough, a door, a word nothing recognized. One that interrupted the agent gets a single LLM run, so the agent asks the caller to repeat instead of stopping dead mid-sentence. One that arrives while the agent was already waiting is left unanswered, because replying to a passing truck is intrusive and the idle guard above already covers a caller who has genuinely gone quiet. On by default, and not configurable.

Voicemail Detection

For outbound calls, detect voicemail and leave a message:
Voicemail detection cannot be combined with pipeline_mode: "s2s".

Delete an Agent

Deleting archives the agent (any state): it stops answering calls and disappears from active use, while its call history, transcripts, and analyses remain queryable.