Dograh - The open source VAPI alternative

by
Closed voice platforms make you rent your own agents. Dograh is completely open source- nothing is gated. Visual flow builder, add your model key across 30+ integrations or use local models, telephony, human transfer, and advanced QA & monitoring - all free to self-host in one command. Also connect your claude code with MCP to build voice agents for a use case or call recordings.

Add a comment

Replies

Best

Hey Product Hunt, I'm Pritesh, one of the makers of .

Dograh is an open source platform for building voice AI agents - calling agents that answer calls, book appointments, qualify leads, or run payment reminders over the phone.
Here's the problem we kept hitting. AI is getting locked up. Closed platforms make you rent your own agents on their cloud, at their price. And right now big labs are lobbying to restrict open source AI itself. We run on one belief: no company should own voice AI.
So from day 0 we open sourced every line. BSD-2 license, one command to install, nothing held back, nothing gated. Everything runs on your own server, and it's yours. You build phone agents and also own the whole stack.
That is the difference. There is no platform to rent here. No per-minute fee, no gated tier. Bring your own keys, or run local models completely offline, even air-gapped. And it's MCP native - connect Claude Code and build a voice agent by chatting with it.
Inside you still get everything the closed platforms sell:

  • Visual flow builder - no glue code

  • Real time speech to speech - 70+ languages with mid-call switching

  • Telephony + warm handoff to a human

  • Call recordings with automatic QA

  • Free REST API

Why that matters:

  • The payoff is ownership - your only cost is your model bill

  • Your data never leaves your servers - compliance gets simple

  • No glue code - you ship in hours


It fits developers and agencies building agents for clients or their internal use case, and compliance-heavy teams in healthcare, finance, and collections. Common uses today include appointment booking, lead qualification, support lines, payment reminders.
We are a small team. A star on or honest feedback here does more for us than you would think.
Install it, break it, tell me what's missing. I'm here all day.
But first,

  Love it

 70+ languages with mid-call switching is a thoughtful feature, especially for real-world phone conversations.

@julian_ting2 Thanks, Julian. Mid-call language switching makes multilingual conversations much more natural.

It is exciting to see voice AI move toward open source. As these models scale, how are you approaching the challenge of real-time sentiment analysis and behavioral tracking for agents during live calls, and what metrics do you prioritize to measure conversational quality without compromising user privacy?

 - Thanks, and good question. Sentiment scores are easy to compute but hard to act on mid-call unless we have super robust orchestrator spanning multiple LLMs of different sizes and capabilities (something we are working on).

The signals that actually predict a bad conversation are structural and post call: how often the caller repeats themselves, how often they interrupt, how long the silence runs before they answer (dead air), whether they ask for a human and refuse to talk to the agent. We handle this using a native QA node in workflow builder and also integrate with solutions like Tuner, Noveum. On quality we hold one metric above the others: did the caller get what they called for. Everything else is a proxy for it.

Privacy is where open source does the real work. Self-hosted, the audio never leaves your infrastructure, so there is no third party to trust with it. You keep the derived signals and drop the recording.

Hey Lucian, thanks for the question. We have an inbuilt QA node that you can run across 100% or a smaller sample of your live calls. The QA node has inbuilt functionality to do sentiment analysis or any custom analysis for your use case.
And since dograh is self hostable you can add a guardrail/mask layer to send PII anonymised data- though this might still need some plumbing and not available out of the box.
Hope this helps :)

Thanks for the thoughtful question. We focus on practical call outcomes while giving teams control over how their data is processed, stored, and retained.

 appreciate the question. What would you actually do differently mid-call if you had real-time sentiment? curious what the action would be on your end.

🧐 Good find

How does the human handoff work when an agent reaches a conversation it cannot confidently handle?

 - Thanks for your message.

We have very excellent support for human handoff, where you can declare static destinations or destinations based on the context from the conversation of the agent with the caller. You can define PSTN phone numbers or SIP addresses or ViciDial Ingroups in those destinations where the voice agent can transfer the call based on your matching conditions.

And, of course, have to prompt the LLM to make that transfer call based on certain conditions. If prompted well, the LLM can do it with very high confidence.

Hello thank you for your message. Adding to Abhishek's reply - the failure path is worth noting too: if the transfer destination can't be resolved (resolver timeout, no match, etc.), it fails gracefully and the agent keeps the conversation pipeline running rather than dropping the call. And for tightening when it hands off, the QA node surfaces signals like repeats, interruptions, and dead air that teams use to refine the confidence logic over time.

Dograh can hand off to static or dynamically resolved destinations, including phone numbers, SIP addresses, and ViciDial ingroups. The agent dials the destination and waits for an answer before bridging the caller, with configurable transition messages, timeouts, and fallback behavior if the transfer fails.

Thanks  the human handoff is seamless with Dograh - you can create a separate tool for human transfer and attach this to your voice agent (and instruct it to call it when required)
P.S. really appreciate the comment coming from you Nas :)

What do you lose when you move to speech to speech?

 - Thanks for your comment. Speech to speech are excellent models which offer language switching and lower latency. Many labs are working on Speech to Speech models, like (Gemini Live), (OpenAI Live), (Grok AI) etc. support these and many more.

The only challenge currently is that you cant use custom cloned voice with them, and the tool calling can sometimes be a bit unpredictable. However, we are seeing some very rapid progress in the space and these are bound to improve in short term.

Mostly control. Speech-to-speech is faster and handles language switching well, but you currently give up custom cloned voices and some predictability around tool calls. The gap is closing quickly, though.

 While we have seen S2S win on latency and 'humanness'. Having said that tool calling and instruction following is not upto mark with LLM's in cascade approach. However with

we ship the ability to break S2S stream accross multiple agents instead of 1 end to end stream and thus give you minute control over your instructions - shorter context and minimal instruciton following - thus enabling premium grade performance with S2S models.
We will be weleasing benchmarks soon . Keep an eye out :)

 one addition - with s2s you also lose per-stage visibility. with a cascaded setup you can trace STT/LLM/TTS separately when something goes wrong, with S2S its one end-to-end model, so debugging a bad response gets harder.

At floworks, we tried a few voice agent platforms before landing on Dograh, and the self hosted option made it a no brainer. Feels like it's built by people who actually build voice agents themselves. Excited to see where this goes.

 - Thanks for your appreciation. Yes, we as builders are super passionate about what we are building for the open source ecosystem and community. Our mission is to enable every company in the world to own and operate their voice AI agents securely and efficiently.

Thanks for the support! Glad the self-hosted approach worked for your team at Floworks. Excited to keep building with feedback from teams using Dograh in production.

Thanks Ritesh- we believe in self hosted voice ai and also open weight models. We will keep building for the dev community :)

 you hit the nail on the head. We are our own number one users, so if it didn't work for us first it wasn't shipping :)

This is a great direction for voice AI!

Do you have better support for multi-step conversations as well?

 Thank you for your query. We actually have first class support for multi step conversation. When the entire industry was doing one monolithic prompt for voice agent, we and few others (like Bland) were doing natively multi node agents which broke a big monolithic prompt in multi step conversation.

This was specially challenging with models like Gemini Realtime which does not allow updating agent prompt in between conversation, but we figure out some hacks which allows our multi step conversation to work well with them (reconnecting with context playback and compaction).

Hi  we support multi step conversations extensively.
Infact with Dograh you can build multi-step conversations for real time/speech-to-speech models as well (apart form cascade)

Yes, Dograh supports multi-step conversations and customizable workflows for different use cases.

Adding to this, each step is its own node, so you can branch on the caller's response and call APIs mid-flow.
The part that makes it genuinely better to build with: test it as a text chat instead of dialing in each time, edit any message on the fly to see the LLM's generation and refine your prompt right there, and add a QA node to auto-check each step. Iterating on complex flows gets much faster.

THanks you for all the replies, that's amazing!!

 

Awesome launch! The warm handoff to a human feature looks super useful. How seamless is the transition for the caller during a live agent transfer?

 - Thank you for your message.

We have given a lot of thought to how call transfer is configured and works on . You can not only set up static destinations but also resolve dynamic destinations based on the call context. The experience is very seamless for the caller. We have the option to provide a transition message - like "Please hold on while I transfer your call to a live agent", and if anything breaks during the transfer, we have a very graceful fallback also which can be controlled by the prompt.

 thanks! from the caller's side it's pretty smooth - they hear hold music while we dial the destination in the background, and you can configure a heads-up message first so it's not abrupt ('connecting you to our billing team now'). importantly, we don't just throw the call over the wall - Dograh actually dials the destination and waits for it to answer before bridging the caller in, so they're never dropped onto a dead or unavailable line. there's also a configurable timeout in case nobody picks up. the one gap today is context isn't automatically passed to the human once connected, but that's very much in our roadmap.

The transfer is seamless for the caller. Dograh plays hold music while dialing the destination and only bridges the call once someone answers. You can also configure a short transition message, timeout, and fallback behavior.

Appreciate the detailed answers! That sounds like a really polished flow for the caller. Wishing you huge success with the launch!
Appreciate the detailed answers! That sounds like a really polished flow for the caller. Wishing you huge success with the launch!

Being able to self host the whole thing is a big plus. Congratulations!

 - Thank you for your comment. Appreciate it. Good luck with as well. ❤️

Thats core to our philosophy as well 

Thanks  self hosting and OSS is core to our belief system. And thats how the world should be - accessible and open :)

Thanks for the support! Self-hosting is central to Dograh. Congrats on Voquill as well!

This is really nice. Do we need to provide custom data for training or is it ready from the go?

 - We ship with an MCP server that can help you build an agent on Dograh. While we dont expect you to bring in earlier conversation recording or custom data, if you have them, the coding agent (using Dograh's MCP) can extract signals and context from there and be able to create an agent which works better for your use case.

You can always find more help on our Slack community.

 its ready from the go - you can build and test any voice agent for your use ccase - within 90 seconds (90sec is our SLA).
Give it a spin here:

It’s ready to use out of the box, so no custom training data is required. You can still connect your own data and customize the agent for your use case.

Hey guys, congratulations on the launch! Curious to know how are you guys priced compared to Vapi or Retell.

 Thank you for your message.

Our cloud offering is priced at 1 cent per minute of calling if you bring your own keys for models compared to around 5 cents per minute from Vapi and Retell.

If you use Dograh managed models, our model usage is priced at around 7 cents per minute compared to around 8 - 12 cents per minute from Vapi and Retell.

Our cloud offering costs $0.01 per minute with your own model keys, compared with around $0.05 per minute for Vapi and Retell. With Dograh-managed models, it is around $0.07 per minute, compared with roughly $0.08 to $0.12 per minute. And we can go much lower with an increase in volume.

 Got it. thanks!

 to summarise what the team said - self-host it and it's free forever, or use our cloud at 1¢/min + model usage. Your call on ownership vs. convenience :)

1234
Next