Telnyx Voice and SMS
Connect Telnyx, synchronize or buy numbers, call CRM contacts, and send and receive SMS from LeenOps.
Telnyx is an optional bring-your-own-account voice and SMS provider for LeenOps. A workspace can connect its Telnyx account, synchronize or buy a number, assign that number to a team member, make outbound browser calls, and send and receive SMS from CRM.
Telnyx remains the owner and billing provider for every number and call. LeenOps stores an encrypted connection, synchronized number inventory, user assignments, orders, and call history.
For the cross-provider workflow, roles, call history, and operations, read the Telephony guide first.
Searching is not a purchase. LeenOps shows the recurring and one-time price before the Confirm purchase action, which submits a billable order to your Telnyx account.
What You Need
You must be a workspace owner or administrator, or have the relevant telephony provider and phone-number permissions.
Prepare these values from the Telnyx Mission Control Portal:
| Value | Required | Purpose |
|---|---|---|
| V2 API key | Yes | Verifies the account and manages numbers and WebRTC credentials |
| Credential Connection ID | Yes | Connects purchased numbers and browser callers to Telnyx |
| Ed25519 public key | Yes | Verifies signed Telnyx call and messaging webhook events |
| Default country code | Optional | Pre-fills number searches, for example BE |
| Requirement Group ID | When required | Connects regulatory documentation to a number order |
Do not paste any secret into chat, source code, a ticket, or a screenshot. Enter the API key only in the password field in LeenOps.
Trial Account Limits
Telnyx trial limits can change. At the time this guide was verified:
- outbound calls can dial only the phone number verified in your Telnyx account;
- a trial account can order one local number in its country of origin;
- the number can be reclaimed if the account is not upgraded within 30 days;
- trial voice calls have concurrency, duration, hourly, and daily limits;
- a trial account can have only one API key at a time.
Verify your destination number in Telnyx before the first test call. See Telnyx trial privileges and limitations for the current rules.
1. Create the Telnyx API Key
- In Telnyx, open your account menu and choose API Keys.
- Select Create API Key.
- Give it a clear name, such as
LeenOps test. - Choose an appropriate expiration policy.
- Create the key and save it securely.
Telnyx displays the complete key only once. If it is lost, create a replacement instead of trying to recover it. See Create and manage API keys.
2. Create a Credential Connection
LeenOps browser calls use a Telnyx Credential Connection.
- In Telnyx, open Voice and create a credential-based connection.
- Make the connection active.
- Attach an outbound voice profile that permits the destinations you intend to call.
- Copy the connection ID.
The account API key and Credential Connection must belong to the same Telnyx account. The connection must support WebRTC calling. Telnyx's current configuration details are in the Credential Connection guide.
3. Find the Webhook Public Key
In Telnyx, open the account's keys and credentials area and copy the public key used for Ed25519 webhook verification. This is a public verification key, not your API key.
LeenOps rejects an invalid signature and events with an old timestamp. Adding the correct public key is therefore required for trustworthy call-state updates.
4. Connect Telnyx in LeenOps
- Go to Settings > Telephony & Messaging.
- Open the Providers tab.
- Select Add Provider.
- Choose Telnyx.
- Enter a display name and your API key.
- Enter the Credential connection ID.
- Enter the Webhook public key.
- Optionally enter a two-letter Default number country such as
BE. - If Telnyx gave you one for the intended number, enter the Requirement group ID.
- Enable Default voice provider if CRM calls should use Telnyx first.
- Select Connect provider.
LeenOps verifies the API key against the specified Credential Connection before marking the provider connected. The API key is encrypted before it is stored and is never sent to a caller's browser.
5. Configure the Telnyx Webhook
After connecting, the Telnyx provider card shows the complete URL for that connection:
https://your-leenops-domain.example/api/webhooks/telnyx/<connection-id>Set this as the primary webhook event URL on the same Telnyx Credential
Connection and use webhook API version 2. The URL must be publicly reachable
over HTTPS; localhost cannot receive Telnyx events. The same signed URL can
also be used by the Telnyx Messaging Profile if you enable SMS.
Synchronize Existing Numbers
If the Telnyx account already owns phone numbers:
- Open Settings > Telephony & Messaging > Phone Numbers.
- Select Sync account.
- Review the numbers assigned to the configured Credential Connection.
LeenOps reads the complete paginated Telnyx inventory and preserves existing team-member assignments. A locally known number that is no longer present at Telnyx is marked for attention instead of silently disappearing.
6. Buy a Number
- In Settings > Telephony & Messaging, open Phone Numbers.
- Choose a two-letter country, number type, and optional city or locality.
- Select Search.
- Review the recurring monthly price and any one-time charge.
- Select Review purchase for the desired number.
- Optionally choose a member under Assign after activation.
- Select Confirm purchase only when you approve the displayed charge.
Search results are short-lived quotes. If a quote expires, search again instead of relying on its former price or availability.
Regulatory requirements
Some countries and number types require identity, business, address, or other documents. If an order shows requirements pending:
- Open the linked Telnyx number page.
- Complete the required documentation in Telnyx.
- Return to LeenOps and select Refresh on the order.
A Requirement Group ID can be added to the provider connection when the order must use a group already prepared in Telnyx. See Telnyx Requirement Groups.
7. Assign the Number
Once a number appears under Owned Telnyx numbers:
- Open its member selector.
- Choose the person who should call from that number.
- Leave it as Not assigned if it should remain in workspace inventory.
The assignment becomes that user's outbound Telnyx caller number. A caller without an assigned number receives a prompt to buy or assign one before a browser call can start.
8. Call a CRM Contact
- Open a CRM contact or another record with click-to-call.
- Select a valid phone number.
- Allow microphone access if the browser asks.
- Use the voice dock to mute, transfer, or end the call.
LeenOps requests a short-lived Telnyx login token for the signed-in user. The browser never receives the workspace API key. Call progress is written to the provider-neutral LeenOps call journal.
This release supports outbound Telnyx browser calling, mute, transfer, and hangup. Persistent browser answering for inbound calls is not available yet.
Signed Telnyx events keep the LeenOps call state current even when provider events arrive more than once or out of order. When Telnyx emits recording and transcript events, LeenOps links them to the call and mirrors completed audio to private storage for durable playback.
Enable Telnyx SMS
Before this step, connect Telnyx Voice and select Sync account so LeenOps can verify the sender number.
- In Telnyx, create or choose a Messaging Profile.
- Add the intended sender number to that Messaging Profile.
- Configure the connection-specific signed LeenOps webhook URL on the Messaging Profile.
- In LeenOps, open Settings > Telephony & Messaging > SMS & WhatsApp.
- Choose Telnyx SMS.
- Enter the Messaging Profile ID and sender number in international E.164 format.
- Enable Use as default SMS provider if outgoing SMS should use Telnyx.
- Select Connect Telnyx SMS.
Telnyx SMS reuses the encrypted API key from the voice connection; LeenOps does not ask for or store a second copy. Outbound messages, inbound messages, delivery state, CRM activity, recipient opt-out, and idempotency use the same LeenOps message records as other providers.
LeenOps requires the synchronized number to show the same Messaging Profile ID you entered. If it has no profile or a different profile, assign it in Telnyx and select Sync account again before connecting SMS.
LeenOps does not automate carrier registration. For US application-to-person traffic, complete the required Telnyx brand and campaign/10DLC registration before production sends. MMS and Telnyx WhatsApp are not supported yet.
Release a Number
Releasing a number is destructive:
- In Phone Numbers, find the owned number.
- Select its trash icon.
- Read the warning and select Release number only if you intend to return it to Telnyx.
The number may become permanently unavailable. It is removed from user assignment and can no longer be used for CRM calls.
Troubleshooting
| Problem | What to check |
|---|---|
| Connection verification fails | Confirm the V2 API key and Credential Connection ID belong to the same Telnyx account and the connection is active |
| No full number is shown in search | Trial accounts expose full numbers only for eligible local inventory in the account's country |
| Order is pending | Open Telnyx to complete regulatory requirements, then select Refresh |
| Browser says to buy or assign a number | Assign an active owned number to the signed-in LeenOps user |
| Trial call is rejected | Verify the exact destination number in Telnyx and check trial call limits |
| No microphone audio | Allow microphone access for the LeenOps domain and retry |
| Call state does not update | Confirm the full public HTTPS webhook URL, API version 2, and Ed25519 public key |
| Existing Telnyx number is missing | Select Sync account and confirm the number is assigned to the configured Credential Connection |
| Telnyx SMS cannot be connected | Confirm Voice is connected, synchronize numbers, and verify that the sender belongs to the entered Messaging Profile |
| SMS remains queued or sent | Confirm the Messaging Profile uses the signed LeenOps webhook URL and inspect the provider card for failed events |
| Recording is not playable | Check the provider card event queue and confirm the Telnyx recording URL was available when the completion event arrived |
| Number or route is unavailable | Check Telnyx balance, outbound voice profile, country authorization, inventory, and local requirements |
Security and Billing
- LeenOps encrypts the Telnyx API key in the workspace provider connection.
- Browser clients receive only short-lived, per-user WebRTC credentials.
- Signed webhooks are checked against the configured Ed25519 public key and a five-minute replay window.
- Telnyx bills the connected customer account directly. LeenOps is not the merchant of record.
- Access to provider setup, number purchase, assignment, release, and calling is controlled by workspace telephony permissions.
- Disconnecting Telnyx removes encrypted credentials and revokes WebRTC credentials created by LeenOps while retaining call, message, number, and audit history.
Next Steps
- Telephony — Provider choice, roles, calling, call history, and operations
- CRM Activities — Start calls and review customer activity
- Telnyx developer overview — Browse official Telnyx documentation
- Telnyx trial limits — Confirm current test-account restrictions

