Skip to main content
Vobiz is designed to be a near drop-in replacement for Plivo. You keep the same Auth ID/Token model, the same /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.
1

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.
2

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.
3

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.
4

Same XML, one verb renamed

VobizXML mirrors PlivoXML. Most verbs are unchanged - the main edit is renaming <GetDigits>/<GetInput> to <Gather>.

What changes vs what stays the same

What changesWhat 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_TOKENVOBIZ_AUTH_ID / VOBIZ_AUTH_TOKENBulk dial uses the same < separator in the to field
Raw-HTTP auth: X-Plivo-Auth basic auth → X-Auth-ID + X-Auth-Token headersMachine-detection (AMD) parameters carry over
Base URL: api.plivo.com/v1api.vobiz.ai/api/v1All other XML verbs: <Speak>, <Play>, <Dial>, <Number>, <User>, <Record>, <Conference>, <Redirect>, <Hangup>, <Wait>, <PreAnswer>
XML verb: <GetDigits> / <GetInput><Gather> (attrs typeinputType, timeoutexecutionTimeout)Path casing and trailing slash - e.g. /Account/{auth_id}/Call/
Webhook signature header: X-Plivo-Signature-V3X-Vobiz-Signature-V2 / X-Vobiz-Signature-V3The signature scheme itself: HMAC-SHA256 plus a nonce
SIP domain: sip.plivo.comapp.vobiz.ai
If you mostly use calls.create (→ calls.make_call/makeCall), <Speak>, <Play>, and <Dial>, your migration is mostly a credentials-and-base-URL change, swapping the client/method names, and a single find-and-replace on the input-gathering verb.

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.