telnyx-account-notifications-go
Configure notification channels and settings for account alerts and events. This skill provides Go SDK examples.
Best use case
telnyx-account-notifications-go is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Configure notification channels and settings for account alerts and events. This skill provides Go SDK examples.
Teams using telnyx-account-notifications-go should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/telnyx-account-notifications-go/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How telnyx-account-notifications-go Compares
| Feature / Agent | telnyx-account-notifications-go | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Configure notification channels and settings for account alerts and events. This skill provides Go SDK examples.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
# Telnyx Account Notifications - 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"
result, err := client.Messages.Send(ctx, params)
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:
// Rate limited — wait and retry with exponential backoff
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
- **Pagination:** Use `ListAutoPaging()` for automatic iteration: `iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }`.
## List notification channels
List notification channels.
`GET /notification_channels`
```go
page, err := client.NotificationChannels.List(context.Background(), telnyx.NotificationChannelListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)
```
Returns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
## Create a notification channel
Create a notification channel.
`POST /notification_channels`
Optional: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
```go
notificationChannel, err := client.NotificationChannels.New(context.Background(), telnyx.NotificationChannelNewParams{
ChannelTypeID: "550e8400-e29b-41d4-a716-446655440000",
ChannelDestination: "https://example.com/webhooks",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationChannel.Data)
```
Returns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
## Get a notification channel
Get a notification channel.
`GET /notification_channels/{id}`
```go
notificationChannel, err := client.NotificationChannels.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationChannel.Data)
```
Returns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
## Update a notification channel
Update a notification channel.
`PATCH /notification_channels/{id}`
Optional: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
```go
notificationChannel, err := client.NotificationChannels.Update(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.NotificationChannelUpdateParams{
NotificationChannel: telnyx.NotificationChannelParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationChannel.Data)
```
Returns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
## Delete a notification channel
Delete a notification channel.
`DELETE /notification_channels/{id}`
```go
notificationChannel, err := client.NotificationChannels.Delete(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationChannel.Data)
```
Returns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)
## List all Notifications Events Conditions
Returns a list of your notifications events conditions.
`GET /notification_event_conditions`
```go
page, err := client.NotificationEventConditions.List(context.Background(), telnyx.NotificationEventConditionListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)
```
Returns: `allow_multiple_channels` (boolean), `associated_record_type` (enum: account, phone_number), `asynchronous` (boolean), `created_at` (date-time), `description` (string), `enabled` (boolean), `id` (string), `name` (string), `notification_event_id` (string), `parameters` (array[object]), `supported_channels` (array[string]), `updated_at` (date-time)
## List all Notifications Events
Returns a list of your notifications events.
`GET /notification_events`
```go
page, err := client.NotificationEvents.List(context.Background(), telnyx.NotificationEventListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)
```
Returns: `created_at` (date-time), `enabled` (boolean), `id` (string), `name` (string), `notification_category` (string), `updated_at` (date-time)
## List all Notifications Profiles
Returns a list of your notifications profiles.
`GET /notification_profiles`
```go
page, err := client.NotificationProfiles.List(context.Background(), telnyx.NotificationProfileListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## Create a notification profile
Create a notification profile.
`POST /notification_profiles`
Optional: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
```go
notificationProfile, err := client.NotificationProfiles.New(context.Background(), telnyx.NotificationProfileNewParams{
Name: "My Notification Profile",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationProfile.Data)
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## Get a notification profile
Get a notification profile.
`GET /notification_profiles/{id}`
```go
notificationProfile, err := client.NotificationProfiles.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationProfile.Data)
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## Update a notification profile
Update a notification profile.
`PATCH /notification_profiles/{id}`
Optional: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
```go
notificationProfile, err := client.NotificationProfiles.Update(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.NotificationProfileUpdateParams{
NotificationProfile: telnyx.NotificationProfileParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationProfile.Data)
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## Delete a notification profile
Delete a notification profile.
`DELETE /notification_profiles/{id}`
```go
notificationProfile, err := client.NotificationProfiles.Delete(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationProfile.Data)
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## List notification settings
List notification settings.
`GET /notification_settings`
```go
page, err := client.NotificationSettings.List(context.Background(), telnyx.NotificationSettingListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)
```
Returns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)
## Add a Notification Setting
Add a notification setting.
`POST /notification_settings`
Optional: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)
```go
notificationSetting, err := client.NotificationSettings.New(context.Background(), telnyx.NotificationSettingNewParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationSetting.Data)
```
Returns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)
## Get a notification setting
Get a notification setting.
`GET /notification_settings/{id}`
```go
notificationSetting, err := client.NotificationSettings.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationSetting.Data)
```
Returns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)
## Delete a notification setting
Delete a notification setting.
`DELETE /notification_settings/{id}`
```go
notificationSetting, err := client.NotificationSettings.Delete(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", notificationSetting.Data)
```
Returns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)Related Skills
telnyx-whatsapp-ruby
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-whatsapp-python
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-whatsapp-javascript
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-whatsapp-java
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-whatsapp-go
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-whatsapp-curl
Send WhatsApp messages, manage templates, WABAs, and phone numbers via the Telnyx WhatsApp Business API.
telnyx-webrtc-ruby
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides Ruby SDK examples.
telnyx-webrtc-python
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides Python SDK examples.
telnyx-webrtc-javascript
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides JavaScript SDK examples.
telnyx-webrtc-java
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides Java SDK examples.
telnyx-webrtc-go
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides Go SDK examples.
telnyx-webrtc-curl
Manage WebRTC credentials and mobile push notification settings. Use when building browser-based or mobile softphone applications. This skill provides REST API (curl) examples.