Telnyx Account Notifications - JavaScript
SkillCommunicationConfigure notification channels and settings for account alerts and events. This skill provides JavaScript SDK examples.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Telnyx Account Notifications - JavaScript skill
What this skill tells your AI
The instructions your AI receives, as published by team-telnyx/ai in skills/telnyx-account-notifications-javascript/SKILL.md and read by ahel’s review.
Installation
npm install telnyx@6.74.2
Setup
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:
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
// 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)
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}
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)
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}
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
// 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
// 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
// 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)
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}
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)
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}
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
// 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)
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}
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}
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)
Signals
- GitHub stars
- 214
- Forks
- 21
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
telnyx-account-notifications-javascript- Source
- github.com/team-telnyx/ai