Integrate voice agents into complex workflows and legacy systems with speech infrastructure and an IDE that give developer-grade control over building rich conversational flows.
Unpod handles the phone and the speech. You receive text at your endpoint and reply with text - the prompt, tools and customer data stay on your side.
Author the conversation in the IDE with developer-grade control, attach speech and a real number, wire it into your workflows and legacy systems, then ship.
Python, Node, REST or MCP - all open source. Receive text, reply with text. Wire it to any LLM, framework or your own loop.
from unpod import Unpod
client = Unpod(api_key="up_...")
# Provision a number for your agent
number = client.numbers.buy(country="IN", agent_id="agt_123")
# Place an outbound call - your webhook gets every turn
call = client.calls.create(
agent_id="agt_123",
to_number="+9197XXXXXXXX",
webhook="https://api.yourapp.com/unpod",
)Real things you ship with Unpod - from coding agents that take calls to on-call pagers and 2FA inboxes.
Call a number, speak a command, and your coding agent runs it over MCP.
Give a long-running agent a real number to dial vendors and follow up, hands-free.
Answer inbound 24/7, qualify intent, book meetings, and warm-transfer with context.
Pager-style escalation — dial the on-call engineer, read the incident, escalate on no answer.
Trigger an outbound dial with one API call; the transcript streams back in real time.
A dedicated number for codes from Stripe, GitHub, or banks — SMS lands in the same webhook.
Handle inbound voice and SMS in one handler; resolve routine queries, escalate with context.
Outbound dials confirm bookings; reschedule links go over SMS through the same SDK.
We handle the phone calls and the speech. You keep your prompt, your model, and your customer data.
Audio is streamed, not stored. Data stays in your region, encrypted with your keys - and the open-source layers let you self-host the whole thing.
Pin storage to US, EU or India regions - your choice, per project.
TLS in transit, AES-256 at rest. Bring your own KMS keys.
Streams aren’t stored by default. Opt in only if you need recordings.
Transcripts and recordings are never used to train any model.
The products, the model, integration and security - the things developers ask before shipping.
Start free with the open-source framework and CPaaS. Meter against Unpod infra only when you go live. No credit card to start.