What Is a Speech Pipe?
A Speech Pipe in Unpod ties together a voice profile (STT + TTS), telephony (phone numbers), and a pointer to your agent brain into a single deployable unit. When a call arrives on a number attached to the pipe, the orchestrator dispatches it to yourAgentRunner process.

Creating a Pipe
create() parameters
Listing Pipes
Pipe fields
Getting a Single Pipe
Updating a Pipe
Deleting a Pipe
How the Pipe Reaches Your Brain
The pipe never calls your brain over HTTP. On every call the orchestrator dispatches the session to a worker, and the worker connects to yourAgentRunner over a WebSocket bridge (text in / text out). There are two ways the pipe finds that runner:
- By
agent_id(preferred). Run anAgentRunnerwith the sameagent_idas the pipe. It self-registers its bridgeserving_url; the orchestrator picks a registered, least-loaded runner per call. You never hardcode a URL. - By
agent_endpoint(static fallback). Set the pipe’sagent_endpointto a fixedwss://...bridge URL. Used only when no runner is registered foragent_id. This is a WebSocket URL, not an HTTP endpoint.
agent_endpoint is not an HTTP webhook - the orchestrator does not POST to it. It is the WebSocket bridge URL your AgentRunner serves on.Bridging a Remote HTTP Brain
If you already have a chatbot or API (any language) and want to voice-enable it, run anAgentRunner and set its dialog brain to an HTTPAdapter. The adapter POSTs each user turn to your endpoint from inside the runner:
HTTPAdapter Protocol
TheHTTPAdapter sends a POST on every user turn:
This protocol is not OpenAI-compatible. It is a simple text-in / text-out interface - your endpoint owns all LLM or chatbot logic. Forward to OpenAI, Gemini, a rules engine, or anything else under the hood. See Adapters for the full
HTTPAdapter contract (streaming, assist(), error surfaces).Pipe + Runner Pattern (Recommended)
The recommended pattern for production is a dedicatedAgentRunner process:
agent_id in AgentRunner must match the pipe’s agent_id in the platform. The orchestrator uses it to route dispatches to the correct runner worker.
Next Steps
SDK Setup
Install and configure the AgentRunner for production.
Session Controls
Say, transfer, end, and record during live calls.