Dograh
Turn-taking

Callers finish their sentence before the agent speaks

Dograh is the self-hostable voice agent platform with an open-source workflow builder. Choose when the agent decides a caller is done, what it takes to cut in and which lines play in full, with every timer in open code.

6,000+GitHub starsBSD-2open source$0platform fee, self-hostedAny systemconnects to the tools you use
01 / How it works

Hear the symptom, change one setting

Example
Caller pauses for a cardturn held opennumber arrivesagent replies
01 · Wait

Let a pause stay a pause

Smart Turn Analyzera model that hears if a sentence sounds finished

It listens through a mid-sentence pause, up to the Incomplete Turn Timeout, so a caller reading a card number keeps the floor.

→ Raise it for addresses and long answers

02 · Guard

Ignore the TV in the next room

Minimum wordswords needed before the agent stops talking

Coughs, door slams and a quick mm-hm stay under the word count, so the agent keeps talking until a caller truly cuts in.

→ Add one word at a time on noisy lines

03 · Protect

Keep must-hear lines whole

Allow Interruptiona per-step switch for barge-in

Turn it off on a step that reads back details. Keep that line short, since nobody can cut in while it plays.

→ Leave it on where questions are open

02 / Where each control lives

Three places to tune a turn

Turn Detection
Transcription-based (default)Smart Turn AnalyzerIncomplete Turn Timeout

Speech-to-text models that end turns themselves, such as Deepgram Flux, override this.

Interruption
Minimum words strategyMinimum Words Before InterruptionVoice activity strategy

Keep the Voice activity strategy for quiet lines only.

Start Call node
Greeting TextAllow Greeting InterruptionMinimum Words to Interrupt

On by default. Switch it off and the whole greeting plays, with caller speech held until it ends.

03 / Before you ship a change

Test each change on a real line

  1. Phone call, not browserA 16 kHz browser test hides what 8 kHz phone audio does to your settings.
  2. Noisy room triedRead the transcript turn by turn after a call with a TV on and a few pauses.
  3. Split sentences foundOne caller sentence broken across two turns means the turn closed too early.
  4. Slow replies tracedView Trace shows speech-to-text, AI and voice time for each turn in Langfuse.
  5. One setting per testChange one control, call again, then take the next symptom.
04 / Why tune it in the open

Controls you can read and change

Every timer is readable

Silero VAD runs through Dograh's Pipecat fork, so the 0.2-second stop time and every default are open to read.

Barge-in set per step

A read-back can play in full while the questions around it stay open to barge-in.

Detection at the carrier's rate

Speech detection runs at 8,000 or 16,000 Hz and follows the rate the phone carrier sends.

Tuning data stays with you

Self-host it, and the recordings and traces you tune from stay on your infrastructure.

05 / Dograh vs closed hosts

What open code adds to turn-taking

What you getDograhClosed hosted voice platforms
Turn and detection code open to read under BSD-2✓✕
The full call stack runs on your own servers✓✕
No per-minute platform fee when self-hosted✓✕
06 / Guides

How speech detection and turns fit together

Questions
Why does my agent talk over callers who pause?+

The turn ended at the first pause. Switch Turn Detection to Smart Turn Analyzer and raise the Incomplete Turn Timeout, which is 2 seconds by default.

How do I stop a TV cutting the agent off?+

Pick Minimum words as the Interruption Strategy and raise the word count from 2, one step at a time, with a test call after each change.

Can the greeting play in full?+

Yes. Allow Greeting Interruption is on by default. Switch it off on the Start Call node and the whole greeting plays, with caller speech held until it ends.

Can I change the VAD threshold in the editor?+

Detector values are set in code. The editor offers Turn Detection, Interruption Strategy and Allow Interruption per step, which fix what callers actually notice.

Do these settings apply to speech-to-speech models?+

OpenAI Realtime, Azure Realtime and Grok run their own speech detection, so the local detector sits out on those calls.

Which voice activity detector does Dograh use?+

Silero VAD through Pipecat, with a 0.2-second stop time. Turn detection then decides whether the caller has really finished.

Fix the symptom your callers hear most.

Self-host in one command, or start on Dograh Cloud.

$ curl … start_docker.sh && ./start_docker.sh