> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentivue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Telnyx

> Configure Telnyx for voice communication in SentiVue Talk

## Overview

Telnyx is a cloud communications platform that provides programmable voice via its Call Control API. SentiVue Talk's Telnyx integration uses Call Control plus WebSocket media streaming to power your workflows.

## Prerequisites

Before setting up Telnyx integration, you'll need:

* A [Telnyx account](https://telnyx.com/)
* An **API Key** from the Telnyx Mission Control Portal
* A **Call Control Application** (optional — leave the field blank in SentiVue Talk and we'll auto-create one for you on save, with the inbound webhook URL pre-set)
* At least one Telnyx phone number assigned to that Call Control Application

## Configuration

### Step 1: Get Telnyx Credentials

1. Log in to the [Telnyx Mission Control Portal](https://portal.telnyx.com/)
2. Navigate to **API Keys** and create (or copy) an API Key
3. (Optional) Navigate to **Call Control** → **Applications** and create (or open) the application you'll use with SentiVue Talk, then copy its **Connection ID** (Call Control App ID). Skip this if you want SentiVue Talk to auto-create the Call Control Application for you on save.
4. Navigate to **Numbers** → **My Numbers** and assign your phone numbers to the Call Control Application you'll use with SentiVue Talk (if you're letting SentiVue Talk auto-create the application, do this after saving the configuration in Step 2)

### Step 2: Configure in SentiVue Talk

1. Navigate to **/telephony-configurations** and click **Add configuration**
2. Select **Telnyx** as your provider
3. Enter your credentials:
   * API Key
   * Call Control App ID (Connection ID) — *optional*. Leave blank and SentiVue Talk will auto-create a Call Control Application on save (with the inbound webhook URL already configured) and store its Connection ID on this configuration.
4. Click **Save Configuration**
5. Open the configuration you just created and add at least one **phone number** (with country code in E.164 format, e.g. `+1234567890`). The default caller ID is used for outbound calls.

   <Note>
     If SentiVue Talk auto-created the Call Control Application for you, you still need to assign your Telnyx numbers to that application in the Telnyx Portal under **Numbers** → **My Numbers**. The auto-created application is named `sentivue-<random>` — its Connection ID is shown on the saved configuration.
   </Note>

### Step 3: Test Your Configuration

1. Create a test workflow
2. Click "Call" to verify connection
3. Check call logs for successful connection

## Inbound Calling Setup

Telnyx delivers inbound webhooks at the **Call Control Application** level — the webhook URL is configured once on the application, and applies to every number assigned to it. **When you save an inbound workflow on a phone number, SentiVue Talk automatically pushes the webhook URL to your Call Control Application's `webhook_event_url`** (provided the credentials are correct). If SentiVue Talk auto-created the application during configuration save, the webhook URL is already set and this step is a no-op.

### Step 1: Assign an Inbound Workflow to the Phone Number

1. Go to **/telephony-configurations** and open your Telnyx configuration
2. In the **Phone numbers** section, edit the number that should receive inbound calls
3. Set its **Inbound workflow** to the agent that should answer
4. Save

### Step 2: Verify the Webhook URL on the Call Control Application

1. Go to **Call Control** → **Applications** in the Telnyx Portal
2. Open the application whose Connection ID you configured in SentiVue Talk
3. In **Webhook Settings**, confirm:
   * **Webhook URL** is set to: `https://app.sentivue.com/talk/api/v1/telephony/inbound/run`
   * **HTTP Method** is `POST`
4. Make sure the phone numbers you want to use for inbound are assigned to this application

   SentiVue Talk sets this automatically when you save the inbound workflow.

   Every number on the Call Control Application shares this one URL. Calls still reach the right agent, matched on the number they came in on.

   If the field is empty or shows something else, the auto-push failed — usually a wrong API Key or Connection ID. Paste the URL in yourself, set the method to `POST`, and save.

### Step 3: Verify Setup

* Confirm the number is listed in your SentiVue Talk telephony configuration and has an **Inbound workflow** assigned
* Confirm the number is assigned to the same Call Control Application whose Connection ID is configured in SentiVue Talk

### Test Inbound Calling

1. Call your configured Telnyx phone number from another phone
2. Verify your SentiVue Talk workflow answers and responds
3. Check call logs in both SentiVue Talk dashboard and Telnyx Portal

## Call handling setup

Telnyx numbers use the **Standard** setup: calls reach your agent through Telnyx's voice webhook. This supports inbound calls, outbound calls, and cold transfer.

Warm transfer and live translation need the **Advanced** setup, which is currently available on Twilio only. Support for Telnyx is in progress.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Invalid phone number error">
    Ensure phone numbers include country code in E.164 format: `+1234567890`
  </Accordion>

  <Accordion title="Authentication failed">
    * Verify the API Key is correct and active
    * Check for extra spaces in the key
    * Ensure the key hasn't been revoked in the Telnyx Portal
  </Accordion>

  <Accordion title="Webhook signature validation failing">
    * Telnyx signs webhooks with Ed25519 — confirm the public key on the application hasn't changed
    * Verify the webhook URL on the application matches `https://app.sentivue.com/talk/api/v1/telephony/inbound/run`
  </Accordion>

  <Accordion title="No audio on calls">
    * Confirm the number is assigned to the same Call Control Application whose Connection ID is configured in SentiVue Talk
    * Check the call in the Telnyx Portal's debugging logs for streaming errors
    * Review the call logs in the SentiVue Talk dashboard
  </Accordion>

  <Accordion title="Inbound calls aren't answered">
    * Verify the Call Control Application's webhook URL is exactly `https://app.sentivue.com/talk/api/v1/telephony/inbound/run` and the method is `POST`
    * Confirm the called number is assigned to the same Call Control Application whose Connection ID is configured in SentiVue Talk
    * Confirm the called number exists in your SentiVue Talk telephony configuration and has an **Inbound workflow** assigned
    * Check the Telnyx Portal's debugging logs for the webhook delivery and its response
  </Accordion>

  <Accordion title="Voice agent doesn't respond to inbound calls">
    * Confirm the phone number has an **Inbound workflow** assigned in /telephony-configurations
    * Verify the API Key matches the one stored in your SentiVue Talk telephony configuration
    * Review call logs for error messages
  </Accordion>
</AccordionGroup>

## Best Practices

* Test your configuration with a single call before running campaigns
* Monitor the Telnyx Portal for usage and billing
* Use a dedicated Call Control Application for SentiVue Talk so the shared webhook URL doesn't conflict with other systems
