Create and manage messaging profiles with number pools, sticky sender, and geomatch features. Configure short codes for high-volume messaging. This skill provides Go SDK examples.
Scanned 2/12/2026
Install via CLI
openskills install team-telnyx/telnyx-ext-agent-skills---
name: telnyx-messaging-profiles-go
description: >-
Create and manage messaging profiles with number pools, sticky sender, and
geomatch features. Configure short codes for high-volume messaging. This skill
provides Go SDK examples.
metadata:
author: telnyx
product: messaging-profiles
language: go
---
# Telnyx Messaging Profiles - Go
## Installation
```bash
go get github.com/team-telnyx/telnyx-go
```
## Setup
```go
import (
"context"
"fmt"
"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.
## List messaging profiles
`GET /messaging_profiles`
```go
page, err := client.MessagingProfiles.List(context.TODO(), telnyx.MessagingProfileListParams{
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
```
## Create a messaging profile
`POST /messaging_profiles` — Required: `name`, `whitelisted_destinations`
```go
messagingProfile, err := client.MessagingProfiles.New(context.TODO(), telnyx.MessagingProfileNewParams{
Name: "My name",
WhitelistedDestinations: []string{"US"},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
```
## Retrieve a messaging profile
`GET /messaging_profiles/{id}`
```go
messagingProfile, err := client.MessagingProfiles.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
```
## Update a messaging profile
`PATCH /messaging_profiles/{id}`
```go
messagingProfile, err := client.MessagingProfiles.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileUpdateParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
```
## Delete a messaging profile
`DELETE /messaging_profiles/{id}`
```go
messagingProfile, err := client.MessagingProfiles.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
```
## List phone numbers associated with a messaging profile
`GET /messaging_profiles/{id}/phone_numbers`
```go
page, err := client.MessagingProfiles.ListPhoneNumbers(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileListPhoneNumbersParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
```
## List short codes associated with a messaging profile
`GET /messaging_profiles/{id}/short_codes`
```go
page, err := client.MessagingProfiles.ListShortCodes(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileListShortCodesParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
```
## List Auto-Response Settings
`GET /messaging_profiles/{profile_id}/autoresp_configs`
```go
autorespConfigs, err := client.MessagingProfiles.AutorespConfigs.List(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigListParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autorespConfigs.Data)
```
## Create auto-response setting
`POST /messaging_profiles/{profile_id}/autoresp_configs` — Required: `op`, `keywords`, `country_code`
```go
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.New(
context.TODO(),
"profile_id",
telnyx.MessagingProfileAutorespConfigNewParams{
AutoRespConfigCreate: telnyx.AutoRespConfigCreateParam{
CountryCode: "US",
Keywords: []string{"keyword1", "keyword2"},
Op: telnyx.AutoRespConfigCreateOpStart,
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
```
## Get Auto-Response Setting
`GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}`
```go
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.Get(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigGetParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
```
## Update Auto-Response Setting
`PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` — Required: `op`, `keywords`, `country_code`
```go
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigUpdateParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
AutoRespConfigCreate: telnyx.AutoRespConfigCreateParam{
CountryCode: "US",
Keywords: []string{"keyword1", "keyword2"},
Op: telnyx.AutoRespConfigCreateOpStart,
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
```
## Delete Auto-Response Setting
`DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}`
```go
autorespConfig, err := client.MessagingProfiles.AutorespConfigs.Delete(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigDeleteParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autorespConfig)
```
## List short codes
`GET /short_codes`
```go
page, err := client.ShortCodes.List(context.TODO(), telnyx.ShortCodeListParams{
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
```
## Retrieve a short code
`GET /short_codes/{id}`
```go
shortCode, err := client.ShortCodes.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", shortCode.Data)
```
## Update short code
Update the settings for a specific short code.
`PATCH /short_codes/{id}` — Required: `messaging_profile_id`
```go
shortCode, err := client.ShortCodes.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.ShortCodeUpdateParams{
MessagingProfileID: "abc85f64-5717-4562-b3fc-2c9600000000",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", shortCode.Data)
```
No comments yet. Be the first to comment!