Live calls stay on the version you chose
Dograh is the self-hostable voice agent platform with an open-source workflow builder. Edits wait in a draft until you publish a named version, and each campaign keeps dialling on the release you point it at, all on servers you run.
From draft to a pinned campaign
Change things off the live path
Draftyour edits that callers never hear
Every edit saves to a draft, while live calls and the production URL stay on the published version.
→ Send test requests to the API Trigger's test URL
Name the release as you ship it
Publish versionthe form that turns a draft live
Add an optional Version name and Change description. Full validation runs before the new version takes production traffic.
→ Write what changed for whoever reads it next month
Hold a campaign steady
Traffic splitwhich version a campaign dials with
Choose a numbered version to keep a campaign fixed, or Latest published to follow each release.
→ Pin a campaign before a large CSV list goes out
Where drafts and versions are used
None of these move until you press Publish.
With no draft saved, the test URL runs the published version instead.
A brand new agent from MCP is live as version 1 from the start, so look it over first.
Run these checks on every release
- Draft tried on the test URLYour systems stay on the production URL while test runs go to the test URL.
- Real phone call placedTransfers only run on a phone line, so ring the draft from the number you will use.
- QA scores comparedPer-step QA scores arrive with the Webhook payload, ready to set beside the previous version's.
- Release notes writtenThe Version name and Change description sit beside each release in Version History.
- Campaign pin checkedEach campaign shows the version it will dial with before the list starts.
What numbered versions give a team
A record of every release
Version History lists each publish, and any version can be opened and compared with the one before it.
Validation before traffic
Publishing runs full validation first, so a misconfigured step is flagged before callers reach it.
AI edits wait for a person
Changes Claude Code or Codex makes to an existing agent through the MCP server stay drafts until someone publishes them.
Releases on your own servers
Self-host the platform, and every version along with its call history stays on infrastructure you run.
What self-hosting adds to your releases
| What you get | Dograh | Closed hosted voice platforms |
|---|---|---|
| Every line of platform code open under BSD-2 | ✓ | ✕ |
| Version history and call data on servers you control | ✓ | ✕ |
| Self-hosted with no per-minute platform fee | ✓ | ✕ |
Build and release a phone agent, step by step
Do my edits change live calls right away?+×
No. They sit in a draft, and callers hear the published version until you publish again.
How do I test a draft from my own code?+×
Use the API Trigger's test URL. It runs your latest draft, or the published version if no draft is saved.
Can a campaign stay on an older version?+×
Yes. In the campaign's traffic split, choose a numbered version. Choose Latest published if it should follow new releases instead.
What happens to calls in progress when I publish?+×
Calls already under way keep the version they started on. New calls take the new version unless their campaign is pinned to another.
Do agents made through MCP start as drafts?+×
No. MCP publishes a newly created agent as version 1 at once, so review it. Edits made afterwards land in drafts.
What does running it cost?+×
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.
Publish your next change as a named version.
Self-host in one command, or start on Dograh Cloud.
$ curl … start_docker.sh && ./start_docker.sh