Skip to main content

The Problem Nobody Talks About

You have an AI agent. It works great in a chat window. You want to give it a phone number. That should take an afternoon. Instead it takes months. Here is why: 80% of the engineering effort burns on speech infrastructure - not on the AI itself. The speech layer — transcription, synthesis, VAD, barge-in detection, endpointing, carrier connections — takes 10x longer to build than the agent logic. Most teams spend 3–4 months wiring this up before their agent takes a single real call. Your team should ship product - not run a speech infra company.

What Unpod Is

Unpod is communication infrastructure for AI agents. We own the entire communication stack so you don’t have to.

Phone Numbers

Provision numbers directly from Unpod or bring your own. No SIP trunk setup, no carrier account.

Fully Managed Speech

STT, TTS, VAD, barge-in, endpointing - all configured, monitored, and failed over automatically.

One Webhook

Your agent receives transcribed text and returns text. Audio never leaves Unpod.

How It Works

You already have an agent. It could be LangChain, a FastAPI endpoint, n8n, SuperDialog - anything that accepts text and returns text. Unpod gives it a phone number and handles everything between the caller and your logic.
Unpod voice stack diagram showing callers, browser users, and mobile users connecting through the managed speech layer to your agent.
Your endpoint never touches audio. It never touches SIP. It never manages a carrier.

What This Looks Like in Code

This is a complete production voice agent using the Unpod SDK:
from superdialog import DialogMachine, Flow
from unpod import AgentRunner, CallContext

flow = Flow.load("support.json")

async def handle_call(ctx: CallContext) -> None:
    ctx.session.dialog_machine = DialogMachine(flow=flow, llm="anthropic/claude-haiku-4-5")
    await ctx.session.run()

AgentRunner(entrypoint=handle_call, agent_id="agt_...").start()
No pipeline configuration. No WebRTC. No SIP setup. No carrier account. No audio handling. You can also point Unpod at any HTTP endpoint or LangChain agent you already have - no SDK required.

Where Unpod Sits in the Stack

Layered diagram showing Unpod as communication infrastructure between raw telephony providers and agent platforms.
Unpod sits between raw carriers (Layer 1) and agent platforms (Layer 3). We are the communication stack that agent builders rely on - and that you can use directly.

Who Unpod Is For

You have…Unpod gives you…
A Python agentA phone number and fully managed speech in 2 hours
An HTTP endpointInbound calls routed to it - no code changes
A LangChain chainDrop-in adapter - voice in, voice out
A product to shipProduction voice in days - not months

Next Steps

Unpod vs LiveKit vs Pipecat

How Unpod compares to audio frameworks on time to production and ownership.

How It Works

The communication stack - from caller to your agent and back.