Dograh
PolyAI migration

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.

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

Pull, rebuild, then switch

Example
Pull with PolyAI's ADKrebuild in Dograhtest on a spare linemove one number
01 · Export

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

02 · Rebuild

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

03 · Switch

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

02 / What moves across

What you keep, map or rework

Carries over as is
Persona and house rulesFlow steps and routesKnowledge topicsNumbers in your own Twilio account

The number stays in your Twilio account while it moves.

Maps to a Dograh piece
agent_settings → Global Nodeflows → Agent nodes and pathwaystopics → Knowledge Basefunctions → HTTP API toolshandoffs → Transfer Callentities → variable extraction

Transfer Call works on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI.

Needs rework
Python function codePrompts tuned for RavenSMS templatesNumbers bought from PolyAI

Functions move into your own service. Ask PolyAI about porting numbers it sold you.

03 / Before you switch

Check these before each number moves

  1. Latest pull savedA fresh poly pull and recent transcripts sit outside PolyAI.
  2. Functions answeringEach HTTP API tool returns real data on a test call, with a spoken fallback for errors.
  3. Prompts retestedHard turns give the expected answer on repeated runs with your new model.
  4. Transfers tested by phoneAnswered and unanswered transfers both end well on a real call.
  5. Trunk notedYour runbook names the PolyAI trunk each number came from.
  6. PolyAI still answeringEvery other number stays on PolyAI until this one runs clean.
04 / Why it holds up

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.

05 / Dograh vs PolyAI

What changes when you own the platform

What you getDograhPolyAI
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✓✕
06 / Guides

Read the full PolyAI move, step by step

Complete guidePolyAI Alternatives: From Hosted Platforms to Open SourceRead →AlternativesOpen-Source Alternative to PolyAI: Own the Code and the RuntimeAn open-source alternative to PolyAI explained: open code, where the platform runs and where call audio goes, why PolyAI's open-source ADK is tooling rather than a platform, and what PolyAI's managed service includes.ComparisonDograh vs PolyAI: Run Your Own Voice AI Platform or Rent OneDograh vs PolyAI compared row by row: license, where each runs, how you pay, model choice, builder, phone, compliance and call data, with when PolyAI's managed service fits better and when Dograh is the stronger fit.ComparisonPolyAI Pricing Explained: Plans, Quotes and What's IncludedPolyAI pricing explained: the per-minute platform rate quoted by sales and what it includes, how usage is counted, what a quote depends on, the 2¢ Dialog-RSN-1 model API and what it leaves out, and what each published number buys.MigrationHow to Migrate From PolyAI to Open-Source Voice AI: Step by StepHow to migrate from PolyAI to open-source voice AI: pull the agent with PolyAI's ADK, map each file to Dograh, rebuild the flow, move Python functions to HTTP API tools, retest on your new model and move one number at a time.ComparisonVapi vs PolyAI: Pricing, Models and Which Fits Your TeamVapi vs PolyAI compared fairly: a developer platform with a published hosting fee against a managed platform with a sales-quoted rate, on cost to start, model choice, building, hosting, compliance and call data, plus where an open-source option fits.
Questions
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