Agent skill

Telnyx Messaging Go

by team-telnyx in team-telnyx/ai

Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

MITAuto-check passedBackend & APIs

Install Telnyx Messaging Go

skills CLI
$ npx skills add team-telnyx/ai --skill telnyx-messaging-go -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install team-telnyx/ai telnyx-messaging-go --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/telnyx-messaging-go .claude/skills/telnyx-messaging-go && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
telnyx-messaging-go
GitHub stars
220
Token cost
~5.3k tokens
SKILL.md length
1,689 words
Files
2 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

  • Tasks that involve Webhooks
  • SKILL.md covers Installation, Setup, Error Handling and Important Notes, plus 6 more sections
  • Calls go; needs TELNYX_API_KEY

What it does

Telnyx Messaging Go is an agent skill from team-telnyx/ai. Send and receive SMS/MMS, handle opt-outs and delivery webhooks. Use for notifications, 2FA, or messaging apps.

Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/api-details.md`).

It sits in Backend & APIs, covering Webhooks. The repository describes itself as: Official one-stop shop for AI Agents and developers building with Telnyx. The licence is MIT.

When your agent uses it

  • Tasks that involve Webhooks

Example prompts

  • “/telnyx-messaging-go”

Requirements

  • A credential in TELNYX_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 4d2ace0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TELNYX_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telnyx Messaging Go loads about 5.3k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 33 tokens; SKILL.md has 1,689 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~33
When it runs · the whole SKILL.md, loaded when a task matches
~5.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~10k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from team-telnyx/ai at commit 4d2ace0, republished under its MIT licence (© team-telnyx). 1,689 words, ~5,260 tokens.

Download SKILL.mdSave it as .claude/skills/telnyx-messaging-go/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
telnyx-messaging-go
description
Send and receive SMS/MMS, handle opt-outs and delivery webhooks. Use for notifications, 2FA, or messaging apps.
metadata.author
telnyx
metadata.product
messaging
metadata.language
go
metadata.generated_by
telnyx-openapi-pipeline
metadata.contract
v2
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Messaging - Go

Installation

bash
go get github.com/team-telnyx/telnyx-go

Setup

go
import (
  "context"
  "fmt"
  "os"

  "github.com/team-telnyx/telnyx-go"
  "github.com/team-telnyx/telnyx-go/option"
)

client := telnyx.NewClient(
  option.WithAPIKey(os.Getenv("TELNYX_API_KEY")),
)

All examples below assume client is already initialized as shown above.

Error Handling

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:

go
import "errors"

response, err := client.Messages.Send(context.Background(), telnyx.MessageSendParams{
		To: "+18445550001",
		From: "+18005550101",
		Text: "Hello from Telnyx!",
	})
if err != nil {
  var apiErr *telnyx.Error
  if errors.As(err, &apiErr) {
    switch apiErr.StatusCode {
    case 422:
      fmt.Println("Validation error — check required fields and formats")
    case 429:
      fmt.Println("Rate limited, retrying...")
    default:
      fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Error())
    }
  } else {
    fmt.Println("Network error — check connectivity and retry")
  }
}

Common error codes: 401 invalid API key, 403 insufficient permissions, 404 resource not found, 422 validation error (check field formats), 429 rate limited (retry with exponential backoff).

Important Notes

  • Phone numbers must be in E.164 format (e.g., +13125550001). Include the + prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: Use ListAutoPaging() for automatic iteration: iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }.

Operational Caveats

  • The sending number must already be assigned to the correct messaging profile before you send traffic from it.
  • US A2P long-code traffic must complete 10DLC registration before production sending or carriers will block or heavily filter messages.
  • Delivery webhooks are asynchronous. Treat the send response as acceptance of the request, not final carrier delivery.

Reference Use Rules

Do not invent Telnyx parameters, enums, response fields, or webhook fields.

Core Tasks

Send an SMS

Primary outbound messaging flow. Agents need exact request fields and delivery-related response fields.

client.Messages.Send() — POST /messages

ParameterTypeRequiredDescription
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
Fromstring (E.164)YesSending address (+E.164 formatted phone number, alphanumeric...
TextstringYesMessage body (i.e., content) as a non-empty string.
MessagingProfileIdstring (UUID)NoUnique identifier for a messaging profile.
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
...+7 optional params in references/api-details.md
go
	response, err := client.Messages.Send(context.Background(), telnyx.MessageSendParams{
		To: "+18445550001",
		From: "+18005550101",
		Text: "Hello from Telnyx!",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Text
  • response.Data.SentAt
  • response.Data.Errors
Send an SMS with an alphanumeric sender ID

Common sender variant that requires different request shape.

client.Messages.SendWithAlphanumericSender() — POST /messages/alphanumeric_sender_id

ParameterTypeRequiredDescription
Fromstring (E.164)YesA valid alphanumeric sender ID on the user's account.
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
TextstringYesThe message body.
MessagingProfileIdstring (UUID)YesThe messaging profile ID to use.
WebhookUrlstring (URL)NoCallback URL for delivery status updates.
WebhookFailoverUrlstring (URL)NoFailover callback URL for delivery status updates.
UseProfileWebhooksbooleanNoIf true, use the messaging profile's webhook settings.
go
	response, err := client.Messages.SendWithAlphanumericSender(context.Background(), telnyx.MessageSendWithAlphanumericSenderParams{
		From:               "MyCompany",
		MessagingProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
		Text: "Hello from Telnyx!",
		To: "+13125550001",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Text
  • response.Data.SentAt
  • response.Data.Errors

Webhook Verification

Telnyx signs webhooks with Ed25519. Each request includes telnyx-signature-ed25519 and telnyx-timestamp headers. Always verify signatures in production:

go
// In your webhook handler:
func handleWebhook(w http.ResponseWriter, r *http.Request) {
  body, _ := io.ReadAll(r.Body)
  event, err := client.Webhooks.Unwrap(body, r.Header)
  if err != nil {
    http.Error(w, "Invalid signature", http.StatusBadRequest)
    return
  }
  // Signature valid — event is the parsed webhook payload
  fmt.Println("Received event:", event.Data.EventType)
  w.WriteHeader(http.StatusOK)
}

Webhooks

These webhook payload fields are inline because they are part of the primary integration path.

Delivery Update
FieldTypeDescription
data.event_typeenum: message.sent, message.finalizedThe type of event being delivered.
data.payload.iduuidIdentifies the type of resource.
data.payload.toarray[object]
data.payload.textstringMessage body (i.e., content) as a non-empty string.
data.payload.sent_atdate-timeISO 8601 formatted date indicating when the message was sent.
data.payload.completed_atdate-timeISO 8601 formatted date indicating when the message was finalized.
data.payload.costobject | null
data.payload.errorsarray[object]These errors may point at addressees when referring to unsuccessful/unconfirm...
Inbound Message
FieldTypeDescription
data.event_typeenum: message.receivedThe type of event being delivered.
data.payload.iduuidIdentifies the type of resource.
data.payload.directionenum: inboundThe direction of the message.
data.payload.toarray[object]
data.payload.textstringMessage body (i.e., content) as a non-empty string.
data.payload.typeenum: SMS, MMSThe type of message.
data.payload.mediaarray[object]
data.record_typeenum: eventIdentifies the type of the resource.

If you need webhook fields that are not listed inline here, read the webhook payload reference before writing the handler.


Important Supporting Operations

Use these when the core tasks above are close to your flow, but you need a common variation or follow-up step.

Send a group MMS message

Send one MMS payload to multiple recipients.

client.Messages.SendGroupMms() — POST /messages/group_mms

ParameterTypeRequiredDescription
Fromstring (E.164)YesPhone number, in +E.164 format, used to send the message.
Toarray[object]YesA list of destinations.
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
WebhookFailoverUrlstring (URL)NoThe failover URL where webhooks related to this message will...
...+3 optional params in references/api-details.md
go
	response, err := client.Messages.SendGroupMms(context.Background(), telnyx.MessageSendGroupMmsParams{
		From: "+13125551234",
		To:   []string{"+18655551234", "+14155551234"},
		Text: "Hello from Telnyx!",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Text
Send a long code message

Force a long-code sending path instead of the generic send endpoint.

client.Messages.SendLongCode() — POST /messages/long_code

ParameterTypeRequiredDescription
Fromstring (E.164)YesPhone number, in +E.164 format, used to send the message.
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
WebhookFailoverUrlstring (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
go
	response, err := client.Messages.SendLongCode(context.Background(), telnyx.MessageSendLongCodeParams{
		From: "+18445550001",
		To:   "+13125550002",
		Text: "Hello from Telnyx!",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Text
Send a message using number pool

Let a messaging profile or number pool choose the sender for you.

client.Messages.SendNumberPool() — POST /messages/number_pool

ParameterTypeRequiredDescription
MessagingProfileIdstring (UUID)YesUnique identifier for a messaging profile.
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
WebhookFailoverUrlstring (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
go
	response, err := client.Messages.SendNumberPool(context.Background(), telnyx.MessageSendNumberPoolParams{
		MessagingProfileID: "abc85f64-5717-4562-b3fc-2c9600000000",
		To:                 "+13125550002",
		Text: "Hello from Telnyx!",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Text
Send a short code message

Force a short-code sending path when the sender must be a short code.

client.Messages.SendShortCode() — POST /messages/short_code

ParameterTypeRequiredDescription
Fromstring (E.164)YesPhone number, in +E.164 format, used to send the message.
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
WebhookFailoverUrlstring (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
go
	response, err := client.Messages.SendShortCode(context.Background(), telnyx.MessageSendShortCodeParams{
		From: "+18445550001",
		To:   "+18445550001",
		Text: "Hello from Telnyx!",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Text
Show full SKILL.md (645 more words)Show less
Schedule a message

Queue a message for future delivery instead of sending immediately.

client.Messages.Schedule() — POST /messages/schedule

ParameterTypeRequiredDescription
Tostring (E.164)YesReceiving address (+E.164 formatted phone number or short co...
MessagingProfileIdstring (UUID)NoUnique identifier for a messaging profile.
MediaUrlsarray[string]NoA list of media URLs.
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
...+8 optional params in references/api-details.md
go
	response, err := client.Messages.Schedule(context.Background(), telnyx.MessageScheduleParams{
		To: "+18445550001",
		From: "+18005550101",
		Text: "Appointment reminder",
		SendAt: "2025-07-01T15:00:00Z",
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Text
Send a WhatsApp message

Send WhatsApp traffic instead of SMS/MMS.

client.Messages.SendWhatsapp() — POST /messages/whatsapp

ParameterTypeRequiredDescription
Fromstring (E.164)YesPhone number in +E.164 format associated with Whatsapp accou...
Tostring (E.164)YesPhone number in +E.164 format
WhatsappMessageobjectYes
Typeenum (WHATSAPP)NoMessage type - must be set to "WHATSAPP"
WebhookUrlstring (URL)NoThe URL where webhooks related to this message will be sent.
MessagingProfileIdstring (UUID)NoMessaging profile ID - required if the 'from' number is not ...
go
	response, err := client.Messages.SendWhatsapp(context.Background(), telnyx.MessageSendWhatsappParams{
		From:            "+13125551234",
		To:              "+13125551234",
		WhatsappMessage: telnyx.WhatsappMessageContentParam{},
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", response.Data)

Primary response fields:

  • response.Data.ID
  • response.Data.To
  • response.Data.From
  • response.Data.Type
  • response.Data.Direction
  • response.Data.Body

Additional Operations

Use the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use references/api-details.md for full optional params, response schemas, and lower-frequency webhook payloads. Before using any operation below, read the optional-parameters section and the response-schemas section so you do not guess missing fields.

OperationSDK methodEndpointUse whenRequired params
Retrieve a messageclient.Messages.Get()GET /messages/{id}Fetch the current state before updating, deleting, or making control-flow decisions.Id
Cancel a scheduled messageclient.Messages.CancelScheduled()DELETE /messages/{id}Remove, detach, or clean up an existing resource.Id
List alphanumeric sender IDsclient.AlphanumericSenderIDs.List()GET /alphanumeric_sender_idsInspect available resources or choose an existing resource before mutating it.None
Create an alphanumeric sender IDclient.AlphanumericSenderIDs.New()POST /alphanumeric_sender_idsCreate or provision an additional resource when the core tasks do not cover this flow.AlphanumericSenderId, MessagingProfileId
Retrieve an alphanumeric sender IDclient.AlphanumericSenderIDs.Get()GET /alphanumeric_sender_ids/{id}Fetch the current state before updating, deleting, or making control-flow decisions.Id
Delete an alphanumeric sender IDclient.AlphanumericSenderIDs.Delete()DELETE /alphanumeric_sender_ids/{id}Remove, detach, or clean up an existing resource.Id
Retrieve group MMS messagesclient.Messages.GetGroupMessages()GET /messages/group/{message_id}Fetch the current state before updating, deleting, or making control-flow decisions.MessageId
List messaging hosted numbersclient.MessagingHostedNumbers.List()GET /messaging_hosted_numbersInspect available resources or choose an existing resource before mutating it.None
Retrieve a messaging hosted numberclient.MessagingHostedNumbers.Get()GET /messaging_hosted_numbers/{id}Fetch the current state before updating, deleting, or making control-flow decisions.Id
Update a messaging hosted numberclient.MessagingHostedNumbers.Update()PATCH /messaging_hosted_numbers/{id}Modify an existing resource without recreating it.Id
List opt-outsclient.MessagingOptouts.List()GET /messaging_optoutsInspect available resources or choose an existing resource before mutating it.None
List high-level messaging profile metricsclient.MessagingProfileMetrics.List()GET /messaging_profile_metricsInspect available resources or choose an existing resource before mutating it.None
Regenerate messaging profile secretclient.MessagingProfiles.Actions.RegenerateSecret()POST /messaging_profiles/{id}/actions/regenerate_secretTrigger a follow-up action in an existing workflow rather than creating a new top-level resource.Id
List alphanumeric sender IDs for a messaging profileclient.MessagingProfiles.ListAlphanumericSenderIDs()GET /messaging_profiles/{id}/alphanumeric_sender_idsFetch the current state before updating, deleting, or making control-flow decisions.Id
Get detailed messaging profile metricsclient.MessagingProfiles.GetMetrics()GET /messaging_profiles/{id}/metricsFetch the current state before updating, deleting, or making control-flow decisions.Id
List Auto-Response Settingsclient.MessagingProfiles.AutorespConfigs.List()GET /messaging_profiles/{profile_id}/autoresp_configsFetch the current state before updating, deleting, or making control-flow decisions.ProfileId
Create auto-response settingclient.MessagingProfiles.AutorespConfigs.New()POST /messaging_profiles/{profile_id}/autoresp_configsCreate or provision an additional resource when the core tasks do not cover this flow.Op, Keywords, CountryCode, ProfileId
Get Auto-Response Settingclient.MessagingProfiles.AutorespConfigs.Get()GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}Fetch the current state before updating, deleting, or making control-flow decisions.ProfileId, AutorespCfgId
Update Auto-Response Settingclient.MessagingProfiles.AutorespConfigs.Update()PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}Modify an existing resource without recreating it.Op, Keywords, CountryCode, ProfileId, +1 more
Delete Auto-Response Settingclient.MessagingProfiles.AutorespConfigs.Delete()DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}Remove, detach, or clean up an existing resource.ProfileId, AutorespCfgId
Other Webhook Events
Eventdata.event_typeDescription
replacedLinkClickmessage.link_clickReplaced Link Click

For exhaustive optional parameters, full response schemas, and complete webhook payloads, see references/api-details.md.

© team-telnyx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/telnyx-messaging-go of team-telnyx/ai.

  • SKILL.md
  • references/api-details.md

Open the folder on GitHubat commit 4d2ace0

Compare with similar skills

Telnyx Messaging Go next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Telnyx Messaging Go compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telnyx Messaging Go this skillteam-telnyx/ai220—~5.3kAutomated safety check: PassMIT
Novu Design Workflownovuhq/novu40k—~2.6kAutomated safety check: PassCustom licence
Golivemikehasa/golive-skill1.3k—~13kAutomated safety check: NotesMIT
Stripe Appsfossasia/eventyay1.7k1 repos~3.6kAutomated safety check: PassApache-2.0
Dingtalk Messageagentscope-ai/ReMe3.6k—~1.6kAutomated safety check: PassApache-2.0
PR Review Provideryansongda/pay5.4k—~2.4kAutomated safety check: PassMIT

Similar skills

  • Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on subscriber state.

    40k GitHub stars~2.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Golive

    mikehasa/golive-skill

    Take an agent-written app from repo to live production on the user's OWN accounts, with providers they choose (hosting, database, auth, payments, email, domain/DNS).

    1.3k GitHub stars~13k tokensUpdated 7 days ago
    Backend & APIsAuto-check: notes
  • Stripe Apps

    fossasia/eventyay

    A skill your agent uses when building, modifying, or reviewing a Stripe App — or when the user describes something that implies one (e.g.

    1.7k GitHub starsUsed in 1 repo~3.6k tokens
    Backend & APIsAuto-check passed
  • Dingtalk Message

    agentscope-ai/ReMe

    钉钉消息发送技能。支持企业内部机器人(批量单聊/群聊)和 Webhook 自定义机器人两种接入方式,支持多机器人管理,支持文本、Markdown、链接、ActionCard、FeedCard等多种消息类型。

    3.6k GitHub stars~1.6k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • PR Review Provider

    yansongda/pay

    A skill your agent uses when reviewing PRs that add or modify a payment Provider in yansongda/pay - covers plugin pipeline, multi-tenant safety, signature verification, docs, and naming conventions.

    5.4k GitHub stars~2.4k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Stripe Best Practices

    kanchengw/cnllm

    Guides Stripe integration decisions — API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, Treasury financial…

    173 GitHub starsUsed in 2 repos~925 tokens
    Backend & APIsAuto-check passed

More from team-telnyx/ai

All 11 skills in this repo
  • Test VoIP push notifications for Telnyx WebRTC iOS (APNs) and Android (FCM) apps.

    220 GitHub stars~538 tokensUpdated 2 days ago
    Auto-check passed
  • Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.

    220 GitHub stars~5k tokensUpdated 2 days ago
    Auto-check: notes
  • Telnyx Messaging Curl

    team-telnyx/ai

    Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

    220 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK.

    220 GitHub stars~3.2k tokensUpdated 2 days ago
    Auto-check passed
  • End-to-end setup for making a Telnyx AI assistant call a phone number.

    220 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Telnyx Email Curl

    team-telnyx/ai

    Send transactional email, batch sends, scheduled delivery, templates, email validation, and track delivery events.

    220 GitHub stars~6k tokensUpdated 2 days ago
    Auto-check: notes

Categories

Questions about Telnyx Messaging Go

What does Telnyx Messaging Go do?

Send and receive SMS/MMS, handle opt-outs and delivery webhooks. Telnyx Messaging Go is an agent skill from team-telnyx/ai. Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

When should I use Telnyx Messaging Go?

Telnyx Messaging Go fits situations like: tasks that involve Webhooks.

How do I install Telnyx Messaging Go in Claude Code?

Run `npx skills add team-telnyx/ai --skill telnyx-messaging-go -a claude-code`. Or copy the skill folder (skills/telnyx-messaging-go in team-telnyx/ai) into .claude/skills/telnyx-messaging-go in your project. Claude Code loads it when a task matches its description.

How do I install Telnyx Messaging Go in Codex?

Run `npx skills add team-telnyx/ai --skill telnyx-messaging-go -a codex`. Or copy the skill folder (skills/telnyx-messaging-go in team-telnyx/ai) into .agents/skills/telnyx-messaging-go in your project. Codex loads it when a task matches its description.

Can I use Telnyx Messaging Go in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add team-telnyx/ai --skill telnyx-messaging-go -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telnyx-messaging-go, .gemini/skills/telnyx-messaging-go, .github/skills/telnyx-messaging-go and .opencode/skills/telnyx-messaging-go in your project.

What does Telnyx Messaging Go need to run?

Going by SKILL.md and its folder, Telnyx Messaging Go needs the command-line tools its instructions call (go) and credentials named TELNYX_API_KEY. Our summary lists: A credential in TELNYX_API_KEY.

Does Telnyx Messaging Go access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Telnyx Messaging Go safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Telnyx Messaging Go use?

Telnyx Messaging Go is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telnyx Messaging Go use?

About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.

What are the alternatives to Telnyx Messaging Go?

Skills that share tags, products or a category with Telnyx Messaging Go: Novu Design Workflow (novuhq/novu, 40k stars), Golive (mikehasa/golive-skill, 1.3k stars), Stripe Apps (fossasia/eventyay, 1.7k stars) and Dingtalk Message (agentscope-ai/ReMe, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telnyx Messaging Go?

team-telnyx (a GitHub organization) maintains it in team-telnyx/ai, which has 220 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.

Source: team-telnyx/ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.