/Account/{auth_id}/Call/ paths, near-identical SDK call parameters, and VobizXML maps almost line-for-line to PlivoXML. The SDK client and method names differ - Plivo’s calls.create(...) becomes Vobiz’s calls.make_call(...) (Python) / calls.makeCall(...) (Node) and takes an explicit auth_id - but the call parameters (from, to, answer_url, …) carry over. Most apps migrate by swapping credentials, the base URL, the SDK client/method names, and one XML verb name.
Why migration is fast
Plivo and Vobiz share the same core design, so you rarely rewrite logic - you re-point it.Same auth model
Vobiz uses an Auth ID and Auth Token, just like Plivo. You swap the values and the env var names; the concept is identical.
Same API shape
Resource paths keep their casing and trailing slash - for example
/Account/{auth_id}/Call/. You change the base host, not the route structure.Familiar SDK surface
The call parameters carry over (
from, to, answer_url, …), but the method and client differ: calls.create(...) becomes calls.make_call(...) (Python) / calls.makeCall(...) (Node), the client is Vobiz(api_key=, auth_token=), and methods take an explicit auth_id.What changes vs what stays the same
| What changes | What stays the same |
|---|---|
Client + method: plivo.RestClient() / calls.create(...) → Vobiz(api_key=, auth_token=) / calls.make_call(...) (+ explicit auth_id) | Call parameters: from, to, answer_url, answer_method, … |
Env vars: PLIVO_AUTH_ID / PLIVO_AUTH_TOKEN → VOBIZ_AUTH_ID / VOBIZ_AUTH_TOKEN | Bulk dial uses the same < separator in the to field |
Raw-HTTP auth: X-Plivo-Auth basic auth → X-Auth-ID + X-Auth-Token headers | Machine-detection (AMD) parameters carry over |
Base URL: api.plivo.com/v1 → api.vobiz.ai/api/v1 | All other XML verbs: <Speak>, <Play>, <Dial>, <Number>, <User>, <Record>, <Conference>, <Redirect>, <Hangup>, <Wait>, <PreAnswer> |
XML verb: <GetDigits> / <GetInput> → <Gather> (attrs type → inputType, timeout → executionTimeout) | Path casing and trailing slash - e.g. /Account/{auth_id}/Call/ |
Webhook signature header: X-Plivo-Signature-V3 → X-Vobiz-Signature-V2 / X-Vobiz-Signature-V3 | The signature scheme itself: HMAC-SHA256 plus a nonce |
SIP domain: sip.plivo.com → app.vobiz.ai |
Migration guide
Work through these pages in order, or jump to whichever part of your stack you are migrating.Auth and base URL
Swap credentials, env vars, raw-HTTP headers, and the API host.
Endpoint mapping
Plivo-to-Vobiz reference for every API path and parameter.
XML migration
Map PlivoXML verbs to VobizXML, including the
<Gather> rename.Webhooks and signatures
Update callback handling and verify the new signature header.
Gotchas
Edge cases and differences to watch for during migration.
Number porting
Bring your existing numbers over to Vobiz.
Cutover checklist
Final pre-launch checks before flipping traffic to Vobiz.
Tools and comparison
Vobiz vs Plivo
Compare the two platforms feature by feature.
A drop-in compatibility shim is planned. We are building a separate package -
vobiz-plivo-compat for Python and @vobiz/plivo-compat for Node - that will let existing Plivo code run on Vobiz with a single import change. It is not available yet; this guide covers the manual migration path you can use today.