Move your Retell agents to open source
Dograh is the self-hostable voice agent platform with an open-source workflow builder. Rebuild each agent from Retell's API as a Dograh flow, then switch a Twilio number by taking it off Retell's SIP trunk.
Read, rebuild, then pull the trunk
Pull your agents out of Retell
Retell APIno documented export, no importer
A short script saves every agent and the prompt or flow behind it, plus a list of your numbers.
→ Use a read-only Retell API key
Turn prompts into nodes
Global Promptrules every node follows
Persona and house rules go in the Global Prompt. Each Retell state or flow node becomes its own Agent node.
→ Or let Claude Code read Retell's MCP server and build in Dograh's
Take the number off the trunk
Elastic SIP trunkTwilio ignores the voice URL
Save the Dograh agent as the number's inbound workflow first. Calls only switch when you remove the number from Retell's trunk in Twilio.
→ Roll back by adding the number to the trunk again
What you keep, map or replace
Pre-Call Data Fetch sends Retell's inbound webhook request shape
Call transfer to a person runs on Twilio only
Numbers Retell sold you have no documented way out, so plan replacements. Dograh has no rule-based branches.
Run this before each number leaves Retell
- Number's setup notedYour runbook shows its trunk and the Retell agent that answers it.
- Trunk step rehearsedOn a spare number, removal sent calls to Dograh and re-adding sent them back.
- Agent publishedThe phone test reached the published agent, not the draft.
- Webhook checkedA real payload parsed, and a second delivery made no duplicate record.
- Transfer testedOn a real call, answered and unanswered transfers both end cleanly.
- Retell left runningKeep it live until all numbers move and a week of calls looks clean.
A switch you control end to end
Prompts become a visible flow
Every Retell state or flow node gets its own node, so you can see where each call goes.
Your backend barely changes
Pre-Call Data Fetch speaks Retell's inbound webhook format, and the Webhook node sends a payload you design.
Undo is one Twilio change
Put the number back on Retell's trunk and its calls return there.
Self-host with no platform fee
Run the BSD-2 code with no per-minute fee. Servers and model keys still cost money, and call data stays yours only if you host the models too.
What you gain by owning the platform
| Dograh | Retell AI | |
|---|---|---|
| Open-source code you can read and change (BSD-2) | ✓ | ✕ |
| Self-host without an Enterprise contract | ✓ | ✕ |
| No per-minute platform fee when self-hosted | ✓ | ✕ |
| Your own keys for speech-to-text and voice providers | ✓ | ✕ |
Read the full Retell move, step by step
Can I import my Retell agent into Dograh directly?+×
No. Dograh has no Retell importer. Read the agent through Retell's API, then rebuild it by hand or have Claude Code build it through both MCP servers.
Why does my Twilio number still reach Retell after I saved it in Dograh?+×
It is still on Retell's SIP trunk, and Twilio ignores a trunked number's voice URL. Remove it from the trunk in Twilio, and calls reach Dograh.
Can I keep a phone number I bought from Retell?+×
Retell documents no way to move it out. Plan a new Twilio number, and let a small Retell agent transfer callers from the old one meanwhile.
Will my Retell webhooks still work?+×
Mostly. call_ended and call_analyzed become a Dograh Webhook node, and Pre-Call Data Fetch sends Retell's inbound request shape. Live events like transcript_updated have no match.
Does call transfer still work after the move?+×
Yes. The Call Transfer tool hands the caller to a phone number or SIP address. Transfers to a person work on Twilio only.
What will I have to rebuild differently?+×
Dograh's AI picks each pathway, so write Retell's fixed rules into the condition. There is no keypad-digit or SMS tool yet, so send texts through n8n.
Take your quietest number off the trunk first.
Self-host in one command, or start on Dograh Cloud.
$ curl … start_docker.sh && ./start_docker.sh