To start an AI voice agent agency, pick one call type you can build well, run it on a platform that keeps each client apart, and price every client from its cost floor plus a setup fee and a monthly fee. Your margin comes from the build and the monthly work of improving each agent, so price your hours in.
Key Takeaways
- Price each client from its cost floor, then add the build and monthly work.
- In our example, one 1,200-minute client costs about $64 a month to run.
- Separate clients by team on Dograh Cloud, or by agent and number self-hosted.
Below, we cover what an agency sells, the stack under each client, one client's bill, how to charge and how to keep clients apart, and show how each part works 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 AI agency sells
An agency sells two things, the build and the monthly work of keeping each agent good. The build is the call flow, the prompts, the knowledge files, the phone number setup and the test calls before launch. The monthly work is reading calls, fixing what callers trip over and reporting back to the client.
Most agencies start with one call type they can repeat for many small clients, such as answering a dental office's phones or booking estimates for a roofer. A repeatable call keeps each build short, and the second client reuses what you learned on the first. A narrow offer is also easier to sell, because the client can picture the exact call the agent will take.
The client pays for an outcome it can feel, such as fewer missed calls and a fuller appointment book. Your hours go into the first month, when real callers say things no test script covered. Plan for that month in your price, because it decides whether the client stays.
The stack under every client
Every client's agent runs on five parts, made up of a phone line, speech-to-text, a language model, a voice and the platform that runs the call. The phone line comes from a carrier such as Twilio or Telnyx, or from the client's own SIP trunk. Speech-to-text turns the caller's words into text, the language model decides the reply and the voice speaks it.
The platform is the orchestration layer. In Dograh it runs the call flow, tools and telephony, while the speech and language models are a separate layer you choose. With your own keys you can pick any provider for each model, or run open-weight models on your own servers when a client needs its audio kept in-house.
The split matters to an agency because it decides who bills you for what. A bundled platform folds the models into one minute rate. A split stack shows each part on its own invoice, so one client can have a premium voice and another a lighter model on the same platform. Our voice AI agency tech stack picks one stack per budget, from the first client to enterprise.
One client's monthly bill, a worked example
Work out what one client costs you to run before you quote it a price. Here is an example, not a quote. A dental office takes 1,200 minutes of inbound calls a month, about 240 calls of five minutes each. It has one local Twilio number and runs on Dograh Cloud with the agency's own model keys.
The model lines rest on one assumed five-minute call: 12 exchanges, a 2,000-token prompt sent again on every turn, and about 37 words from the agent each turn. That comes to 29,250 input tokens and 600 output tokens a call, plus about 2,400 characters of speech from the agent.
Twilio charges $1.15 a month for a local US number, $0.0085 a minute for inbound calls and $0.0044 a minute to stream each call's audio to the agent. Speech-to-text is Deepgram Nova-3 at $0.0077 a minute.
The language model is OpenAI's gpt-4.1-mini at $0.40 per million input tokens and $1.60 per million output tokens. One call is 29,250 x $0.40 / 1,000,000 plus 600 x $1.60 / 1,000,000, which is $0.01266. The voice is ElevenLabs Flash at $0.04 per 1,000 characters, and 240 calls of 2,400 characters make 576,000 characters.
| Line | Working | Monthly cost |
|---|---|---|
| Platform fee (Dograh Cloud) | 1,200 minutes x $0.01 | $12.00 |
| Phone number (Twilio) | 1 local number | $1.15 |
| Inbound minutes (Twilio) | 1,200 x $0.0085 | $10.20 |
| Audio stream (Twilio Media Streams) | 1,200 x $0.0044 | $5.28 |
| Speech-to-text (Deepgram Nova-3) | 1,200 x $0.0077 | $9.24 |
| Language model (gpt-4.1-mini) | 240 calls x $0.01266 | $3.04 |
| Voice (ElevenLabs Flash) | 576,000 characters x $0.04 per 1,000 | $23.04 |
| Total | $63.95 |
So this client costs about $64 a month to run, a little over 5 cents a minute. The voice is the biggest line and the language model one of the smallest, even with the prompt sent again every turn. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. Self-hosting swaps the $12.00 line for a share of your server bill.
The voice line is the one to work on first. Pre-recorded clips play for the lines the agent says most, such as the greeting and the opening hours, and a cloned voice covers everything else, so fewer characters reach the voice provider. The example also leaves out after-call work such as QA, which adds model tokens. Our breakdown of what an AI voice agent costs per minute compares each line across platforms.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
How agencies charge setup and monthly fees
Most agencies charge a one-time setup fee for the build and a monthly fee for running and improving the agent. Keep the two apart. The setup fee pays for discovery, the call flow, the knowledge files, the number setup and testing on real phone lines. Fold it into the monthly fee and a client who leaves in month two leaves you with an unpaid build.
The monthly fee covers the cost floor plus your hours, and usage can sit inside it in four common ways. You can pass usage through at cost and charge a fixed retainer for your time. You can charge a flat fee per agent with a minute allowance and bill the minutes above it. You can charge per outcome, such as per booked appointment, with a monthly minimum so a quiet month still pays for the agent. Or a larger client can commit to a volume while you keep a fixed margin on every minute.
Pick from the client's volume and how much risk you can carry. A flat fee is easy to sell and hard to keep, because when the client's minutes double your cost doubles and the fee stays put. Per outcome puts all the volume risk on you, so write down what counts as an outcome before you sign. Whichever you choose, look at the real minutes after the first two months and reprice from them.
Set your numbers from your own work. Published setup and retainer ranges mostly come from companies that sell tools to agencies, so treat them as sales material. The floor from the worked example, the hours your team spent on the last build and what one missed call is worth to this client give you a price you can defend.
Keeping clients apart
Each client needs its own agent, numbers, knowledge files and keys, so one client's calls never touch another's. On Dograh Cloud, the cleanest way is one team per client, which you switch between from the sidebar. Each team is its own organization, with its own agents, phone setup, keys, files, campaigns and billing. Everyone in a team has full access, so add only the people who should see that client's calls.

Self-hosted, each client gets its own agent and its own phone setup. One install can hold several telephony configurations, each with its own carrier account and numbers, and each number's Inbound workflow picks the agent that answers it. Each agent can also use its own model configuration, so one client's calls run on that client's keys. For a full split, set up a separate login per client, which makes each one its own organization.
The split decides what clients share. Inside one organization, clients share the concurrency limit, 10 calls at once by default, and anyone who logs in sees every client. Separate organizations each get their own limit and their own records. Our guide to managing multiple clients on one voice AI platform covers numbers, prompts, knowledge files, reporting and billing per client.
Your brand on the call
Callers judge a brand by what they hear and by the number that rings. The agent's greeting and voice are set per client, and outbound calls can show the client's own number as caller ID. Nothing in the call names the platform it runs on.
The dashboard is a separate question. Self-hosted Dograh is released under the BSD 2-Clause licence, so an agency can run its own copy on its own domain under its own name and logo, as long as the licence notice stays. The rebrand is a change to the UI source, and the logo you put in is yours, since our logos stay ours. On Dograh Cloud, callers hear only your agent, and your team works in our dashboard.
For the receptionist product, our post on the white-label AI receptionist for agencies covers what the client sees and who holds the numbers and call data. Before you commit to any platform, run the checklist in what to look for in a white-label voice AI platform.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Running clients month to month
The monthly fee is earned after launch, so build a routine you can repeat for every client. Each week, read a sample of calls, fix the prompt or knowledge file that tripped the agent, and send the client a short note on what changed.
Dograh gives you the parts of that routine. A QA node reviews calls after they end and scores each step of the flow, and its Sample Rate setting picks a share of calls at random. Each call's trace shows the speech-to-text, AI and voice time for every turn, so you can tell a slow model from a confused prompt. Our post on automated QA for voice agents explains why a 5-10% sample is enough once an agent is live.
The Reports page gives a daily view you can filter by agent, which is the base of each client's monthly report. For billing, the Paygent integration sends each call's usage to Paygent, which applies your own rate cards for speech-to-text seconds, model tokens, voice characters and call minutes, then invoices the client. A Webhook node can also push each call's results into the client's own system, so the client sees every call in tools it already uses.
When a platform changes its terms
An agency sits on top of its platform, so a change in the platform's terms lands on every client at once. A retired feature means rebuilding every client's agent. A price rise comes out of your margin until each client's contract renews, and a new plan cap can push you to a higher tier mid-contract. Our post on the hidden costs of closed voice AI platforms works through each one.
Open source changes who decides. With self-hosted Dograh you run a release you chose and upgrade when you are ready, and the agents, recordings and transcripts sit on your own servers. If you start on Dograh Cloud, the code underneath is the same open-source platform, so moving a client to your own servers later means running software you already know.
Choose by what you want to run. Dograh Cloud suits an agency that wants to start this week, with one team per client and no servers to manage. Self-hosting suits an agency that wants its own brand on the dashboard, clients whose calls must stay on servers they control, or enough volume that a server bill beats a per-minute fee. Our page on running an open-source voice agent platform as an agency shows the per-client setup in one place.
Each part of running an agency above has its own deep dive:
- White-Label AI Receptionist for Agencies: Numbers, Data and Price
- White-Label Voice AI Platform: What to Look For Before You Sign
- Managing Multiple Clients on One Voice AI Platform
- Voice AI Agency Tech Stack: Telephony, Models and Platform
Glossary
- Cost floor
- What one client costs you to run each month before any agency fee: the platform, phone number and minutes, speech-to-text, language model and voice. In the worked example it is about $64 for 1,200 minutes on Dograh Cloud.
- Retainer
- A fixed monthly fee for your time, with the client's call minutes and model usage passed through at cost beside it. It keeps your margin steady when the client's volume grows.
- Concurrency limit
- How many calls can run at the same moment. Self-hosted Dograh allows 10 per organization by default and Dograh Cloud pay as you go includes 10, so clients sharing one organization share that limit.
- BSD 2-Clause licence
- The open-source licence self-hosted Dograh is released under. It lets you use, change and redistribute the code, including running a copy under your own name and logo, as long as the copyright and licence notice stay.

