The short answer
Connecting Plivo lets Rexa run calls on numbers in your Plivo account. You paste an Auth ID and Auth Token, and optionally a Plivo Application ID. That third field matters most when one Plivo account hosts several end customers, because it limits the number inventory Rexa shows to the numbers linked to that application. All three are validated before anything is saved.
Last reviewed
How does Rexa connect to Plivo?
A Plivo credential row holds `auth_id`, `auth_token` and an optional `app_id`. Validation calls `GET /v1/Account/{AUTH_ID}/` and stores the auth id, account name and account type from the response. A wrong pair returns `invalid_api_key`; an Auth ID that does not resolve returns `invalid_application` with a note that Plivo Auth IDs begin with `MA` or `SA`.
When you do supply an Application ID, Rexa makes a second call to confirm that application exists on that account before saving. That check is there for a specific failure it prevents: a mistyped application id would match zero numbers, and the account would silently read as "no numbers configured" with nothing obviously wrong.
What does the Application ID actually do?
A single Plivo account can host many applications — commonly one per end customer. Without the `app_id` filter, every tenant sharing that account would see every number across every application in the from-number picker. Setting it scopes the visible inventory to the numbers linked to that one application.
The value is also passed through to the call agent at dispatch time, so outbound calls originate under your application and its answer-URL resolution applies. Leaving the field empty is still supported and means "show every number on the account".
What are the setup steps?
In the Plivo Console, copy the Auth ID and Auth Token. If you want inventory scoping, go to Voice, then Applications, and copy the Application ID — an unknown id is rejected at save time with a message naming that exact console path.
Add a Plivo provider in Rexa and paste the values. Once saved, matching numbers appear on `GET /v1/phone-numbers` with `provider` set to `plivo`.
Plivo is the one carrier where inbound uses two separate Rexa endpoints: one for the inbound call callback and a second for recording callbacks. Telnyx and Twilio each use a single inbound endpoint.
Who pays the carrier?
If you would rather keep your own telecom account, you can connect Telnyx, Twilio or Plivo and run calls on your existing numbers. Rexa’s per-minute rate is the same either way, and your carrier bills you directly for their per-leg cost.
What happens when the carrier has a bad day?
Every tenant-and-carrier pair has its own circuit breaker. Five consecutive dispatch failures open it, and while it is open Rexa refuses to dispatch through that carrier at all. Sixty seconds later the breaker moves to half-open, which admits exactly one probe call. A successful probe closes it; a failed probe re-opens it and restarts the sixty-second clock, keeping the failure count at the threshold so the next recovery needs a good probe rather than another five failures.
The breaker is scoped per tenant, so another account’s bad afternoon never takes your carrier out of rotation. If you have a second carrier configured, the router skips the open one and tries the next by priority.
Frequently asked questions
- Is the Plivo Application ID required?
- No, it is optional. Omitting it means Rexa shows every number on the account, which is the right behaviour for a single-team account. Supply it when one Plivo account serves several end customers and each should only see their own numbers.
- What happens if I mistype the Application ID?
- The save is rejected with an `invalid_application` error naming the Plivo Console path to copy it from. That check exists precisely because the alternative failure is silent: a wrong id matches no numbers, so the account looks like it simply has none configured.
- Can several teams share one Plivo account?
- Yes, by giving each one a credential row with its own Application ID. Each team then sees and dials only the numbers linked to their application. They do share the underlying Plivo account and its invoice, so the split is operational rather than financial.
Scope, limitations, and sources
Credential validation is read-only: Rexa confirms the account and, when given one, the application, and writes nothing into your Plivo account. It does not buy numbers, create applications, or manage your Plivo billing. Caller-ID name is not surfaced for Plivo numbers — `caller_id_name` is null, as it is for Twilio. The Application ID scopes which numbers Rexa displays and dispatches under; it is not a security boundary inside Plivo itself, and anyone holding the Auth Token still holds full account access. Validation retries three times with one-second linear backoff on timeouts and rate-limits only.
Sources
- Telecom provider credential fields, credential validation, priority ordering and circuit-breaker behaviour. rexa.ai (accessed )
- The per-minute rate, what it includes, and how bring-your-own telecom is billed. rexa.ai (accessed )
Spotted something out of date or wrong? Tell us on the contact page and we will correct it and update the review date.