Dograh

The Business Case for AI Voice Agents: ROI and Payback

The Business Case for AI Voice Agents: ROI and Payback
GuideOctober 29, 2026·11 min read

The Business Case for AI Voice Agents: ROI and Payback

Pritesh Kumar
Pritesh Kumar·Co-founder, Dograh AI

Building Dograh, the open-source alternative to Vapi. OSS and Voice AI. Exit founder and YC alum.

An AI voice agent pays back when the value of the calls it resolves beats its running cost and one-time build. Count resolved calls, and treat containment with care. Price each minute as platform fee, model usage and phone line, add review time and exit cost, then prove every input in a pilot.

Key Takeaways

  • Count the calls the agent resolves, since containment can hide callers who gave up.
  • A minute costs a platform fee, model usage and the phone line.
  • Every payback figure is a guess until a pilot measures it.

This guide covers cost, value, ROI and payback math, the build choice, the pilot and the platform checklist, and shows how each number comes from your own calls in Dograh, the open-source AI voice agent platform we build. You can self-host it or run it on Dograh Cloud.

What a voice agent business case has to show

A voice agent business case answers one question for whoever signs the budget, which is whether the money the agent saves or earns beats what it costs, and how soon. It needs two columns, cost and value, plus an honest note on how far each number can be trusted.

That note is where most cases fall over. In Omdia's 2025 AI Market Maturity Survey, reported by The Register, the largest group of enterprises, 31%, saw fewer than 5% of their AI proofs of concept succeed. Only 9% moved more than half of their proofs of concept into production.

So treat every number you write before a pilot as an assumption, and label it that way in the document. The pilot then swaps each assumption for a measured number from your own calls. A case built like this can be checked line by line, which is exactly what a finance reviewer will do.

Plan for the numbers to move after launch too. Callers behave differently with an agent than with a person, and teams very often change the whole call flow once the agent goes live. Keep the case in a form you can rerun with new numbers every month.

The cost side: every line on the bill

The running cost of a voice agent is a per-minute bill plus a few fixed lines that are easy to leave out.

The per-minute bill has three parts. The platform or orchestration fee pays for whatever runs the call flow. Model usage pays for speech-to-text, the language model and the voice. The phone line is the carrier's own rate. Twilio's US voice pricing lists $0.0140 a minute for outbound calls and $0.0085 for inbound calls to a local number.

Our post on what an AI voice agent costs per minute works through each line with named rates. One rule from it matters here. You pay those minutes on every call the agent answers, including the ones it hands to a person. A call that runs two minutes before a transfer costs two agent minutes plus the person's time, so your transfer share belongs in the cost model.

A three-panel comic of one call. The agent answers a caller, two minutes in it hands the caller to a support person, and the support person finishes the call. The bill for that one call shows two agent minutes plus the person's time.
Your transfer share belongs in the cost model, because a line where many calls end with a person still pays the agent's minutes on each of them. Leave those minutes out and the cost side of the case comes out low.

Then come the fixed lines. You pay for servers if you host the platform or the models yourself, and for build and integration time once. People spend time reviewing calls every month. The cost of leaving comes later, but price it now, because moving an agent means rebuilding its prompts and tools somewhere else and testing it all again.

On premium voices, the voice can be the largest part of the model bill. Pre-recorded audio cuts it by playing human clips where they fit and using TTS only for the rest. Our post on cutting voice AI costs with pre-recorded audio shows why the whole minute falls by much less than the voice line does.

The value side: count resolved calls

Value comes from the calls the agent finishes for the caller, so count resolved calls and treat containment with care. The containment rate counts calls that ended without reaching a person. An agent that loops callers until they hang up scores well on it. A resolved call is one where the caller got what they rang for, with no repeat call about the same thing inside a window you set, such as seven days. Our post on tier-1 call deflection shows how to count solved calls.

The first source of value is hours moved. Multiply resolved calls by the minutes a person would have spent on each, wrap-up included. The US Bureau of Labor Statistics puts the median wage for customer service representatives at $21.53 an hour in May 2025. That is pay alone. Your loaded cost, with benefits, seats, tools and supervision, is higher, so use your own payroll figure.

Hours only turn into money when they are used. If the team stays the same size and the freed time has nowhere to go, the saving shows on paper and never reaches the bank account. Count it when it replaces paid hours, such as overtime or planned hires, or when people move to work that earns.

The second source is missed calls answered, meaning calls that used to ring out after hours or at peaks. Value each one at what an answered call is worth to you, such as the average booking or the share of leads that close.

The third is revenue recovered, such as payments and renewals the agent brings in. These need a control group, because some of those customers would have paid anyway. The collections section below shows how to set one up.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

How to calculate voice AI ROI and payback

ROI is the net gain divided by what you spent, and payback is the one-time cost divided by the monthly net gain.

The formulas below need four inputs from your own data, resolved_calls, minutes_saved_per_call, loaded_hourly_cost and all_minutes, plus your cost per minute and your one-time cost:

monthly_value  = resolved_calls x minutes_saved_per_call / 60 x loaded_hourly_cost
                 + revenue you can tie to a call
monthly_cost   = all_minutes x cost_per_minute + fixed monthly lines
payback_months = one_time_cost / (monthly_value - monthly_cost)
first_year_roi = (12 x (monthly_value - monthly_cost) - one_time_cost)
                 / (12 x monthly_cost + one_time_cost)

What this does: It turns call counts into money on both sides. all_minutes counts every minute the agent is on the line, while resolved_calls counts only the calls it finished, so a low resolved share sinks the case even when minutes are inexpensive.

Here is the math on a made-up inbound support line. Every input is an assumption, and the last column says what to replace it with:

InputExample valueReplace it with
Calls a month10,000Your phone system's count
Agent minutes per call3Call durations from your pilot
Share of calls the agent resolves25%The resolved share from your pilot
Minutes a person spent per resolved call5Your handle time, wrap-up included
Hourly cost of that person$21.53Your loaded hourly cost, which is higher
Cost per agent minute, all lines$0.08Your own cost-per-minute math
Call review time10 hours a monthYour reviewer's hours
One-time build and integration$15,000Your quote or estimate

That gives 2,500 resolved calls, or about 208 hours of a person's time, worth about $4,485 a month at the BLS median wage. The agent runs 30,000 minutes, which costs $2,400, plus about $215 of review time. The monthly net gain is about $1,870, so the $15,000 build has a payback period of about eight months. First-year ROI is about 16%, and in year two, with no build cost, it is about 72%.

Now change one input. At a 15% resolved share, monthly value drops to about $2,691 and the net gain to about $76, so the build takes more than 16 years to pay back. At 35%, the net gain is about $3,664 and payback takes about four months.

The resolved share moves the answer more than any price on the bill. That is why the pilot has to measure it, and why a payback range quoted without your own resolved share tells you very little.

Build, buy, or own an open-source platform

There are three ways to get a voice agent, and each one changes the cost lines above. Building from scratch means wiring speech-to-text, a language model, a voice and telephony together yourself, often on an open-source framework. It gives full control and the longest road to a first call, plus on-call and upgrade work that never ends.

Renting a closed platform is a fast start, and you pay its per-minute fee on every call. Vapi, for example, charges $0.05 a minute for hosting, about $18,250 a year at 1,000 minutes a day before models and phone lines.

The third option is an open-source platform you own. Dograh comes ready to use, with a visual builder, so the first call is as quick as on a closed platform. You can self-host it, pick any speech and language models, and keep the code and your call data. Dograh runs the call flow, tools and telephony, and the models are a separate layer you choose.

Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost). Dograh Cloud has a 1¢-a-minute platform fee. Our post Build vs Buy: Should You Build Your Own Voice AI Stack? compares the three options in full, including who keeps your call data and what owning the agents is worth over time.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Prove the numbers in a pilot

A pilot is where the assumptions in the table become measured numbers from your own calls. Run it on one call type, with a written go/no-go line and a baseline from your human team's recent calls. How to Run a Voice AI Pilot That Survives Procurement covers the scope, the script, the leads and the decision gates.

In Dograh, turn on Call Dispositions in the agent's Settings so every call ends with one outcome code. Starter codes include callback_requested and do_not_call, and you can add your own, such as resolved. They are off by default, so switch them on before the first pilot call.

The Report card on the same Settings page downloads a CSV of completed calls. Each row carries the call disposition, the call duration in seconds, the variables the agent extracted, and links to the transcript and recording. Multiply the durations by your per-minute cost and you have the cost side of the pilot.

Someone also has to check that a resolved call really was resolved. Dograh's QA node scores each step of the call separately, on test calls and on a random sample of live calls set by its Sample Rate. Count the hours a person spends reading those reviews in your fixed costs.

Choose a platform you can leave

The platform you pick sets the per-minute fee and the add-ons, and it decides what leaving will cost, so judge it on all of them.

Lock-in is common. In a Zapier survey of 542 US enterprise executives, only 6% said they could stop using their primary AI vendor without any disruption.

Ask each vendor for every line, including add-ons and extra concurrent calls, and ask how an agent and its call history come out if you leave. Our Voice AI Platform Buyer's Checklist, With RFP Questions turns those questions into a list you can send to every vendor.

The security review has traps of its own, covered in our post on why procurement stalls on closed voice AI. With Dograh, the code is BSD-2 licensed, and an agent's full definition comes out of the Agents API as JSON that any Dograh install can load.

A worked case: collections calls

Collections is the easiest call type to measure, because the value is money that either lands in your account or does not.

Count per 100 accounts reached, because retries put several calls on one account. Success is a payment received within a set number of days. A promise to pay recorded on the call is the early signal you check against payments later. Compare with a matched group of accounts the agent did not call, so payments that would have come anyway are not credited to the agent.

For the cost comparison, the BLS pay data for bill and account collectors gives a median of $22.61 an hour in May 2025. Load it with your own overhead, divide by the accounts a collector works in an hour, and set that against agent minutes per account times your per-minute cost.

The calls also have to follow the rules, starting with verifying the person before the debt is named, which our post on AI voice agents for debt collection covers. Calculating ROI on Automated Collections Calls works through both measures with a full example.

Start with the call type you can measure best, and let the pilot's resolved share decide whether the case holds. Each part of the business case above has its own deep dive:

Glossary

Resolved call
A call where the caller got what they rang for, with no repeat call about the same thing inside a window you set, such as seven days. It is the count the value side of a business case should rest on.
Containment rate
The share of calls that ended without reaching a person. It rises when the agent solves calls, and it also rises when callers give up, so it needs checking against repeat calls before it counts as value.
Payback period
The one-time cost of an agent divided by its monthly net gain, in months. It swings widely with the resolved share, so it means little until a pilot has measured that share.
Loaded hourly cost
What an hour of a person's time really costs: wage plus benefits, seats, tools and supervision. It is higher than the median wage, so a business case should take it from your own payroll.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.