- Decide when the caller stops talking.
- Send the caller’s words through a model.
- Speak the reply.
- Stop immediately when the caller interrupts.
- Call your tools in the middle of a turn.
- Tear the session down cleanly when the call ends.
What the runtime owns
Give the runtime an agent definition and a live audio stream. The runtime then owns the full conversational loop:Turn detection
Decides when the caller finished a turn and when the caller barged in over
the agent. Hold-and-confirm prevents a backchannel (“mhm”, “yeah”) from
cutting the agent off.
Model orchestration
Runs the pipeline. The pipeline is a cascade (speech-to-text →
language model → text-to-speech), or a duplex speech-to-speech model
that does all three steps in one streaming session.
Tool calling
Lets the model call your HTTP endpoints and MCP tools in the middle of the
conversation. Feeds the results back to the model. Keeps the caller
engaged while a tool runs.
Session lifecycle
Owns the session from connect to teardown. This includes the idle
watchdog, re-engage prompts, token and duration budgets, and a hard
max-session ceiling.
Two pipeline shapes
The runtime drives a conversation in one of two ways. You choose the shape for each agent. You can mix providers within a cascade.- Cascade (ASR → LLM → TTS)
- Duplex (speech-to-speech)
A cascade chains three specialised models. The first stage transcribes
the caller’s audio. The text then goes to a language model. The last
stage speaks the model’s reply. You get the widest provider choice and
full control of each stage.You can mix providers. For example, use Deepgram for transcription, your
LLM of choice for reasoning, and ElevenLabs or Cartesia for speech. A
local on-device VAD marks turn boundaries, so backchannels never wake
the model.
Wire your own ASR / LLM / TTS
Set the provider and model for each stage.
Cloud duplex providers (OpenAI Realtime, Gemini Live) are supported today.
Support for your own duplex model on-prem is newer. See
self-hosted inference to
learn what is production-ready and what is still in hardening.
Two paths: ours, or your own
The runtime and the transport are decoupled. Decide how much of the stack you want ClutchCall to own:Use the ClutchCall runtime
The built-in runtime drives the conversation end-to-end. You supply an
agent definition and provider credentials. The runtime handles turn
detection, tool calling, and session lifecycle for you. Start here for
most agents.
Keep your own runtime
You can keep an existing conversation engine, such as a LiveKit or Pipecat
pipeline, or your own orchestration. Use ClutchCall as transport
only. It delivers audio in and carries your audio out. Your runtime owns
the turns.
Where the runtime gets its audio
The runtime is transport-agnostic. The same conversational loop drives a call for each transport:
Internally, the runtime uses a single 8 kHz PCM16 audio contract. An agent
behaves the same on a phone call and on a web call. The
transport (web) and
transport (telephony) pages
tell you how audio gets to the runtime.
Configure it
Every agent is a config document. The document sets the pipeline shape, the per-stage providers and models, the turn-detection tuning, the tools, and the budgets. You edit the document in the console atagent.clutchcall.dev or
through the control-plane API. The gateway hot-reloads runtime tunables and
does not drop in-flight calls.
Runtime configuration reference
This reference lists every knob: models, turn detection, codecs, budgets,
and guardrails.
Next steps
The ClutchCall Agent Runtime
The built-in runtime supplies pipelines, providers, and turn-taking.
Turn detection & barge-in
Tune when the agent listens, talks, and yields the floor.
Tool calling
Give the agent HTTP and MCP tools in the middle of the conversation.
Session lifecycle
Learn the session lifecycle from connect to teardown, and the guardrails
that bound it.

