Skip to main content

telnyx-ai-assistants-python

Create and manage AI voice assistants with custom personalities, knowledge bases, and tool integrations. This skill provides Python 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-python
description
Create and manage AI voice assistants with custom personalities, knowledge bases, and tool integrations. This skill provides Python SDK examples.
metadata
{"author":"telnyx","product":"ai-assistants","language":"python","generated_by":"telnyx-ext-skills-generator"}
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. --> # Telnyx Ai Assistants - Python ## Installation ```bash pip install telnyx ``` ## Setup ```python import os from telnyx import Telnyx client = Telnyx( api_key=os.environ.get("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` ```python assistants_list = client.ai.assistants.list() print(assistants_list.data) ``` ## Create an assistant Create a new AI Assistant. `POST /ai/assistants` — Required: `name`, `model`, `instructions` ```python assistant = client.ai.assistants.create( instructions="instructions", model="model", name="name", ) print(assistant.id) ``` ## Get an assistant Retrieve an AI Assistant configuration by `assistant_id`. `GET /ai/assistants/{assistant_id}` ```python assistant = client.ai.assistants.retrieve( assistant_id="assistant_id", ) print(assistant.id) ``` ## Update an assistant Update an AI Assistant's attributes. `POST /ai/assistants/{assistant_id}` ```python assistant = client.ai.assistants.update( assistant_id="assistant_id", ) print(assistant.id) ``` ## Delete an assistant Delete an AI Assistant by `assistant_id`. `DELETE /ai/assistants/{assistant_id}` ```python assistant = client.ai.assistants.delete( "assistant_id", ) print(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` ```python response = client.ai.assistants.chat( assistant_id="assistant_id", content="Tell me a joke about cats", conversation_id="42b20469-1215-4a9a-8964-c36f66b406f4", ) print(response.content) ``` ## Assistant Sms Chat Send an SMS message for an assistant. `POST /ai/assistants/{assistant_id}/chat/sms` — Required: `from`, `to` ```python response = client.ai.assistants.send_sms( assistant_id="assistant_id", from_="from", to="to", ) print(response.conversation_id) ``` ## Clone Assistant Clone an existing assistant, excluding telephony and messaging settings. `POST /ai/assistants/{assistant_id}/clone` ```python assistant = client.ai.assistants.clone( "assistant_id", ) print(assistant.id) ``` ## Import assistants from external provider Import assistants from external providers. `POST /ai/assistants/import` — Required: `provider`, `api_key_ref` ```python assistants_list = client.ai.assistants.imports( api_key_ref="api_key_ref", provider="elevenlabs", ) print(assistants_list.data) ``` ## List scheduled events Get scheduled events for an assistant with pagination and filtering `GET /ai/assistants/{assistant_id}/scheduled_events` ```python page = client.ai.assistants.scheduled_events.list( assistant_id="assistant_id", ) page = page.data[0] print(page) ``` ## 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` ```python from datetime import datetime scheduled_event_response = client.ai.assistants.scheduled_events.create( assistant_id="assistant_id", scheduled_at_fixed_datetime=datetime.fromisoformat("2025-04-15T13:07:28.764"), telnyx_agent_target="telnyx_agent_target", telnyx_conversation_channel="phone_call", telnyx_end_user_target="telnyx_end_user_target", ) print(scheduled_event_response) ``` ## Get a scheduled event Retrieve a scheduled event by event ID `GET /ai/assistants/{assistant_id}/scheduled_events/{event_id}` ```python scheduled_event_response = client.ai.assistants.scheduled_events.retrieve( event_id="event_id", assistant_id="assistant_id", ) print(scheduled_event_response) ``` ## Delete a scheduled event If the event is pending, this will cancel the event. `DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id}` ```python client.ai.assistants.scheduled_events.delete( event_id="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` ```python page = client.ai.assistants.tests.list() page = page.data[0] print(page.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` ```python assistant_test = 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", }], ) print(assistant_test.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` ```python test_suites = client.ai.assistants.tests.test_suites.list() print(test_suites.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` ```python page = client.ai.assistants.tests.test_suites.runs.list( suite_name="suite_name", ) page = page.data[0] print(page.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` ```python test_run_responses = client.ai.assistants.tests.test_suites.runs.trigger( suite_name="suite_name", ) print(test_run_responses) ``` ## Get assistant test by ID Retrieves detailed information about a specific assistant test `GET /ai/assistants/tests/{test_id}` ```python assistant_test = client.ai.assistants.tests.retrieve( "test_id", ) print(assistant_test.test_id) ``` ## Update an assistant test Updates an existing assistant test configuration with new settings `PUT /ai/assistants/tests/{test_id}` ```python assistant_test = client.ai.assistants.tests.update( test_id="test_id", ) print(assistant_test.test_id) ``` ## Delete an assistant test Permanently removes an assistant test and all associated data `DELETE /ai/assistants/tests/{test_id}` ```python 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` ```python page = client.ai.assistants.tests.runs.list( test_id="test_id", ) page = page.data[0] print(page.run_id) ``` ## Trigger a manual test run Initiates immediate execution of a specific assistant test `POST /ai/assistants/tests/{test_id}/runs` ```python test_run_response = client.ai.assistants.tests.runs.trigger( test_id="test_id", ) print(test_run_response.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}` ```python test_run_response = client.ai.assistants.tests.runs.retrieve( run_id="run_id", test_id="test_id", ) print(test_run_response.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` ```python assistants_list = client.ai.assistants.versions.list( "assistant_id", ) print(assistants_list.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}` ```python assistant = client.ai.assistants.versions.retrieve( version_id="version_id", assistant_id="assistant_id", ) print(assistant.id) ``` ## Update a specific assistant version Updates the configuration of a specific assistant version. `POST /ai/assistants/{assistant_id}/versions/{version_id}` ```python assistant = client.ai.assistants.versions.update( version_id="version_id", assistant_id="assistant_id", ) print(assistant.id) ``` ## Delete a specific assistant version Permanently removes a specific version of an assistant. `DELETE /ai/assistants/{assistant_id}/versions/{version_id}` ```python client.ai.assistants.versions.delete( version_id="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` ```python assistant = client.ai.assistants.versions.promote( version_id="version_id", assistant_id="assistant_id", ) print(assistant.id) ``` ## Get Canary Deploy Endpoint to get a canary deploy configuration for an assistant. `GET /ai/assistants/{assistant_id}/canary-deploys` ```python canary_deploy_response = client.ai.assistants.canary_deploys.retrieve( "assistant_id", ) print(canary_deploy_response.assistant_id) ``` ## Create Canary Deploy Endpoint to create a canary deploy configuration for an assistant. `POST /ai/assistants/{assistant_id}/canary-deploys` — Required: `versions` ```python canary_deploy_response = client.ai.assistants.canary_deploys.create( assistant_id="assistant_id", versions=[{ "percentage": 1, "version_id": "version_id", }], ) print(canary_deploy_response.assistant_id) ``` ## Update Canary Deploy Endpoint to update a canary deploy configuration for an assistant. `PUT /ai/assistants/{assistant_id}/canary-deploys` — Required: `versions` ```python canary_deploy_response = client.ai.assistants.canary_deploys.update( assistant_id="assistant_id", versions=[{ "percentage": 1, "version_id": "version_id", }], ) print(canary_deploy_response.assistant_id) ``` ## Delete Canary Deploy Endpoint to delete a canary deploy configuration for an assistant. `DELETE /ai/assistants/{assistant_id}/canary-deploys` ```python client.ai.assistants.canary_deploys.delete( "assistant_id", ) ``` ## Get assistant texml Get an assistant texml by `assistant_id`. `GET /ai/assistants/{assistant_id}/texml` ```python response = client.ai.assistants.get_texml(
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub