The short answer
Telnyx sits behind the default setup: Rexa provisions and configures the number, and the carrier cost sits inside the per-minute rate. If you already run a Telnyx account you can connect it instead. You paste an API key and a Call Control Application ID, Rexa validates both against Telnyx before saving, and your carrier then bills you directly.
Last reviewed
How does Rexa connect to Telnyx?
A Telnyx credential row holds two fields you supply — `api_key` and `voice_application_id` — plus a `connection_id` that Rexa derives rather than asking for. On save, and again whenever you press Test connection, Rexa calls `GET /v2/call_control_applications/:id` with your key. That single read proves three things at once: the key authenticates, the application exists under that key’s account, and the application is active.
A disabled application returns `application_disabled` naming the application so you know which one to re-enable. If you did supply a `connection_id` and it does not belong to the application, you get `invalid_connection` instead of a call that silently fails later. On success Rexa stores the application id, the application name and its `webhook_event_url` so the dashboard can show what you are actually connected to.
For a Telnyx Call Control Application the application’s own id is the connection id used for outbound routing, so Rexa derives that field instead of adding another box to the form.
What do I need from the Telnyx console?
First, an API key that is Active — Telnyx keys begin with `KEY`, and Rexa’s `invalid_api_key` message points you back at the console if the key is truncated or disabled. Second, a Call Control Application; copy its id.
Then add a Telnyx provider in Rexa and paste both values. Validation runs immediately, so a mistyped application id fails at save time as `invalid_application` rather than at first dial. Once saved, every number routed to that application appears on `GET /v1/phone-numbers` with `provider` set to `telnyx`, and the `phone_number` value is what you pass as a campaign’s from-number.
For inbound, point the application’s webhook at Rexa’s Telnyx inbound endpoint so answered calls are handed to your agent.
What does Telnyx do that Twilio and Plivo do not?
Caller-ID name. `GET /v1/phone-numbers` returns a `caller_id_name` field, and it is populated for Telnyx numbers only — it is `null` for Twilio and Plivo. If displaying a CNAM value in your own tooling matters, that is a real reason to prefer Telnyx.
Telnyx is also the carrier Rexa provisions on the default path, and currently the only wired SMS provider, so a single Telnyx account can cover both the voice and the text side of a campaign.
Who pays the carrier?
Phone numbers are included by default: Rexa provisions and configures them, with the carrier cost inside the per-minute rate. Bringing your own Telnyx, Twilio or Plivo account is supported as an option, and on that path 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
- Do I need my own Telnyx account to use Rexa?
- No. On the default setup Rexa provisions and configures the number for you and the carrier cost sits inside the per-minute rate. Connecting your own Telnyx account is the option, not the requirement, and it exists mainly for teams who already own numbers they want to keep calling from.
- Where do I find the Call Control Application ID?
- In the Telnyx console, under your Call Control Applications. Copy the application’s id. You do not need to hunt for a separate connection id — for a Call Control Application the application id is the connection id used for outbound routing, and Rexa derives it for you.
- Is my Telnyx API key stored in plain text?
- No. Credentials are encrypted through the platform credentials vault, and the dashboard never renders the key back to you after it is saved. Validation happens at save time and whenever you press Test connection, both of which read the plaintext only for the duration of that one request.
Scope, limitations, and sources
This is a credential-level integration, not a resale arrangement. On the bring-your-own path Rexa never touches your Telnyx billing, does not buy or port numbers into your account, and does not create or modify anything there — credential validation is a read-only GET against one application. Validation retries three times with one-second linear backoff, but only on a network timeout or a rate-limit; a 401 or 404 is deterministic and fails immediately. Rexa also does not use Telnyx’s own AI or voice-assistant products; the call agent dials through your connection and runs its own pipeline.
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.