SkillAgentSearch skills...

telnyx-numbers-config-javascript

Official one-stop shop for AI Agents and developers building with Telnyx.

Install / Use

npx skills add team-telnyx/ai --skill telnyx-numbers-config-javascript

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

67/100

Supported Platforms

Universal

Tags

Our assessment of telnyx-numbers-config-javascript

telnyx-numbers-config-javascript scores 67/100 on our quality scale, 405th of 421 Communication skills we index.

Its SKILL.md is 29 KB long, well organised into 31 sections with 29 code examples: a thorough specification that gives an agent plenty to work with.

It has no GitHub stars yet, so there is no community track record; judge it on its content.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
0/20
Freshness
5/15

Maintenance, license and trust

  • We could not determine when the repository was last updated.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

telnyx-numbers-config-javascript compared with similar skills

All 4 of these similar skills score higher than telnyx-numbers-config-javascript; compare them before choosing.

SkillScoreStarsUpdatedFormat
telnyx-numbers-config-javascript (this skill)by team-telnyx670—SKILL.md
crawl4aiby unclecode10086.0ktodayMCP Server
algorithmic-artby anthropics100177.9k28d agoSKILL.md
pptxby anthropics100177.9k28d agoSKILL.md
designby nextlevelbuilder100137.2k6d agoSKILL.md

Frequently asked questions

How do I install telnyx-numbers-config-javascript?
Run npx skills add team-telnyx/ai --skill telnyx-numbers-config-javascript. The install tabs above show the steps for each supported agent.
Which AI agents does telnyx-numbers-config-javascript work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is telnyx-numbers-config-javascript safe to use?
It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is telnyx-numbers-config-javascript still maintained?
We could not determine when the repository was last updated.

name: telnyx-numbers-config-javascript description: >- Configure phone number settings including caller ID, call forwarding, messaging enablement, and connection assignments. This skill provides JavaScript SDK examples. metadata: author: telnyx product: numbers-config language: javascript generated_by: telnyx-openapi-pipeline

<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Numbers Config - JavaScript

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
  publicKey: process.env['TELNYX_PUBLIC_KEY'], // Required for client.webhooks.unwrap() (webhook verification)
});

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, then retry the request (bounded exponential backoff)
    const retryAfter = err.headers?.['retry-after'] || 1;
    await new Promise(r => setTimeout(r, retryAfter * 1000));
    // ...retry the call here (give up after a few attempts)
  } 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');
    }
  }
  throw err; // Re-throw: a failed request must never look like success to the caller
}

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: List methods return an auto-paginating iterator. Use for await (const item of result) { ... } to iterate through all pages automatically.

Bulk update phone number profiles

Starts a bulk update of messaging-profile assignments for the supplied phone numbers. The response identifies the order used to monitor processing.

POST /messaging_numbers_bulk_updates — Required: messaging_profile_id, numbers

Optional: assign_only (boolean)

const messagingNumbersBulkUpdate = await client.messagingNumbersBulkUpdates.create({
  messaging_profile_id: '00000000-0000-0000-0000-000000000000',
  numbers: ['+18880000000', '+18880000001', '+18880000002'],
});

console.log(messagingNumbersBulkUpdate.data);

Returns: failed (array[string]), order_id (uuid), pending (array[string]), record_type (enum: messaging_numbers_bulk_update), success (array[string])

Retrieve bulk update status

Returns processing status and results for a bulk messaging-settings update order.

GET /messaging_numbers_bulk_updates/{order_id}

const messagingNumbersBulkUpdate = await client.messagingNumbersBulkUpdates.retrieve('order_id');

console.log(messagingNumbersBulkUpdate.data);

Returns: failed (array[string]), order_id (uuid), pending (array[string]), record_type (enum: messaging_numbers_bulk_update), success (array[string])

List mobile phone numbers with messaging settings

Returns mobile phone numbers with their current messaging configuration.

GET /mobile_phone_numbers/messaging

// Automatically fetches more pages as needed.
for await (const messagingListResponse of client.mobilePhoneNumbers.messaging.list()) {
  console.log(messagingListResponse.id);
}

Returns: country_code (string), created_at (date-time), features (object), id (string), messaging_product (string), messaging_profile_id (string | null), organization_id (string), phone_number (string), record_type (enum: messaging_phone_number, messaging_settings), tags (array[string]), traffic_type (string), type (enum: longcode), updated_at (date-time)

Retrieve a mobile phone number with messaging settings

Returns the messaging configuration for the specified mobile phone number.

GET /mobile_phone_numbers/{id}/messaging

const messaging = await client.mobilePhoneNumbers.messaging.retrieve('550e8400-e29b-41d4-a716-446655440000');

console.log(messaging.data);

Returns: country_code (string), created_at (date-time), features (object), id (string), messaging_product (string), messaging_profile_id (string | null), organization_id (string), phone_number (string), record_type (enum: messaging_phone_number, messaging_settings), tags (array[string]), traffic_type (string), type (enum: longcode), updated_at (date-time)

List phone numbers

Returns phone numbers associated with the account. Results support pagination, sorting, and filters for number attributes, status, source, connections, billing groups, emergency addresses, tags, and customer references.

GET /phone_numbers

// Automatically fetches more pages as needed.
for await (const phoneNumberDetailed of client.phoneNumbers.list()) {
  console.log(phoneNumberDetailed.id);
}

Returns: activated_at (object), billing_group_id (string | null), call_forwarding_enabled (boolean), call_recording_enabled (boolean), caller_id_name_enabled (boolean), cnam_listing_enabled (boolean), connection_id (string | null), connection_name (string | null), country_iso_alpha2 (string), created_at (date-time), customer_reference (string | null), deletion_lock_enabled (boolean), emergency_address_id (string | null), emergency_enabled (boolean), emergency_status (enum: active, deprovisioning, disabled, provisioning, provisioning-failed), external_pin (string | null), hd_voice_enabled (boolean), id (string), inbound_call_screening (enum: disabled, reject_calls, flag_calls), messaging_campaign_id (string | null), messaging_profile_id (string | null), messaging_profile_name (string | null), phone_number (string), phone_number_type (enum: local, toll_free, mobile, national, shared_cost, landline, tollfree, shortcode, longcode), purchased_at (string), record_type (string), source_type (object), status (enum: purchase-pending, purchase-failed, port-pending, port-failed, active, deleted, emergency-only, ported-out, port-out-pending, requirement-info-pending, requirement-info-under-review, requirement-info-exception, provision-pending), t38_fax_gateway_enabled (boolean), tags (array[string]), updated_at (string)

Verify ownership of phone numbers

Verifies ownership of the provided phone numbers and returns a mapping of numbers to their IDs, plus a list of numbers not found in the account.

POST /phone_numbers/actions/verify_ownership — Required: phone_numbers

const response = await client.phoneNumbers.actions.verifyOwnership({
  phone_numbers: ['+15551234567'],
});

console.log(response.data);

Returns: found (array[object]), not_found (array[string]), record_type (string)

Lists the phone numbers jobs

Returns background jobs that operate on phone numbers. Filter by job type, target phone numbers, job status, or creation-time customer reference, and sort by creation time. Multiple phone-number or status values use OR semantics within that filter; different filter categories use AND semantics.

GET /phone_numbers/jobs

// Automatically fetches more pages as needed.
for await (const phoneNumbersJob of client.phoneNumbers.jobs.list()) {
  console.log(phoneNumbersJob.id);
}

Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)

Delete a batch of numbers

Creates a new background job to delete a batch of numbers. At most one thousand numbers can be updated per API call.

POST /phone_numbers/jobs/delete_phone_numbers — Required: phone_numbers

const response = await client.phoneNumbers.jobs.deleteBatch({
  phone_numbers: ['+19705555098', '+19715555098', '32873127836'],
});

console.log(response.data);

Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)

Update the emergency settings from a batch of numbers

Creates a background job to update the emergency settings of a collection of phone numbers. At most one thousand numbers can be updated per API call.

POST /phone_numbers/jobs/update_emergency_settings — Required: emergency_enabled, phone_numbers

Optional: emergency_address_id (string | null)

const response = await client.phoneNumbers.jobs.updateEmergencySettingsBatch({
  emergency_enabled: true,
  phone_numbers: ['+19705555098', '+19715555098', '32873127836'],
});

console.log(response.data);

Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)

Update a batch of numbers

Creates a new background job to update a batch of numbers. At most one thousand numbers can be updated per API call. At least one of the updateable fields must be submitted.

POST /phone_numbers/jobs/update_phone_numbers — Required: phone_numbers

Optional: billing_group_id (string), connection_id (string), customer_reference (string), deletion_lock_enabled (boolean), external_pin (string), hd_voice_enabled (boolean), tags (array[string]), voice (object)

const response = await client.phoneNumbers.jobs.updateBatch({
  phone_numbers: ['1583466971586889004', '+13127367254'],
});

console.log(response.data);

Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)

Retrieve a phone numbers job

Returns the status and details of the phone-number background job identified by id.

GET /phone_numbers/jobs/{id}

const job = await client.phoneNumbers.jobs.retrieve('550e8400-e29b-41d4-a716-446655440000');

console.log(job.data);

Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pendin

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars0
CategoryCommunication
UpdatedNaNy ago
Forks0

Trust signals

68/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 medium1 low