Voice Agent Platforms arenaVoice Agent Platforms
Platforms and frameworks for building production voice AI agents that answer and place phone calls, judged on time-to-first-agent, latency and interruption handling, telephony depth, mid-call tool calling, voices and cloning, transcription quality, testing and analytics, compliance, self-host options, and how completely an AI agent can provision and operate a voice agent through APIs, CLIs, and MCP.
61 user stories · 549 judged cells · updated 2026-09-15 · Evidence as of 2026-09-15
Leaderboard — every product ranked by evidenceLeaderboard
Best by user type — persona-weighted winnersBest by user type
Per persona, the product with the highest persona-weighted coverage over just that persona's stories — not the same ranking as the overall PA Score leaderboard above.
Story matrix — every product × every judged storyStory matrix
Agent building — building agents — abstractions, tool wiring, control flowAgent building
Agent ops
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agent building — building agents — abstractions, tool wiring, control flowMy coding agent can provision a complete voice agent end to end — create the agent, attach a number, and place a call — through the API, CLI, or MCP without touching the dashboard | ai-native | fullT⚿ 8/10 | partialT 6/10 | partialT⚿ 6/10 | fullT 8/10 | partialT 5/10 | partialT 3/10 | fullT 8/10 | partialT 5/10 | partialT 5/10 |
| Agent building — building agents — abstractions, tool wiring, control flowThe platform's own AI helps me author agents — generating or improving prompts, flows, and test cases from a description | ai-native | none 0/10 | partialC 5/10 | partialT⚿ 5/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | partialT 5/10 | none 0/10 |
Build
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agent building — building agents — abstractions, tool wiring, control flowBuild a working phone voice agent — prompt, voice, and phone number — and take my first live call within an hour | developer | fullX 9/10 | fullX 8/10 | partialC 7/10 | fullT 8/10 | fullT 7/10 | partialT 7/10 | fullC 8/10 | partialC 6/10 | partialC 6/10 |
| Agent building — building agents — abstractions, tool wiring, control flowRun conversations in multiple languages, including detecting and switching language mid-call | developer | none 0/10 | none 0/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | partialC 6/10 | none 0/10 | partialC 5/10 |
| Agent building — building agents — abstractions, tool wiring, control flowDesign multi-step conversation flows in a visual builder with branching, states, and handoffs without writing code | founder | none 0/10 | fullC 7/10 | partialC 6/10 | fullC 7/10 | partialC 3/10 | none 0/10 | none 0/10 | partialC 4/10 | none 0/10 |
Personalization
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agent building — building agents — abstractions, tool wiring, control flowInject dynamic variables and per-caller context at call time so each conversation is personalized | developer | none 0/10 | none 0/10 | fullC 8/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 6/10 |
| Agent building — building agents — abstractions, tool wiring, control flowGround the agent on my documents with a built-in knowledge base or RAG so it answers from my content | developer | none 0/10 | partialC 6/10 | fullC 8/10 | none 0/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Agenticness — how well agents can access and operate the productAgenticness
Agent access
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs | ai-native | fullT 8/10 | fullT 9/10 | fullT 9/10 | fullT 8/10 | fullT 8/10 | fullT 9/10 | fullT 9/10 | fullT 9/10 | fullT 9/10 |
| Agenticness — how well agents can access and operate the productRun the product headlessly / in CI for automation | ai-native | partialT⚿ 6/10 | partialT 7/10 | partialT 6/10 | fullT 8/10 | fullT 8/10 | partialT 6/10 | partialT 6/10 | partialT 6/10 | partialT 6/10 |
| Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their tools | ai-native | none 0/10 | fullC 8/10 | fullC 8/10 | none 0/10 | fullC 8/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productConnect an agent via an official MCP server | ai-native | fullT⚿ 9/10 | fullT 9/10 | fullT⚿ 9/10 | fullT 8/10 | none 0/10 | partialT 6/10 | fullT 8/10 | fullT 8/10 | fullT 7/10 |
| Agenticness — how well agents can access and operate the productUse an official CLI | ai-native | fullT 9/10 | fullT 9/10 | fullT 9/10 | fullT 9/10 | fullT 9/10 | fullT 9/10 | fullT 8/10 | none 0/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productDrive the product through a documented public API | ai-native | fullT⚿ 9/10 | fullT 9/10 | fullT⚿ 9/10 | fullT 9/10 | fullT 8/10 | partialT 7/10 | fullT 8/10 | fullT 9/10 | fullT 9/10 |
| Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent | ai-native | partialT⚿ 3/10 | none 0/10 | none⚿ 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 |
| Agenticness — how well agents can access and operate the productBuild against official SDKs | ai-native | fullT⚿ 8/10 | fullT 9/10 | partialT 4/10 | partialT 6/10 | fullT 9/10 | fullT 9/10 | partialT 5/10 | partialT 5/10 | partialT 5/10 |
| Agenticness — how well agents can access and operate the productSubscribe to events via webhooks | ai-native | fullC 7/10 | fullC 8/10 | none 0/10 | partialC 6/10 | none 0/10 | none 0/10 | none 0/10 | fullC 8/10 | none 0/10 |
Agentic features
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productGet AI-generated insights and suggestions from my data inside the product | ai-native | none 0/10 | partialC 6/10 | partialC 5/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 5/10 | partialC 6/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the background | ai-native | partialC 4/10 | partialX 6/10 | partialC 4/10 | partialC 6/10 | fullT 7/10 | partialC 4/10 | partialT 6/10 | fullC 7/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productDelegate tasks to a built-in AI assistant inside the product | ai-native | none 0/10 | partialC 3/10 | partialT⚿ 5/10 | fullC 8/10 | none 0/10 | none 0/10 | none 0/10 | fullT 8/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productOperate the product with natural-language commands | ai-native | fullT⚿ 7/10 | fullT 7/10 | fullT⚿ 8/10 | fullT 8/10 | partialT 4/10 | partialT 6/10 | fullT 7/10 | partialT 6/10 | fullC 8/10 |
Api quality
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examples | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialT 5/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent) | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullT 9/10 | fullT 9/10 |
| Agenticness — how well agents can access and operate the productTest against a sandbox environment without touching production data | ai-native | fullC 7/10 | partialC 4/10 | partialC 4/10 | partialC 6/10 | partialT 6/10 | partialC 5/10 | none 0/10 | partialC 4/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy | ai-native | none 0/10 | none 0/10 | none 0/10 | partialT 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Automation depth — how much of the product can run unattendedAutomation depth
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Automation depth — how much of the product can run unattendedPerform bulk operations across many items at once | ai-native | none 0/10 | partialT 4/10 | none 0/10 | fullT 7/10 | none 0/10 | partialC 3/10 | partialC 5/10 | partialT 6/10 | none 0/10 |
| Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events | ai-native | partialC 5/10 | partialC 6/10 | partialC 6/10 | fullC 7/10 | partialC 5/10 | partialC 6/10 | partialC 4/10 | partialC 5/10 | partialC 5/10 |
| Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullC 7/10 | none 0/10 |
| Automation depth — how much of the product can run unattendedVersion, review, and roll back my automations | ai-native | none 0/10 | partialC 4/10 | none 0/10 | partialC 6/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 3/10 | partialC 3/10 |
Compliance trust — stories about compliance trust in this arenaCompliance trust
Compliance
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Compliance trust — stories about compliance trust in this arenaMeet call-recording consent and disclosure obligations with per-call recording controls and configurable data retention | founder | none 0/10 | partialC 5/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 3/10 | none 0/10 | partialC 6/10 | partialC 4/10 |
| Compliance trust — stories about compliance trust in this arenaRun regulated workloads with HIPAA/BAA support, SOC 2, and data-residency options | platform-engineer | partialC 5/10 | none 0/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 | partialC 3/10 | none 0/10 | partialC 4/10 |
Deployment scale — stories about deployment scale in this arenaDeployment scale
Scale
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Deployment scale — stories about deployment scale in this arenaSee documented concurrency limits and scale to many simultaneous calls without manual capacity begging | platform-engineer | none 0/10 | partialC 5/10 | none 0/10 | partialC 3/10 | partialX 3/10 | partialX 4/10 | partialC 3/10 | none 0/10 | none 0/10 |
Self host
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Deployment scale — stories about deployment scale in this arenaSelf-host the voice agent runtime from open-source code on my own infrastructure | platform-engineer | none⚿ 0/10 | none 0/10 | none⚿ 0/10 | none 0/10 | fullT 9/10 | fullT 9/10 | fullC 8/10 | none 0/10 | none 0/10 |
Latency turntaking — stories about latency turntaking in this arenaLatency turntaking
Latency
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Latency turntaking — stories about latency turntaking in this arenaSee documented end-to-end voice latency numbers or tuning guidance backing the platform's speed claims | platform-engineer | partialC 3/10 | partialC 5/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 6/10 | none 0/10 | none 0/10 | none 0/10 |
Turn taking
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Latency turntaking — stories about latency turntaking in this arenaRely on the agent to handle interruptions (barge-in) gracefully — stopping speech, updating context, and recovering the turn | developer | none 0/10 | none 0/10 | partialC 6/10 | none 0/10 | fullT 8/10 | fullC 8/10 | none 0/10 | none 0/10 | partialC 6/10 |
| Latency turntaking — stories about latency turntaking in this arenaEnable noise suppression or audio filtering so the agent stays coherent on noisy real-world calls | developer | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullC 8/10 | none 0/10 | none 0/10 | none 0/10 |
| Latency turntaking — stories about latency turntaking in this arenaUse model-based end-of-turn detection beyond simple VAD silence timeouts so the agent doesn't talk over slow speakers | developer | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullC 9/10 | fullC 8/10 | none 0/10 | none 0/10 | none 0/10 |
Openness — open source, data portability, and self-hosting storiesOpenness
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Openness — open source, data portability, and self-hosting storiesDo everything through the API that I can do in the UI | ai-native | fullT⚿ 8/10 | fullT 8/10 | partialT 7/10 | fullT 7/10 | partialT 6/10 | partialT 4/10 | partialT 7/10 | partialT 6/10 | partialT 6/10 |
| Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leave | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialT 5/10 | partialC 3/10 | none 0/10 | none 0/10 |
| Openness — open source, data portability, and self-hosting storiesRead the product's source under an open license | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullT 8/10 | fullT 9/10 | partialC 5/10 | none 0/10 | none 0/10 |
| Openness — open source, data portability, and self-hosting storiesSelf-host the core product | ai-native | none⚿ 0/10 | none 0/10 | none 0/10 | none 0/10 | fullT 9/10 | fullT 8/10 | fullC 8/10 | none 0/10 | none 0/10 |
Pricing plans — plan structure and value — what each tier costs and what it unlocksPricing plans
Pricing
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pricing plans — plan structure and value — what each tier costs and what it unlocksSee published per-minute or usage pricing and estimate cost per call before committing | founder | none 0/10 | fullX 8/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 | none 0/10 | none 0/10 |
Privacy posture — data-handling and privacy storiesPrivacy posture
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Privacy posture — data-handling and privacy storiesChoose where my data is stored (region/residency) | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialT 5/10 | partialT 3/10 | partialC 6/10 | none 0/10 | partialC 6/10 |
| Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 6/10 |
| Privacy posture — data-handling and privacy storiesControl data retention and deletion | ai-native | none 0/10 | disputedD 5/10 | partialC 6/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 6/10 | partialC 5/10 |
| Privacy posture — data-handling and privacy storiesOpt out of telemetry and usage tracking | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 |
Telephony — stories about telephony in this arenaTelephony
Call control
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Telephony — stories about telephony in this arenaEscalate a live call to a human with warm or blind transfer, passing context along | developer | none 0/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 | none 0/10 |
| Telephony — stories about telephony in this arenaMy agent can send DTMF keypresses, navigate IVR menus, and detect or leave voicemail | developer | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Campaigns
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Telephony — stories about telephony in this arenaRun batch outbound call campaigns with scheduling and throughput controls | founder | none 0/10 | none 0/10 | none 0/10 | fullC 8/10 | none 0/10 | none 0/10 | partialT 5/10 | partialC 6/10 | none 0/10 |
Numbers
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Telephony — stories about telephony in this arenaProvision phone numbers and run both inbound and outbound calls through the platform's API | developer | fullT⚿ 8/10 | fullT 8/10 | partialC 6/10 | fullT 8/10 | partialC 6/10 | partialC 4/10 | partialT 6/10 | partialT 7/10 | partialC 6/10 |
Sip
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Telephony — stories about telephony in this arenaConnect my own carrier or PBX via SIP trunking (or import Twilio/Telnyx numbers) instead of being locked to bundled telephony | platform-engineer | partialC 5/10 | fullC 8/10 | partialC 7/10 | fullC 8/10 | fullC 7/10 | fullC 7/10 | fullC 8/10 | fullC 8/10 | none 0/10 |
Testing analytics — stories about testing analytics in this arenaTesting analytics
Analytics
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Testing analytics — stories about testing analytics in this arenaThe platform's AI reviews my calls for me — scoring quality, flagging failures, and analyzing resolution automatically | ai-native | partialC 4/10 | partialC 6/10 | fullC 7/10 | partialC 7/10 | disputedD 3/10 | none 0/10 | partialC 3/10 | partialC 5/10 | none 0/10 |
| Testing analytics — stories about testing analytics in this arenaSee call analytics — success rates, durations, outcomes, sentiment — in dashboards without building my own | founder | none 0/10 | fullC 8/10 | partialC 6/10 | partialT 4/10 | none 0/10 | none 0/10 | none 0/10 | partialC 6/10 | none 0/10 |
Monitoring
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Testing analytics — stories about testing analytics in this arenaMonitor live calls in production and get alerts when agents misbehave or error rates spike | platform-engineer | none 0/10 | partialC 6/10 | partialC 4/10 | partialC 4/10 | none 0/10 | partialX 4/10 | none 0/10 | partialC 5/10 | none 0/10 |
Testing
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Testing analytics — stories about testing analytics in this arenaTest agents with simulated conversations or evals before putting them on real phone calls | developer | fullC 9/10 | partialC 5/10 | fullC 8/10 | fullC 8/10 | fullC 8/10 | fullT 8/10 | none 0/10 | partialC 5/10 | none 0/10 |
Tools function calling — stories about tools function calling in this arenaTools function calling
Post call
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Tools function calling — stories about tools function calling in this arenaExtract structured data from every call — outcomes, entities, dispositions — delivered via API or webhook after the call | developer | none 0/10 | fullC 7/10 | partialC 6/10 | partialC 6/10 | none 0/10 | partialC 4/10 | partialC 6/10 | partialC 6/10 | none 0/10 |
Tools
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Tools function calling — stories about tools function calling in this arenaMy voice agent can plug in MCP servers as tool sources so one integration grants it whole toolsets mid-call | ai-native | none⚿ 0/10 | fullC 8/10 | fullC 8/10 | none 0/10 | fullC 9/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Tools function calling — stories about tools function calling in this arenaMy agent can call external APIs and custom functions mid-conversation and speak the result without awkward dead air | developer | partialC 6/10 | partialT 6/10 | fullC 7/10 | partialC 6/10 | fullT 9/10 | fullC 8/10 | none 0/10 | partialC 6/10 | partialC 6/10 |
Transcription recording — stories about transcription recording in this arenaTranscription recording
Recording
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Transcription recording — stories about transcription recording in this arenaRetrieve full call recordings and transcripts programmatically for every call | platform-engineer | none 0/10 | partialC 6/10 | partialC 5/10 | none 0/10 | none 0/10 | partialC 5/10 | partialC 5/10 | partialT 5/10 | none 0/10 |
Transcription
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Transcription recording — stories about transcription recording in this arenaGet accurate real-time transcription with control over the STT provider, language models, or key terms | developer | none 0/10 | partialX 4/10 | partialC 4/10 | none 0/10 | partialC 6/10 | partialX 6/10 | partialC 5/10 | none 0/10 | partialC 6/10 |
Voices tts — stories about voices tts in this arenaVoices tts
Voices
| Story | Persona | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Voices tts — stories about voices tts in this arenaClone a custom brand voice and use it for my agents, with a documented consent process | founder | none 0/10 | partialC 5/10 | none 0/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | partialC 5/10 | none 0/10 |
| Voices tts — stories about voices tts in this arenaChoose from a broad voice library or plug in multiple TTS providers to get the voice I want | developer | partialC 6/10 | fullX 7/10 | partialC 5/10 | partialC 3/10 | partialC 6/10 | fullX 8/10 | partialC 6/10 | partialC 3/10 | none 0/10 |
Adjacent arenas — categories often shopped togetherAdjacent arenas
Shopping this category often means shopping these too.