Skip to main content
A plain LLM brain answers questions. It does not reliably follow a multi-step process, collect required fields in order, branch on conditions, or call your tools at the right moment. When your voice agent needs that - appointment booking, triage, verification - level up to SuperDialog: a runtime that executes a playbook (journeys of checkpoints that gate outcomes) turn by turn. Wiring is one assignment - the SDK auto-wraps it in a SuperDialogAdapter (see Adapters):
The runnable end-to-end version - Speech Pipe registration, pre-call data, mid-call assist(), flow switching - lives in Embedding guide: Unpod voice.

Voice-specific patterns

Two things you only hit inside a live call.

Give tools call context

Define tools as closures inside your entrypoint so they capture per-call data:

Detect completion

Both engines have terminal states. After run() returns, check whether the dialog finished or the caller hung up mid-conversation:

Authoring the playbook

Generate one with superdialog generate, version-control the YAML, and iterate with superdialog chat - no voice setup needed (Quickstart). The YAML vocabulary and field tables are in Playbooks; HTTP, Python, and MCP tools are in SuperDialog Tools.

Go deeper

Embedding Guide: Unpod Voice

The full worked example: a SuperDialog agent inside an AgentRunner session.

Thinking in Playbooks

The mental model: checkpoints that gate outcomes, and when not to use one.

SuperDialog

The framework itself: playbooks, tools, sessions, CLI.

Bring Your Agent

Prefer your own brain? Adapters for LangChain, OpenAI, Anthropic, HTTP.