Move off PolyAI while it still answers
Dograh is the self-hostable voice agent platform with an open-source workflow builder. Use PolyAI's ADK pull as the spec for a Dograh rebuild, then move numbers one at a time while PolyAI keeps answering the rest.
Pull, rebuild, then switch
Pull the agent out of PolyAI
poly pulla spec, not a running agent
One pull saves rules, flows, knowledge topics, Python functions and handoffs as files that run only on PolyAI, so treat them as a spec.
→ Save recent transcripts as test scripts
Give each file a Dograh home
Global Nodea shared prompt for every step
Persona and rules go in the Global Node. Each flow step becomes an Agent node, and each Python function sits behind an HTTP API tool.
→ Or let Claude Code draft it through Dograh's MCP server
Move one number at a time
SIP trunkPolyAI's route into your Twilio
Take the number off the trunk PolyAI created in your Twilio account, then save the Dograh agent as its inbound workflow.
→ Roll back by putting it back on PolyAI's trunk
What you keep, map or rework
The number stays in your Twilio account while it moves.
Transfer Call works on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI.
Functions move into your own service. Ask PolyAI about porting numbers it sold you.
Check these before each number moves
- Latest pull savedA fresh poly pull and recent transcripts sit outside PolyAI.
- Functions answeringEach HTTP API tool returns real data on a test call, with a spoken fallback for errors.
- Prompts retestedHard turns give the expected answer on repeated runs with your new model.
- Transfers tested by phoneAnswered and unanswered transfers both end well on a real call.
- Trunk notedYour runbook names the PolyAI trunk each number came from.
- PolyAI still answeringEvery other number stays on PolyAI until this one runs clean.
A move your own team controls
A builder that feels familiar
Flow steps become nodes and pathways on a visual canvas your own team edits.
Any model, no representative
Pick Dograh's models, your own provider keys or open-weight models on your servers, set by your own team.
Rollback in one Twilio change
Put the number back on PolyAI's trunk and its calls return there.
No platform fee self-hosted
Self-hosted Dograh has no per-minute platform fee. Dograh Cloud has a 1¢-a-minute platform fee. Servers, models and phone minutes still cost money.
What changes when you own the platform
| What you get | Dograh | PolyAI |
|---|---|---|
| Open-source platform code you can change (BSD-2-Clause) | ✓ | ✕ |
| Run the agent itself on your own servers | ✓ | ✕ |
| Add any model without going through a representative | ✓ | ✕ |
| Published platform pricing, no sales quote | ✓ | ✕ |
Read the full PolyAI move, step by step
Can Dograh import a PolyAI agent directly?+×
No. Pull it with PolyAI's ADK, then rebuild it in Dograh's builder or have an AI assistant draft it through Dograh's MCP server.
What happens to my PolyAI Python functions?+×
They move into your own service as endpoints. Dograh's HTTP API tools call them during the call, waiting 5 seconds by default with no retry.
How do I move a Twilio number off PolyAI?+×
Remove it from the SIP trunk PolyAI created, then save the Dograh agent as its inbound workflow. Put it back on the trunk to roll back.
What about numbers I bought from PolyAI?+×
Ask PolyAI how to port them to a carrier Dograh supports, such as Twilio, Telnyx, Plivo or Vonage.
Will my prompts behave the same without Raven?+×
Not exactly. Retest each flow's hardest turns several times on your new model, in the browser and on a real phone line.
Does call transfer still work after the move?+×
Yes. Transfer Call works on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. The short spoken introduction to both people is Twilio only.
Move your quietest number off PolyAI first.
Self-host in one command, or start on Dograh Cloud.
$ curl … start_docker.sh && ./start_docker.sh