---
name: pp-telnyx
description: "Telnyx messaging, numbers, and voice endpoints, plus a synced message-history mirror, number setup audits, and spend rollups. Trigger phrases: `text a guest from telnyx`, `check telnyx message history`, `which telnyx numbers can't send`, `telnyx sms spend`, `use telnyx`."
author: "Greg Mushen"
license: "Apache-2.0"
argument-hint: "<command> [args] | install cli|mcp"
allowed-tools: "Read Bash"
metadata:
  openclaw:
    requires:
      bins:
        - telnyx-pp-cli
    install:
      - kind: go
        bins: [telnyx-pp-cli]
        module: github.com/mvanhorn/printing-press-library/library/social-and-messaging/telnyx/cmd/telnyx-pp-cli
---
<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/social-and-messaging/telnyx/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

# Telnyx — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `telnyx-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install telnyx --cli-only
   ```
2. Verify: `telnyx-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.9 or newer). This installs into `$GOPATH/bin` (default `$HOME/go/bin`), so add that directory to `$PATH` instead:

```bash
go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/telnyx/cmd/telnyx-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

Sync your Telnyx messaging detail records into a local database, then see any number's delivery timeline with conversation, who is waiting with inbox unanswered, and costs with spend. numbers audit catches numbers missing a messaging profile or 10DLC campaign assignment before texts fail silently.

## When to Use This CLI

Use for Telnyx SMS/MMS operations from owned numbers: reading conversation history, auditing number setup, tracking spend and failures, and sending texts safely from an agent.

## Anti-triggers

Do not use this CLI for:
- Building real-time call flows (use webhooks and the Telnyx SDK)
- Managing Telnyx AI assistants, storage, or IoT SIMs (out of scope)

## Unique Capabilities

### Synced message history
- **`conversation`** — See the delivery timeline with one guest or vendor number: direction, status, parts and cost (Telnyx records carry no message bodies).

  _Check when you last texted someone and whether it was delivered before sending anything new._

  ```bash
  telnyx-pp-cli conversation +12075551234 --since 30d --agent
  ```
- **`spend`** — Total messaging cost by number, profile, direction, or day, with balance runway.

  _Answer what texting cost this month without the portal._

  ```bash
  telnyx-pp-cli spend --since 30d --group-by number --agent
  ```
- **`failures`** — Failed and undelivered texts grouped by error code and recipient.

  _Find guests who never got their message._

  ```bash
  telnyx-pp-cli failures --since 7d --agent
  ```
- **`inbox unanswered`** — Contacts whose latest text was inbound with no reply yet.

  _Find who is still waiting on a reply._

  ```bash
  telnyx-pp-cli inbox unanswered --since 48h --agent
  ```

### Number health
- **`numbers audit`** — Find owned numbers that cannot text: missing messaging profile or missing 10DLC campaign assignment.

  _Run before blaming carriers for silent send failures._

  ```bash
  telnyx-pp-cli numbers audit --agent
  ```

### Agent-native plumbing
- **`text`** — Send a text after checking the sender is wired correctly and showing recent history; requires --yes.

  _Agents should send through this, not the raw endpoint._

  ```bash
  telnyx-pp-cli text --from +12075550100 --to +12075551234 --message 'Your door code is ready' --dry-run
  ```

## Command Reference

**10dlc** — Manage 10dlc

- `telnyx-pp-cli 10dlc accept-campaign` — Manually accept a campaign shared with Telnyx
- `telnyx-pp-cli 10dlc appeal-campaign` — Submits an appeal for rejected native campaigns in TELNYX_FAILED or MNO_REJECTED status.
- `telnyx-pp-cli 10dlc create-brand-post` — This endpoint is used to create a new brand.
- `telnyx-pp-cli 10dlc create-phone-number-campaign` — Assigns a phone number to a 10DLC campaign.
- `telnyx-pp-cli 10dlc deactivate-campaign` — Terminate a campaign. Note that once deactivated, a campaign cannot be restored.
- `telnyx-pp-cli 10dlc delete-brand` — Delete Brand. This endpoint is used to delete a brand.
- `telnyx-pp-cli 10dlc delete-phone-number-campaign` — This endpoint allows you to remove a campaign assignment from the supplied `phoneNumber`.
- `telnyx-pp-cli 10dlc get-all-phone-number-campaigns` — Returns phone-number-to-campaign assignments for the authenticated account.
- `telnyx-pp-cli 10dlc get-assignment-task-status` — Check the status of the task associated with assigning all phone numbers on a messaging profile to a campaign by
- `telnyx-pp-cli 10dlc get-brand` — Returns the details of a 10DLC brand by its brandId, including the count of campaigns associated with the brand.
- `telnyx-pp-cli 10dlc get-brand-feedback-by-id` — Get feedback about a brand by ID. This endpoint can be used after creating or revetting a brand. Possible values for `.
- `telnyx-pp-cli 10dlc get-brand-feedback-by-id-brand` — Get feedback about a brand by ID. This endpoint can be used after creating or revetting a brand. Possible values for `.
- `telnyx-pp-cli 10dlc get-brand-sms-otp-status` — Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification.
- `telnyx-pp-cli 10dlc get-brand-sms-otp-status-by-brand-id` — Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification using the Brand ID.
- `telnyx-pp-cli 10dlc get-brands` — This endpoint is used to list all brands associated with your organization.
- `telnyx-pp-cli 10dlc get-campaign` — Retrieve campaign details by `campaignId`.
- `telnyx-pp-cli 10dlc get-campaign-cost` — Retrieve the campaign cost associated with a given 10DLC use case, including any carrier fees.
- `telnyx-pp-cli 10dlc get-campaign-cost-campaign` — Returns the upfront and monthly cost associated with the selected 10DLC campaign use case.
- `telnyx-pp-cli 10dlc get-campaign-mno-metadata` — Get the campaign metadata for each MNO it was submitted to.
- `telnyx-pp-cli 10dlc get-campaign-operation-status` — Retrieve campaign's operation status at MNO level.
- `telnyx-pp-cli 10dlc get-campaign-osr-attributes` — Retrieve the OSR attributes assigned to a 10DLC campaign.
- `telnyx-pp-cli 10dlc get-campaign-osr-attributes-campaign` — Returns the optional shared-responsibility attributes recorded for the campaign.
- `telnyx-pp-cli 10dlc get-campaign-sharing-status` — Returns whether the campaign is configured for partner sharing and the current sharing state.
- `telnyx-pp-cli 10dlc get-campaigns` — Retrieve a list of campaigns associated with a supplied `brandId`.
- `telnyx-pp-cli 10dlc get-enum-endpoint` — Returns the accepted values for the selected 10DLC enumeration endpoint.
- `telnyx-pp-cli 10dlc get-partner-campaign-sharing-status` — Returns the partner-sharing state for the specified campaign.
- `telnyx-pp-cli 10dlc get-partner-campaigns-shared-by-user` — Get all partner campaigns you have shared to Telnyx in a paginated fashion This endpoint is currently limited to only
- `telnyx-pp-cli 10dlc get-phone-number-status` — Check the status of the individual phone number/campaign assignments associated with the supplied `taskId`.
- `telnyx-pp-cli 10dlc get-shared-campaign` — Retrieve campaign details by `campaignId`.
- `telnyx-pp-cli 10dlc get-shared-campaigns` — Retrieve all partner campaigns you have shared to Telnyx in a paginated fashion.
- `telnyx-pp-cli 10dlc get-single-phone-number-campaign` — Retrieve an individual phone number/campaign assignment by `phoneNumber`.
- `telnyx-pp-cli 10dlc get-usecase-qualification` — This endpoint allows you to see whether or not the supplied brand is suitable for your desired campaign use case.
- `telnyx-pp-cli 10dlc list-external-vettings` — Get list of valid external vetting record for a given brand
- `telnyx-pp-cli 10dlc post-assign-messaging-profile-to-campaign` — This endpoint allows you to link all phone numbers associated with a Messaging Profile to a campaign.
- `telnyx-pp-cli 10dlc post-campaign` — Before creating a campaign, use the [Qualify By Usecase endpoint](https://developers.telnyx.
- `telnyx-pp-cli 10dlc post-order-external-vetting` — Order new external vetting for a brand.
- `telnyx-pp-cli 10dlc put-external-vetting-record` — This operation can be used to import an external vetting record from a TCR-approved vetting provider.
- `telnyx-pp-cli 10dlc put-phone-number-campaign` — Replaces the 10DLC campaign assignment for the specified phone number.
- `telnyx-pp-cli 10dlc resend-brand2fa-email` — Requests a new two-factor authentication email for the specified 10DLC brand.
- `telnyx-pp-cli 10dlc revet-brand` — This operation allows you to revet the brand.
- `telnyx-pp-cli 10dlc trigger-brand-sms-otp` — Trigger or re-trigger an SMS OTP (One-Time Password) for Sole Proprietor brand verification.
- `telnyx-pp-cli 10dlc update-brand` — Update a brand's attributes by `brandId`.
- `telnyx-pp-cli 10dlc update-campaign` — Update a campaign's properties by `campaignId`. **Please note:** only sample messages are editable.
- `telnyx-pp-cli 10dlc update-shared-campaign` — Update campaign details by `campaignId`. **Please note:** Only webhook urls are editable.
- `telnyx-pp-cli 10dlc verify-brand-sms-otp` — Verify the SMS OTP (One-Time Password) for Sole Proprietor brand verification. **Verification Flow:** 1.

**available-phone-numbers** — Manage available phone numbers

- `telnyx-pp-cli available-phone-numbers` — Searches the Telnyx inventory for available phone numbers.

**balance** — Manage balance

- `telnyx-pp-cli balance` — Retrieve the current balance, available credit, and credit limit for your account.

**call-control-applications** — Call Control applications operations

- `telnyx-pp-cli call-control-applications create` — Creates a call control application
- `telnyx-pp-cli call-control-applications delete` — Permanently deletes the specified call control application and its webhook configuration.
- `telnyx-pp-cli call-control-applications list` — Return a list of call control applications.
- `telnyx-pp-cli call-control-applications retrieve` — Retrieves the details of an existing call control application.
- `telnyx-pp-cli call-control-applications update` — Updates settings of an existing call control application.

**calls** — Manage calls

- `telnyx-pp-cli calls dial` — Dial a number or SIP URI from a given connection.
- `telnyx-pp-cli calls retrieve-status` — Returns the status of a call (data is available 10 minutes after call ended).

**connections** — Connections operations

- `telnyx-pp-cli connections count` — Returns the number of connections associated with the authenticated user, grouped by connection type
- `telnyx-pp-cli connections list` — Returns a list of your connections irrespective of type.
- `telnyx-pp-cli connections retrieve` — Retrieves the high-level details of an existing connection.

**detail-records** — Detail Records operations

- `telnyx-pp-cli detail-records` — Search for any detail record across the Telnyx Platform

**faxes** — Manage faxes

- `telnyx-pp-cli faxes delete-fax` — Delete a fax resource from your account.
- `telnyx-pp-cli faxes list` — Retrieve a paginated list of faxes sent or received on your account.
- `telnyx-pp-cli faxes send-fax` — Send a fax. Files have size limits and page count limit validations.
- `telnyx-pp-cli faxes view-fax` — Returns the details of a single fax, including its current status.

**media** — Manage media

- `telnyx-pp-cli media create-storage` — Upload media file to Telnyx so it can be used with other Telnyx services
- `telnyx-pp-cli media delete-storage` — Permanently deletes the specified media file from storage.
- `telnyx-pp-cli media get-storage` — Returns the information about a stored media file.
- `telnyx-pp-cli media list-storage` — Returns a list of the media files stored on your account, with support for filtering.
- `telnyx-pp-cli media update-storage` — Updates the specified stored media file and returns the updated resource.

**messages** — Messages

- `telnyx-pp-cli messages cancel` — Cancel a scheduled message that has not yet been sent.
- `telnyx-pp-cli messages create-group-mms` — Queues an MMS addressed to multiple recipients as a group conversation.
- `telnyx-pp-cli messages create-long-code` — Queues an outbound SMS or MMS using a long-code sender.
- `telnyx-pp-cli messages create-number-pool` — Queues an outbound message using a number pool.
- `telnyx-pp-cli messages create-short-code` — Queues an outbound SMS or MMS using a short-code sender.
- `telnyx-pp-cli messages generate-rcsdeeplink` — Generate a deeplink URL that can be used to start an RCS conversation with a specific agent.
- `telnyx-pp-cli messages generate-rcsdeeplink-rcs` — Generate a deeplink URL that can be used to start an RCS conversation with a specific agent.
- `telnyx-pp-cli messages get` — Note: This API endpoint can only retrieve messages that are no older than 10 days since their creation.
- `telnyx-pp-cli messages get-group-mms` — Retrieve all messages in a group MMS conversation by the group message ID.
- `telnyx-pp-cli messages schedule` — Schedule a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool.
- `telnyx-pp-cli messages send` — Send a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool.
- `telnyx-pp-cli messages send-alphanumeric-sender-id` — Send an SMS message using an alphanumeric sender ID. This is SMS only.
- `telnyx-pp-cli messages send-alphanumeric-sender-id-alphanumeric` — Send an SMS message using an alphanumeric sender ID. This is SMS only.
- `telnyx-pp-cli messages send-whatsapp` — Sends a WhatsApp message using a Telnyx WhatsApp-enabled number.

**messaging-profiles** — Manage messaging profiles

- `telnyx-pp-cli messaging-profiles create` — Creates a messaging profile that controls outbound sender selection, webhook delivery
- `telnyx-pp-cli messaging-profiles delete` — Deletes the specified messaging profile and returns the profile's final configuration.
- `telnyx-pp-cli messaging-profiles list` — Lists messaging profiles owned by the authenticated account.
- `telnyx-pp-cli messaging-profiles retrieve` — Returns the complete configuration of the specified messaging profile, including webhook and sender-selection settings.
- `telnyx-pp-cli messaging-profiles update` — Updates the supplied settings on the specified messaging profile. Settings omitted from the request remain unchanged.

**number-orders** — Manage number orders

- `telnyx-pp-cli number-orders create` — Creates an order to purchase the specified phone numbers and returns the created order.
- `telnyx-pp-cli number-orders list` — Returns a paginated list of your phone number orders, with support for filtering.
- `telnyx-pp-cli number-orders retrieve` — Returns the details of an existing phone number order, including its status and the numbers included.
- `telnyx-pp-cli number-orders update` — Updates an existing phone number order, for example to satisfy regulatory requirements attached to the order

**number-reservations** — Manage number reservations

- `telnyx-pp-cli number-reservations create` — Creates a Phone Number Reservation for multiple numbers.
- `telnyx-pp-cli number-reservations list` — Gets a paginated list of phone number reservations.
- `telnyx-pp-cli number-reservations retrieve` — Returns the details of a single phone number reservation, including its status and the reserved numbers.

**outbound-voice-profiles** — Outbound voice profiles operations

- `telnyx-pp-cli outbound-voice-profiles create-voice-profile` — Creates a new outbound voice profile defining calling permissions, destinations, and limits for outbound calls
- `telnyx-pp-cli outbound-voice-profiles delete` — Deletes an existing outbound voice profile.
- `telnyx-pp-cli outbound-voice-profiles get` — Retrieves the details of an existing outbound voice profile.
- `telnyx-pp-cli outbound-voice-profiles list` — Get all outbound voice profiles belonging to the user that match the given filters.
- `telnyx-pp-cli outbound-voice-profiles update` — Updates an existing outbound voice profile.

**phone-numbers** — Associate phone numbers with a verified DIR so calls from those numbers carry the DIR's display identity.

- `telnyx-pp-cli phone-numbers create-csv-download` — Starts generation of a CSV export for phone numbers matching the supplied filters.
- `telnyx-pp-cli phone-numbers create-delete-job` — Creates a new background job to delete a batch of numbers. At most one thousand numbers can be updated per API call.
- `telnyx-pp-cli phone-numbers create-job-update-emergency-settings` — Creates a background job to update the emergency settings of a collection of phone numbers.
- `telnyx-pp-cli phone-numbers create-update-job` — Creates a new background job to update a batch of numbers. At most one thousand numbers can be updated per API call.
- `telnyx-pp-cli phone-numbers delete` — Deletes the specified phone number from the account.
- `telnyx-pp-cli phone-numbers get-csv-download` — Returns the current status and download details for the CSV export identified by `id`.
- `telnyx-pp-cli phone-numbers list` — Returns phone numbers associated with the account.
- `telnyx-pp-cli phone-numbers list-csv-downloads` — Returns CSV export jobs created for account phone numbers
- `telnyx-pp-cli phone-numbers list-jobs` — Returns background jobs that operate on phone numbers.
- `telnyx-pp-cli phone-numbers list-regulatory-requirements` — Retrieve the regulatory requirements that apply to a list of phone numbers.
- `telnyx-pp-cli phone-numbers list-with-messaging-settings` — Returns phone numbers with their current messaging product and messaging-profile assignments.
- `telnyx-pp-cli phone-numbers list-with-voice-settings` — Returns account phone numbers together with their voice settings.
- `telnyx-pp-cli phone-numbers retrieve` — Returns the detailed configuration and current state of the phone number identified by `id`.
- `telnyx-pp-cli phone-numbers retrieve-job` — Returns the status and details of the phone-number background job identified by `id`.
- `telnyx-pp-cli phone-numbers slim-list` — List phone numbers
- `telnyx-pp-cli phone-numbers update` — Updates the configurable settings of the specified phone number.
- `telnyx-pp-cli phone-numbers verify-ownership` — Verifies ownership of the provided phone numbers and returns a mapping of numbers to their IDs

**recordings** — Manage recordings

- `telnyx-pp-cli recordings delete` — Permanently deletes the specified call recording and returns the deleted recording resource.
- `telnyx-pp-cli recordings delete-actions` — Permanently deletes a list of call recordings.
- `telnyx-pp-cli recordings get` — Returns a paginated list of your call recordings, with support for filtering to locate specific recordings.
- `telnyx-pp-cli recordings get-recordingid` — Retrieves the details of an existing call recording.

**short-codes** — Short 