Vapi vs Retell: Who owns each production layer?

An engineer comparing a modular voice pipeline with an integrated agent workspace
An engineer comparing a modular voice pipeline with an integrated agent workspace

Vapi and Retell both run voice AI agents, but they draw different boundaries around provider choice, phone infrastructure, and response generation. For a technical team, those boundaries affect more than setup: they determine which services you operate, which failures you can inspect, and how agent changes reach callers. The useful comparison starts with that division of work, then follows it through telephony, testing, monitoring, and cost.

Vapi vs Retell: the short answer

Vapi fits a provider-led architecture. You select supported transcription, large language model (LLM), and voice components, with options to use your own provider accounts and keys. That is useful when existing provider contracts or a particular component mix matter to the product.

Retell fits teams that want to build within its agent frameworks and operating interfaces. Its single-prompt and conversation-flow agents combine response generation with testing tools. Retell also offers managed US and Canadian phone numbers, alongside custom telephony options.

Neither description means the other platform lacks customization or production tooling. Vapi has versioning, simulations, monitoring, and call logs. Retell has model and voice choices plus a custom-model integration. The important distinction is what happens when you move outside the standard configuration.

Production decisionVapiRetell
Supported provider choicesTranscriber, model, and voice selection; own keys for supported providersSelectable model, speech-recognition, and voice providers; custom response-server option
Custom response generationOpenAI-compatible custom model endpointCustomer-operated response server
Phone-number routeFree US inbound number; imported number or carrier connection for other needsManaged US/Canada numbers or custom telephony
Automated conversation testingSimulations and evaluations; publishing behavior mattersPlayground and simulations for eligible agents; custom LLM agents are audio-only
Call investigationMessages, pipeline logs, analysis, cost, and latency views, subject to settingsHistory, recordings, analysis, analytics, and configured alerts
Cost structureHosting plus provider and telephony costs; optional packagesConfigured agent usage plus telephony, add-ons, and recurring resources

Provider choice is different from runtime ownership

A conventional voice pipeline turns speech into text, sends that text to an LLM, then converts the reply into speech. The runtime also decides when the caller has finished, when the agent should speak, and how interruptions affect a response.

Both platforms manage a live-call runtime. Connecting your own model does not transfer that entire runtime to your team.

Vapi: retain supported provider accounts

Vapi lets you configure the transcriber, model, and voice for an assistant. Model presets offer starting combinations, so selecting every component manually is optional.

When you connect a supported provider key, that provider bills you directly for its usage. Vapi's own hosting charge remains a separate cost. Supported customer-owned storage is another boundary you can move outside the default setup.

This model fits a team that already has negotiated provider terms, a preferred voice, or a reason to keep provider accounts under its own control. The tradeoff is coordination: your application still depends on the selected providers as well as Vapi. Provider quotas, credentials, and bills become part of operating the agent.

Vapi also accepts an OpenAI-compatible custom endpoint. That gives an existing model service an integration route, within Vapi's expected request and response contract. It does not make arbitrary model APIs interchangeable.

Retell: choose between built-in frameworks and a custom server

Retell supports built-in model choices, speech-recognition providers, and voice options. Its standard agent frameworks cover single-prompt agents and conversation flows, where the conversation follows configured nodes and transitions.

For response logic outside those frameworks, Retell's custom LLM connection opens a WebSocket, a persistent connection, to your server for each call. Retell sends transcript updates and requests replies. Your server streams back the text to speak, while Retell continues to handle transcription, turn-taking, speech synthesis, and the call itself.

Your team then owns that server's latency, availability, and reconnection handling. Retell can discard an in-flight response when the caller continues speaking, so the server must handle changing response requests correctly.

The operational consequence is substantial: Retell's custom LLM agents cannot use its LLM testing tools, including the LLM Playground and simulation and batch testing. They use web and phone calls for testing. Custom tool executions also need explicit reporting to appear in the transcript.

For a team with an existing retrieval service or agent loop, the comparison is therefore broader than model access. It includes the response adapter, its on-call burden, and the regression tooling available in that mode.

Telephony: who supplies the number and connects the call?

A browser conversation and a telephone deployment have different dependencies. Telephone calls add number ownership, carrier routing, geographic availability, and transfers to the runtime decision.

Vapi separates the initial inbound number from other calling needs

Vapi's phone-number routes include a free US number for inbound calls. Outbound, international, and custom-number deployments use an imported provider number or a SIP connection. SIP, the Session Initiation Protocol, connects telephone infrastructure to the agent platform.

For a bring-your-own SIP route, your team supplies the server or gateway, number, authentication details, and routing configuration. Network allowlisting and provider setup remain part of that call path.

The free inbound route can support an initial inbound deployment. It does not remove the carrier relationship needed for a different number or calling requirement.

Retell offers a managed-number route and a custom route

Retell sells managed US/Canada numbers without requiring a separate telephony-provider account for that route. This can reduce account and number-setup work when those regions fit the deployment.

Retell also supports custom telephony. With that route, your team configures the provider or SIP connection and handles the associated network and number setup.

An existing carrier narrows the difference between the platforms: both have customer-configured connection paths. A new deployment that fits Retell's managed-number coverage has a different responsibility split.

For either platform, a number that accepts an inbound call is only one part of the workflow. The destination for a human transfer, failure handling, and the billing terms for the selected transfer route remain part of the product design.

Production testing: the agent mode changes the release path

Both platforms provide automated conversation testing. A feature-list checkbox hides two important details: which agent configurations are eligible, and which version the tests exercise.

Vapi's published version can already be serving callers

In Vapi's production workflow, assistant edits are saved as drafts, while simulations run the latest published version. Once a phone number is attached, publishing a new current version can put that version in front of live callers before the simulation suite runs.

Vapi provides a configuration-as-code workflow for separating development and production. Configuration changes go through code review, simulation suites can run against a proposed change, and promotion happens between development and production organizations.

The publish-and-simulate path also has a side-effect boundary: simulations can execute real tools when those tools are not mocked. An appointment-booking simulation connected to a production calendar can create an actual booking. Sandbox integrations and mocked tool responses separate conversation evaluation from live business actions.

These are release-design concerns even when the voice runtime is managed.

Retell's built-in testing follows its supported agent frameworks

For eligible Retell agents, the LLM Playground supports turn-by-turn conversation and tool inspection. Simulation test cases add grading and batch regression runs. Web calls exercise audio, while phone calls include the carrier and transfer path.

That stack changes with the agent mode. Custom LLM agents lose the text playground and simulation/batch path. Speech-to-speech agents are also audio-only because there is no text turn to simulate.

A team planning custom response generation therefore has a different release workload from one staying within Retell's single-prompt or conversation-flow frameworks. The custom path brings response logic under your control while leaving more of its testing infrastructure with your team.

Monitoring: both have call visibility, with different details

Vapi's call-log views include metadata, end reasons, transcripts, stored messages, analysis, and latency breakdowns. Detailed pipeline logs depend on the assistant's logging setting. Recordings and transcripts have separate artifact settings, and per-call cost views can be unavailable for invoiced organizations.

Retell combines session history with transcripts, recordings, analysis, and call cost. Its analytics dashboard covers measures such as success, latency, cost, and concurrent calls. Its alert rules act on configured metrics and errors.

The practical distinction is the evidence available for a specific failure. Consider a caller who hears a pause and repeats an appointment request:

  • A retained recording can reveal the captured speech and pauses, though it may not reproduce exactly what reached the caller's handset.
  • Turn timing helps distinguish a pause-detection issue from slow response generation.
  • The tool request and result show whether the booking succeeded despite the spoken delay.
  • The agent version identifies the configuration responsible for that call.

A summary or success score cannot explain all four. Equally, having raw logs does not automatically make investigation quick. The relevant production fit is the combination of retained evidence, access controls, and the team's incident workflow.

Latency belongs to the configured call path

A custom model server, selected voice, carrier route, and turn-taking configuration can all affect perceived response time. Browser audio and telephone audio also exercise different paths.

A single platform-wide millisecond figure does not settle that comparison. A useful latency result defines the beginning and end of the measured interval, the component configuration, the call route, and the distribution across turns. Interruption recovery and successful tool completion matter alongside a fast first reply.

Costs: compare the same workload, not the headline rate

Vapi's usage pricing structure separates hosting from model, voice, transcription, and telephony costs. Own-provider keys can move charges to the provider's bill. Success packages and add-ons sit alongside usage charges rather than replacing them.

Retell's voice-agent cost depends on the configured components and call path. Billing also includes recurring resources such as phone numbers and added concurrency. Its usage credits and recurring charges have separate billing mechanics.

Call behavior affects the result. Retell's transfer-billing rule keeps the normal per-minute charge running while the agent remains on the line, including warm-transfer hold and briefing. Once the caller is connected to the destination and the agent drops off, its AI agent fee stops; telephony fees continue. Its billing also has duration-adjustment exceptions for certain short calls and long prompts, so a blanket claim of unadjusted per-second billing would be misleading.

A comparable estimate includes the same call region, direction, model, voice, average duration, transfer share, peak concurrency, and support requirements. Monthly operating cost also includes any custom response server and the engineering work needed around it.

The detailed Vapi pricing breakdown and Retell pricing breakdown cover the separate rate and plan questions. Neither a lower hosting rate nor a bundled calculator estimate establishes a lower total cost for every deployment.

Which architecture fits your team?

Vapi aligns with a team that wants supported provider accounts and component selection to remain explicit parts of its architecture. It offers a path from dashboard configuration to versioned, code-reviewed operations. That flexibility comes with responsibility for the selected provider relationships and the telephony route beyond its free inbound number.

Retell aligns with a team whose response logic fits its built-in agent frameworks and whose deployment benefits from its testing, analytics, and managed-number route. A custom LLM remains possible, but it changes both the server responsibility and the available testing tools.

For an embedded software-as-a-service (SaaS) product, either choice also sits inside a wider application boundary. Your product still needs a reliable mapping from each customer to the right agent version, credentials, phone routing, and usage records. Model choice alone does not resolve those tenant-level responsibilities.

Where Dasha fits alongside this decision

We approach the same production-platform decision through Dasha's managed runtime, web application, and APIs. Our completed-call inspector brings together transcripts, recordings, model prompts and responses, tool executions, events, and latency details.

We support built-in model choices and OpenAI-compatible custom endpoints. Telephony still has an explicit boundary: customers connect their Twilio account or SIP-provider configuration. Internet telephony (VoIP) and LLM-token charges remain separate cost components. We do not assume that changing platforms removes those provider relationships or makes an existing agent portable without integration work.

For a concrete view of how we investigate production calls, explore our call inspector.

Share

Subscribe

Sign up to our e-mail list to get the best of the Dasha blog sent directly to your inbox.

We use cookies for functional and analytical purposes. Please refer to our Privacy Policy for details.