Skip to main content

telnyx-ai-assistants-javascript

Create and manage AI voice assistants with custom personalities, knowledge bases, and tool integrations. This skill provides JavaScript SDK examples.

Source facts

Repository
team-telnyx/telnyx-toolkit
Last source activity
February 10, 2026 at 20:41
Detected SKILL.md language
English
Stars
3
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
telnyx-ai-assistants-javascript
description
Create and manage AI voice assistants with custom personalities, knowledge bases, and tool integrations. This skill provides JavaScript SDK examples.
metadata
{"author":"telnyx","product":"ai-assistants","language":"javascript","generated_by":"telnyx-ext-skills-generator"}
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. --> # Telnyx Ai Assistants - JavaScript ## Installation ```bash npm install telnyx ``` ## 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. ## List assistants Retrieve a list of all AI Assistants configured by the user. `GET /ai/assistants` ```javascript const assistantsList = await client.ai.assistants.list(); console.log(assistantsList.data); ``` ## Create an assistant Create a new AI Assistant. `POST /ai/assistants` — Required: `name`, `model`, `instructions` ```javascript const assistant = await client.ai.assistants.create({ instructions: 'instructions', model: 'model', name: 'name', }); console.log(assistant.id); ``` ## Get an assistant Retrieve an AI Assistant configuration by `assistant_id`. `GET /ai/assistants/{assistant_id}` ```javascript const assistant = await client.ai.assistants.retrieve('assistant_id'); console.log(assistant.id); ``` ## Update an assistant Update an AI Assistant's attributes. `POST /ai/assistants/{assistant_id}` ```javascript const assistant = await client.ai.assistants.update('assistant_id'); console.log(assistant.id); ``` ## Delete an assistant Delete an AI Assistant by `assistant_id`. `DELETE /ai/assistants/{assistant_id}` ```javascript const assistant = await client.ai.assistants.delete('assistant_id'); console.log(assistant.id); ``` ## Assistant Chat (BETA) This endpoint allows a client to send a chat message to a specific AI Assistant. `POST /ai/assistants/{assistant_id}/chat` — Required: `content`, `conversation_id` ```javascript const response = await client.ai.assistants.chat('assistant_id', { content: 'Tell me a joke about cats', conversation_id: '42b20469-1215-4a9a-8964-c36f66b406f4', }); console.log(response.content); ``` ## Assistant Sms Chat Send an SMS message for an assistant. `POST /ai/assistants/{assistant_id}/chat/sms` — Required: `from`, `to` ```javascript const response = await client.ai.assistants.sendSMS('assistant_id', { from: 'from', to: 'to' }); console.log(response.conversation_id); ``` ## Clone Assistant Clone an existing assistant, excluding telephony and messaging settings. `POST /ai/assistants/{assistant_id}/clone` ```javascript const assistant = await client.ai.assistants.clone('assistant_id'); console.log(assistant.id); ``` ## Import assistants from external provider Import assistants from external providers. `POST /ai/assistants/import` — Required: `provider`, `api_key_ref` ```javascript const assistantsList = await client.ai.assistants.imports({ api_key_ref: 'api_key_ref', provider: 'elevenlabs', }); console.log(assistantsList.data); ``` ## List scheduled events Get scheduled events for an assistant with pagination and filtering `GET /ai/assistants/{assistant_id}/scheduled_events` ```javascript // Automatically fetches more pages as needed. for await (const scheduledEventListResponse of client.ai.assistants.scheduledEvents.list( 'assistant_id', )) { console.log(scheduledEventListResponse); } ``` ## Create a scheduled event Create a scheduled event for an assistant `POST /ai/assistants/{assistant_id}/scheduled_events` — Required: `telnyx_conversation_channel`, `telnyx_end_user_target`, `telnyx_agent_target`, `scheduled_at_fixed_datetime` ```javascript const scheduledEventResponse = await client.ai.assistants.scheduledEvents.create('assistant_id', { scheduled_at_fixed_datetime: '2025-04-15T13:07:28.764Z', telnyx_agent_target: 'telnyx_agent_target', telnyx_conversation_channel: 'phone_call', telnyx_end_user_target: 'telnyx_end_user_target', }); console.log(scheduledEventResponse); ``` ## Get a scheduled event Retrieve a scheduled event by event ID `GET /ai/assistants/{assistant_id}/scheduled_events/{event_id}` ```javascript const scheduledEventResponse = await client.ai.assistants.scheduledEvents.retrieve('event_id', { assistant_id: 'assistant_id', }); console.log(scheduledEventResponse); ``` ## Delete a scheduled event If the event is pending, this will cancel the event. `DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id}` ```javascript await client.ai.assistants.scheduledEvents.delete('event_id', { assistant_id: 'assistant_id' }); ``` ## List assistant tests with pagination Retrieves a paginated list of assistant tests with optional filtering capabilities `GET /ai/assistants/tests` ```javascript // Automatically fetches more pages as needed. for await (const assistantTest of client.ai.assistants.tests.list()) { console.log(assistantTest.test_id); } ``` ## Create a new assistant test Creates a comprehensive test configuration for evaluating AI assistant performance `POST /ai/assistants/tests` — Required: `name`, `destination`, `instructions`, `rubric` ```javascript const assistantTest = await client.ai.assistants.tests.create({ destination: '+15551234567', instructions: 'Act as a frustrated customer who received a damaged product. Ask for a refund and escalate if not satisfied with the initial response.', name: 'Customer Support Bot Test', rubric: [ { criteria: 'Assistant responds within 30 seconds', name: 'Response Time' }, { criteria: 'Provides correct product information', name: 'Accuracy' }, ], }); console.log(assistantTest.test_id); ``` ## Get all test suite names Retrieves a list of all distinct test suite names available to the current user `GET /ai/assistants/tests/test-suites` ```javascript const testSuites = await client.ai.assistants.tests.testSuites.list(); console.log(testSuites.data); ``` ## Get test suite run history Retrieves paginated history of test runs for a specific test suite with filtering options `GET /ai/assistants/tests/test-suites/{suite_name}/runs` ```javascript // Automatically fetches more pages as needed. for await (const testRunResponse of client.ai.assistants.tests.testSuites.runs.list('suite_name')) { console.log(testRunResponse.run_id); } ``` ## Trigger test suite execution Executes all tests within a specific test suite as a batch operation `POST /ai/assistants/tests/test-suites/{suite_name}/runs` ```javascript const testRunResponses = await client.ai.assistants.tests.testSuites.runs.trigger('suite_name'); console.log(testRunResponses); ``` ## Get assistant test by ID Retrieves detailed information about a specific assistant test `GET /ai/assistants/tests/{test_id}` ```javascript const assistantTest = await client.ai.assistants.tests.retrieve('test_id'); console.log(assistantTest.test_id); ``` ## Update an assistant test Updates an existing assistant test configuration with new settings `PUT /ai/assistants/tests/{test_id}` ```javascript const assistantTest = await client.ai.assistants.tests.update('test_id'); console.log(assistantTest.test_id); ``` ## Delete an assistant test Permanently removes an assistant test and all associated data `DELETE /ai/assistants/tests/{test_id}` ```javascript await client.ai.assistants.tests.delete('test_id'); ``` ## Get test run history for a specific test Retrieves paginated execution history for a specific assistant test with filtering options `GET /ai/assistants/tests/{test_id}/runs` ```javascript // Automatically fetches more pages as needed. for await (const testRunResponse of client.ai.assistants.tests.runs.list('test_id')) { console.log(testRunResponse.run_id); } ``` ## Trigger a manual test run Initiates immediate execution of a specific assistant test `POST /ai/assistants/tests/{test_id}/runs` ```javascript const testRunResponse = await client.ai.assistants.tests.runs.trigger('test_id'); console.log(testRunResponse.run_id); ``` ## Get specific test run details Retrieves detailed information about a specific test run execution `GET /ai/assistants/tests/{test_id}/runs/{run_id}` ```javascript const testRunResponse = await client.ai.assistants.tests.runs.retrieve('run_id', { test_id: 'test_id', }); console.log(testRunResponse.run_id); ``` ## Get all versions of an assistant Retrieves all versions of a specific assistant with complete configuration and metadata `GET /ai/assistants/{assistant_id}/versions` ```javascript const assistantsList = await client.ai.assistants.versions.list('assistant_id'); console.log(assistantsList.data); ``` ## Get a specific assistant version Retrieves a specific version of an assistant by assistant_id and version_id `GET /ai/assistants/{assistant_id}/versions/{version_id}` ```javascript const assistant = await client.ai.assistants.versions.retrieve('version_id', { assistant_id: 'assistant_id', }); console.log(assistant.id); ``` ## Update a specific assistant version Updates the configuration of a specific assistant version. `POST /ai/assistants/{assistant_id}/versions/{version_id}` ```javascript const assistant = await client.ai.assistants.versions.update('version_id', { assistant_id: 'assistant_id', }); console.log(assistant.id); ``` ## Delete a specific assistant version Permanently removes a specific version of an assistant. `DELETE /ai/assistants/{assistant_id}/versions/{version_id}` ```javascript await client.ai.assistants.versions.delete('version_id', { assistant_id: 'assistant_id' }); ``` ## Promote an assistant version to main Promotes a specific version to be the main/current version of the assistant. `POST /ai/assistants/{assistant_id}/versions/{version_id}/promote` ```javascript const assistant = await client.ai.assistants.versions.promote('version_id', { assistant_id: 'assistant_id', }); console.log(assistant.id); ``` ## Get Canary Deploy Endpoint to get a canary deploy configuration for an assistant. `GET /ai/assistants/{assistant_id}/canary-deploys` ```javascript const canaryDeployResponse = await client.ai.assistants.canaryDeploys.retrieve('assistant_id'); console.log(canaryDeployResponse.assistant_id); ``` ## Create Canary Deploy Endpoint to create a canary deploy configuration for an assistant. `POST /ai/assistants/{assistant_id}/canary-deploys` — Required: `versions` ```javascript const canaryDeployResponse = await client.ai.assistants.canaryDeploys.create('assistant_id', { versions: [{ percentage: 1, version_id: 'version_id' }], }); console.log(canaryDeployResponse.assistant_id); ``` ## Update Canary Deploy Endpoint to update a canary deploy configuration for an assistant. `PUT /ai/assistants/{assistant_id}/canary-deploys` — Required: `versions` ```javascript const canaryDeployResponse = await client.ai.assistants.canaryDeploys.update('assistant_id', { versions: [{ percentage: 1, version_id: 'version_id' }], }); console.log(canaryDeployResponse.assistant_id); ``` ## Delete Canary Deploy Endpoint to delete a canary deploy configuration for an assistant. `DELETE /ai/assistants/{assistant_id}/canary-deploys` ```javascript await client.ai.assistants.canaryDeploys.delete('assistant_id'); ``` ## Get assistant texml Get an assistant texml by `assistant_id`. `GET /ai/assistants/{assistant_id}/texml` ```javascript const response = await client.ai.assistants.getTexml('assistant_id'); console.log(response); ``` ## Test Assistant Tool Test a webhook tool for an assistant `POST /ai/assistants/{assistant_id}/tools/{tool_id}/test`
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub