Skip to main content
Contact Button uses a bring-your-own-carrier model for phone and SMS features. The human or organization keeps its own Telnyx account; Contact Button provisions and operates workspace-scoped resources through that account.
Telnyx is optional. You do not need it for Pages, buttons, apps, forms, bookings, callback-request capture, newsletter subscriptions, or knowledge. You need it for click-to-call, automated callback bridges, voice messages, call forwarding, Telnyx SMS, and Telnyx AI Assistant call flows.

What the human needs

  1. A Telnyx account with billing enabled.
  2. Any identity or regulatory verification Telnyx requires for the countries and number types they intend to use.
  3. A Telnyx API V2 key. Telnyx displays the value once.
  4. The account Ed25519 public key from Mission Control → Keys & Credentials. This is not the API key; Contact Button uses it to verify webhook signatures.
For programmable voice, Telnyx documents an account, API key, E.164 caller and receiver numbers, a Voice API Application, an outbound voice profile for outbound traffic, and webhooks as the core requirements. Contact Button creates and configures the applicable Telnyx resources after the account is connected.

Secret handling for agents

Never ask the human to paste the Telnyx API key into a prompt or chat message. Ask them to add it through the coding agent host’s secret manager or environment configuration:
Do not print these variables, include them in command output, write them to source control, or put them in Page content. The webhook public key is not secret, but keeping all carrier configuration in the same secure setup flow reduces mistakes.

1. Check the current connection

A new workspace returns status: not_configured. An existing connection returns only the last four API-key characters, whether a public key is configured, enabled capabilities, balance metadata, and readiness. Contact Button never returns the full Telnyx API key.

2. Connect the account

The initial request requires both the Telnyx API key and account public key:
Contact Button verifies the API key against the Telnyx balance endpoint. It then attempts to create or update:
  • A Voice API Call Control Application using Contact Button’s signed webhook endpoint
  • A credentials-based SIP connection for short-lived browser-calling credentials
  • An outbound voice profile when call forwarding or outbound calling is enabled
  • A messaging profile when SMS lead alerts are enabled
It also checks whether Telnyx AI Assistants can be listed for the account.

3. Read readiness

Do not treat a saved credential as a working phone connection. Inspect the response:
configured means the core Call Control application and webhook signature key are ready. Individual capabilities can still require another readiness field. Explain every *_error value to the human instead of retrying indefinitely or claiming success.

4. Create a call flow

A call flow determines what an assigned phone number or Click-to-Call app does. Modes are voicemail, callback, forwarding, and ai_agent.
Keep the returned call-flow UUID.

5. Search, approve, and order a number

Searching does not buy a number:
Each result includes an opaque quote ID, phone number, monthly price, upfront price, currency, capabilities, and expiration. Before ordering, the agent must show those values to the human and ask for explicit approval.
A phone-number order can create recurring and upfront charges. Never infer approval from the original setup request. Do not order after the quote expires, and do not replace the shown quote with another number.
After approval:
An order may remain provisioning or report regulatory_status: action_required. In that case, direct the human to the Telnyx Mission Control Portal. Do not bypass Telnyx identity, emergency-address, messaging-registration, or other regulatory requirements.

Updating and rollback

Omit api_key and webhook_public_key on later updates to retain the saved values. Disable individual capabilities through the same workspace telephony endpoint. This does not cancel a rented Telnyx number or remove carrier-side resources. If the human wants to stop all carrier access, first disable the Contact Button phone features and confirm no active call depends on them, then have the human rotate or revoke the Telnyx API key in Mission Control. Number cancellation and carrier-resource deletion remain explicit Telnyx account actions.

Agent completion checklist

  • The connection status and required readiness fields are reported accurately.
  • No secret appeared in model context, logs, files, or command output.
  • The human explicitly approved any number purchase after seeing current prices.
  • The chosen number is attached to the intended call flow.
  • Required Telnyx regulatory actions are complete or clearly handed back to the human.
  • A real inbound or outbound smoke test is run only with the human’s permission.