Configure notification channels and settings for account alerts and events. This skill provides JavaScript SDK examples.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add team-telnyx/telnyx-ext-agent-skills --skill telnyx-account-notifications-javascript --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Telnyx Account Notifications Javascript?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/team-telnyx-telnyx-account-notifications-javascript-ai)More formats (shields.io, HTML) on the badges page.
---
name: telnyx-account-notifications-javascript
description: >-
Configure notification channels and settings for account alerts and events.
This skill provides JavaScript SDK examples.
metadata:
author: telnyx
product: account-notifications
language: javascript
generated_by: telnyx-openapi-pipeline
---
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
# Telnyx Account Notifications - JavaScript
## Installation
```bash
npm install telnyx@6.74.2
```
## Setup
```javascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
```
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:
```javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}
```
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:** List methods return an auto-paginating iterator. Use `for await (const item of result) { ... }` to iterate through all pages automatically.
## List notification channels
List notification channels.
`GET /notification_channels`
```javascript
// Automatically fetches more pages as needed.
for await (const notificationChannel of client.notificationChannels.list()) {
console.log(notificationChannel.id);
}
```
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)
```javascript
const notificationChannel = await client.notificationChannels.create({
channel_type_id: 'webhook',
channel_destination: 'https://example.com/webhooks',
});
console.log(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}`
```javascript
const notificationChannel = await client.notificationChannels.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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)
```javascript
const notificationChannel = await client.notificationChannels.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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}`
```javascript
const notificationChannel = await client.notificationChannels.delete(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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`
```javascript
// Automatically fetches more pages as needed.
for await (const notificationEventConditionListResponse of client.notificationEventConditions.list()) {
console.log(notificationEventConditionListResponse.id);
}
```
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`
```javascript
// Automatically fetches more pages as needed.
for await (const notificationEventListResponse of client.notificationEvents.list()) {
console.log(notificationEventListResponse.id);
}
```
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`
```javascript
// Automatically fetches more pages as needed.
for await (const notificationProfile of client.notificationProfiles.list()) {
console.log(notificationProfile.id);
}
```
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)
```javascript
const notificationProfile = await client.notificationProfiles.create({
name: 'My Notification Profile',
});
console.log(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}`
```javascript
const notificationProfile = await client.notificationProfiles.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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)
```javascript
const notificationProfile = await client.notificationProfiles.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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}`
```javascript
const notificationProfile = await client.notificationProfiles.delete(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(notificationProfile.data);
```
Returns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)
## List notification settings
List notification settings.
`GET /notification_settings`
```javascript
// Automatically fetches more pages as needed.
for await (const notificationSetting of client.notificationSettings.list()) {
console.log(notificationSetting.id);
}
```
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)
```javascript
const notificationSetting = await client.notificationSettings.create();
console.log(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}`
```javascript
const notificationSetting = await client.notificationSettings.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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}`
```javascript
const notificationSetting = await client.notificationSettings.delete(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(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)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!