Before you start
You should already have a working Plivo app in production and access to its source, environment variables, and webhook endpoints. The migration applies a small, ordered set of deltas - most of your call logic stays the same.The runbook
Get Vobiz credentials and start in sandbox
Create a Vobiz account and grab your Auth ID and Auth Token. Begin in the sandbox environment so no change you make can touch live calls until you are ready. Keep your Plivo credentials in place - you will run both side by side for a while.
Swap the client and environment variables
Point your code at Vobiz. If you use an SDK, change the import and client (
plivo to vobiz) and rename your secrets (PLIVO_* to VOBIZ_*). If you call the API over raw HTTP, switch the base URL and send X-Auth-ID and X-Auth-Token headers. See Auth and base URL and the full endpoint mapping.Convert PlivoXML to VobizXML
Translate your call-control XML. The main change is input collection:
<GetDigits> and <GetInput> become <Gather> with an executionTimeout attribute. Most other verbs map directly. The bulk-dial < separator is unchanged, so leave it as is. Full mapping in XML migration.Re-point your webhooks
Update the
answer_url and hangup_url on your numbers and applications so call events flow to your Vobiz-aware handlers. Confirm each endpoint is reachable from Vobiz and returns valid VobizXML. See Webhooks and signatures.Swap signature validation
Replace your Plivo request-signature check with Vobiz signature validation using the
X-Vobiz-Signature-V2 or X-Vobiz-Signature-V3 header. Do not skip this - it is what keeps your webhooks authentic. Details in Webhooks and signatures.Buy Vobiz numbers
You can’t port numbers from Plivo - there is no transfer flow. Buy new Vobiz numbers from inventory, route them, and update everywhere your number is published (app, CRM, website, IVR prompts, outbound caller ID). Keep the Plivo numbers live during cutover so old callers still connect, then release them on Plivo afterwards. See Buy a phone number and Phone numbers.
Test in sandbox
Run your full call flows against the sandbox: inbound answer, IVR input, transfers, recordings, and hangup webhooks. Verify signature checks pass and that your XML behaves exactly as it did on Plivo before you touch live traffic.
Dual-run and canary a slice of traffic
Move a small percentage of real traffic - or a single low-stakes number - onto Vobiz while the rest stays on Plivo. Watch this canary slice closely for answer rate, audio quality, and webhook errors. Keep Plivo warm so you can roll back instantly.
Flip the remaining traffic
Once the canary is clean, move the rest of your numbers and outbound campaigns to Vobiz. Do it in batches if your volume is large so any regression stays contained.
Monitor CDRs, then decommission Plivo
Watch Vobiz Call Detail Records and your application logs for completed calls, failures, and cost. After a stable window with no Plivo traffic, release the old numbers and shut down the Plivo app. Review the gotchas one last time before you close the account.
A drop-in compatibility shim (
vobiz-plivo-compat / @vobiz/plivo-compat) is coming soon. It will let most apps keep their existing Plivo-style code and switch to Vobiz with near-zero rewrite, collapsing several of the steps above. Until it ships, follow this manual runbook.Prefer an interactive version? The full, clickable cutover checklist lives in the tool at /migrate-plivo-to-vobiz.
What’s next?
Plivo to Vobiz overview
Back to the full migration guide and all sub-pages.
Vobiz vs Plivo
See how the two platforms compare feature by feature.