Loading...
Loading...
Create and manage Telnyx Missions — automated workflows, tasks, and sub-resources for AI-driven telecom operations. This skill provides Python SDK examples.
npx skill4agent add team-telnyx/skills telnyx-missions-pythonpip install telnyximport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)clientimport telnyx
try:
result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
# 429: rate limited — wait and retry with exponential backoff
import time
time.sleep(1) # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
print(f"API error {e.status_code}: {e.message}")
if e.status_code == 422:
print("Validation error — check required fields and formats")401403404422429for item in page_result:GET /ai/missionspage = client.ai.missions.list()
page = page.data[0]
print(page.mission_id)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atPOST /ai/missionsnamedescriptionexecution_modeinstructionsmetadatamodelmission = client.ai.missions.create(
name="my-resource",
)
print(mission.data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atGET /ai/missions/eventspage = client.ai.missions.list_events()
page = page.data[0]
print(page.event_id)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypeGET /ai/missions/runspage = client.ai.missions.runs.list_runs()
page = page.data[0]
print(page.mission_id)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}mission = client.ai.missions.retrieve(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(mission.data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atPUT /ai/missions/{mission_id}descriptionexecution_modeinstructionsmetadatamodelnameresponse = client.ai.missions.update_mission(
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atDELETE /ai/missions/{mission_id}client.ai.missions.delete_mission(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)POST /ai/missions/{mission_id}/cloneresponse = client.ai.missions.clone_mission(
"mission_id",
)
print(response)GET /ai/missions/{mission_id}/knowledge-basesresponse = client.ai.missions.knowledge_bases.list_knowledge_bases(
"mission_id",
)
print(response)POST /ai/missions/{mission_id}/knowledge-basesresponse = client.ai.missions.knowledge_bases.create_knowledge_base(
"mission_id",
)
print(response)GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}response = client.ai.missions.knowledge_bases.get_knowledge_base(
knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}response = client.ai.missions.knowledge_bases.update_knowledge_base(
knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}client.ai.missions.knowledge_bases.delete_knowledge_base(
knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)GET /ai/missions/{mission_id}/mcp-serversresponse = client.ai.missions.mcp_servers.list_mcp_servers(
"mission_id",
)
print(response)POST /ai/missions/{mission_id}/mcp-serversresponse = client.ai.missions.mcp_servers.create_mcp_server(
"mission_id",
)
print(response)GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}response = client.ai.missions.mcp_servers.get_mcp_server(
mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}response = client.ai.missions.mcp_servers.update_mcp_server(
mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}client.ai.missions.mcp_servers.delete_mcp_server(
mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)GET /ai/missions/{mission_id}/runspage = client.ai.missions.runs.list(
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.mission_id)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPOST /ai/missions/{mission_id}/runsinputmetadatarun = client.ai.missions.runs.create(
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}run = client.ai.missions.runs.retrieve(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPATCH /ai/missions/{mission_id}/runs/{run_id}errormetadataresult_payloadresult_summarystatusrun = client.ai.missions.runs.update(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPOST /ai/missions/{mission_id}/runs/{run_id}/cancelresponse = client.ai.missions.runs.cancel_run(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/eventspage = client.ai.missions.runs.events.list(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.event_id)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypePOST /ai/missions/{mission_id}/runs/{run_id}/eventstypesummaryagent_ididempotency_keypayloadstep_idresponse = client.ai.missions.runs.events.log(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
summary="Brief task summary",
type="status_change",
)
print(response.data)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypeGET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}response = client.ai.missions.runs.events.get_event_details(
event_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypePOST /ai/missions/{mission_id}/runs/{run_id}/pauseresponse = client.ai.missions.runs.pause_run(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/planplan = client.ai.missions.runs.plan.retrieve(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(plan.data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/planstepsplan = client.ai.missions.runs.plan.create(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
steps=[{
"description": "description",
"sequence": 0,
"step_id": "step_id",
}],
)
print(plan.data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/plan/stepsstepsresponse = client.ai.missions.runs.plan.add_steps_to_plan(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
steps=[{
"description": "description",
"sequence": 0,
"step_id": "step_id",
}],
)
print(response.data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idGET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}response = client.ai.missions.runs.plan.get_step_details(
step_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}metadatastatusresponse = client.ai.missions.runs.plan.update_step(
step_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/resumeresponse = client.ai.missions.runs.resume_run(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agentstelnyx_agents = client.ai.missions.runs.telnyx_agents.list(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(telnyx_agents.data)created_atrun_idtelnyx_agent_idPOST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agentstelnyx_agent_idresponse = client.ai.missions.runs.telnyx_agents.link(
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)created_atrun_idtelnyx_agent_idDELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}client.ai.missions.runs.telnyx_agents.unlink(
telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)GET /ai/missions/{mission_id}/toolsresponse = client.ai.missions.tools.list_tools(
"mission_id",
)
print(response)POST /ai/missions/{mission_id}/toolsresponse = client.ai.missions.tools.create_tool(
"mission_id",
)
print(response)GET /ai/missions/{mission_id}/tools/{tool_id}response = client.ai.missions.tools.get_tool(
tool_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)PUT /ai/missions/{mission_id}/tools/{tool_id}response = client.ai.missions.tools.update_tool(
tool_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)DELETE /ai/missions/{mission_id}/tools/{tool_id}client.ai.missions.tools.delete_tool(
tool_id="550e8400-e29b-41d4-a716-446655440000",
mission_id="550e8400-e29b-41d4-a716-446655440000",
)