Learn
→
Resources
→
Use Cases
→
AI Agents
— AI Agents
AI Voice agents you can actually put in production
Define the agent in Python. Scope its tools and data per step. Deploy on real telephony, with your code governing every turn.
The hard part
Voice AI demos pass. Production is where they break.
Every voice AI failure traces to one problem: the call is stateful and real-time, but traditional platforms treat it as stateless transactions. So your app becomes the state machine, and everything hard about voice AI breaks from there.
The model acts on stale context and drifts out of bounds. Every decision crosses a network hop, so the conversation lags. And the record is scattered across services, so you're debugging blind. When the platform owns the call's state, these problems go with it: your code governs the agent against the call's real-time state, the AI runs in the media path for low latency, and every step lands on one record you can inspect.
A program that uses a model, not a model that uses tools.
The model makes it natural. The software makes it correct.
Try it now
Talk it through with Sigmond
Sigmond is a voice AI agent running on the SignalWire infrastructure this page is about. Ask him about anything you just read.

The event stream
Every step, tool call, and decision, on one record
A live call, mid-conversation: speech detected with confidence scores, the response timed at every stage, a tool result from your code, and the step change it triggered. This is what debugging voice AI looks like when the platform owns the record.

How it works
A look inside an AI agent, mid-turn
Foundation models are brilliant at conversation and unreliable at everything else. Mid-turn, five things work at once: the model brings the language, your code brings the process.
Build it
Build a voice agent in one Python file
From idea to phone number in an afternoon: define the agent, scope each step, and deploy with telephony built in. Your code stays in control the whole way.
Ten languages, one mental model
The same concepts and names across Python, TypeScript, Go, Java, Ruby, and more.
Test before you dial
Run every tool and inspect the exact document a call would get, locally, from the CLI.
Your AI, your webhooks
Tools call your systems with per-call security tokens minted and validated for you.
Composed in code
The developer authors the model’s entire world
What it sees, what exists, where it can go: each step has its own instructions, its own tools, its own exits.
greet
tools: none · next: collect
Instructions only.
collect
tools: check_calendar · next: confirm
Finds real openings.
confirm
tools: book_appointment · next: wrap_up
The software acts; the model only requests.
wrap_up
tools: none · next: none
Structurally complete.
When the model requests a tool, your code reads data the model never sees, acts, and returns a new prompt into its context. One returned result atomically updates the data, moves the step, and controls the call.
The platform behind it
One call, every capability
Build the agent in code, give it tools, and steer the live call as it happens. The control plane owns the call's state so your code decides the outcome, not the model.
The hard parts
The hard parts and how SignalWire handles them
In production
Built by teams that ship production voice AI at scale
Trusted by forward-thinking companies
20 yrs
carrier-grade engineering, from the creators of FreeSWITCH
2,700+
companies run on the platform today
2.7B
minutes and messages a year on the same infrastructure
SOC 2 · HIPAA · PCI · GDPR · ISO 27001. Regulated workloads welcome: healthcare, finance, and payments run here because the controls are structural, not promised.
Your calls inherit twenty years of hardening.
FAQ
Frequently asked questions
The questions we hear most, from how agents hold context to how they route calls.
How does SignalWire's AI Voice Agent API work?
It integrates speech recognition, LLM orchestration, and text-to-speech natively into the media and signaling layers. Use the server SDKs in 10 different languages, including Python, to define agent logic, connect to APIs mid-call, and route to humans when needed.
How do SignalWire AI agents handle multi-step workflows without losing context?
Agents progress through explicitly defined Contexts and Steps with completion criteria. At each transition, an updated state is passed into the next step's prompt, so the AI gets a fresh, accurate context window instead of carrying (and drifting on) full conversation history.
What is the SignalWire AI kernel?
The orchestration layer sitting between telecom infrastructure and the language model. Call state, routing logic, and telephony actions stay in the infrastructure layer, with AI used as a tool inside that controlled environment so the LLM can't lose context or corrupt the session.
How does SignalWire handle state management in AI voice agents?
Your agent server can be stateless because the platform carries the call state and presents it to your code at each step. The AI kernel holds all call state (caller data, step progress, variables) and injects it into the prompt dynamically at each step, so the AI always sees exactly what it needs.
Do SignalWire AI agents work with PSTN, SIP, and WebRTC?
Yes. The same logic and workflows work across PSTN phone numbers, SIP endpoints, and WebRTC browser or app sessions.
How do SignalWire AI voice agents handle complex workflows like booking appointments or triggering SMS mid-call?
Agents use SWAIG (SignalWire AI Gateway) to trigger programmable functions mid-conversation, sending an SMS confirmation, querying a CRM, or inserting a calendar appointment, without human intervention or ending the call.

