Loading...
Loading...
Create and manage Telnyx Missions — automated workflows, tasks, and sub-resources for AI-driven telecom operations. This skill provides Go SDK examples.
npx skill4agent add team-telnyx/skills telnyx-missions-gogo get github.com/team-telnyx/telnyx-goimport (
"context"
"fmt"
"os"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
client := telnyx.NewClient(
option.WithAPIKey(os.Getenv("TELNYX_API_KEY")),
)clientimport "errors"
result, err := client.Messages.Send(ctx, params)
if err != nil {
var apiErr *telnyx.Error
if errors.As(err, &apiErr) {
switch apiErr.StatusCode {
case 422:
fmt.Println("Validation error — check required fields and formats")
case 429:
// Rate limited — wait and retry with exponential backoff
fmt.Println("Rate limited, retrying...")
default:
fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Error())
}
} else {
fmt.Println("Network error — check connectivity and retry")
}
}401403404422429ListAutoPaging()iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }GET /ai/missions page, err := client.AI.Missions.List(context.Background(), telnyx.AIMissionListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atPOST /ai/missionsnamedescriptionexecution_modeinstructionsmetadatamodel mission, err := client.AI.Missions.New(context.Background(), telnyx.AIMissionNewParams{
Name: "my-resource",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", mission.Data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atGET /ai/missions/events page, err := client.AI.Missions.ListEvents(context.Background(), telnyx.AIMissionListEventsParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypeGET /ai/missions/runs page, err := client.AI.Missions.Runs.ListRuns(context.Background(), telnyx.AIMissionRunListRunsParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id} mission, err := client.AI.Missions.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", mission.Data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atPUT /ai/missions/{mission_id}descriptionexecution_modeinstructionsmetadatamodelname response, err := client.AI.Missions.UpdateMission(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionUpdateMissionParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)created_atdescriptionexecution_modeinstructionsmetadatamission_idmodelnameupdated_atDELETE /ai/missions/{mission_id} err := client.AI.Missions.DeleteMission(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}POST /ai/missions/{mission_id}/clone response, err := client.AI.Missions.CloneMission(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)GET /ai/missions/{mission_id}/knowledge-bases response, err := client.AI.Missions.KnowledgeBases.ListKnowledgeBases(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)POST /ai/missions/{mission_id}/knowledge-bases response, err := client.AI.Missions.KnowledgeBases.NewKnowledgeBase(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} response, err := client.AI.Missions.KnowledgeBases.GetKnowledgeBase(
context.Background(),
"knowledge_base_id",
telnyx.AIMissionKnowledgeBaseGetKnowledgeBaseParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} response, err := client.AI.Missions.KnowledgeBases.UpdateKnowledgeBase(
context.Background(),
"knowledge_base_id",
telnyx.AIMissionKnowledgeBaseUpdateKnowledgeBaseParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id} err := client.AI.Missions.KnowledgeBases.DeleteKnowledgeBase(
context.Background(),
"knowledge_base_id",
telnyx.AIMissionKnowledgeBaseDeleteKnowledgeBaseParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}GET /ai/missions/{mission_id}/mcp-servers response, err := client.AI.Missions.McpServers.ListMcpServers(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)POST /ai/missions/{mission_id}/mcp-servers response, err := client.AI.Missions.McpServers.NewMcpServer(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} response, err := client.AI.Missions.McpServers.GetMcpServer(
context.Background(),
"mcp_server_id",
telnyx.AIMissionMcpServerGetMcpServerParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} response, err := client.AI.Missions.McpServers.UpdateMcpServer(
context.Background(),
"mcp_server_id",
telnyx.AIMissionMcpServerUpdateMcpServerParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id} err := client.AI.Missions.McpServers.DeleteMcpServer(
context.Background(),
"mcp_server_id",
telnyx.AIMissionMcpServerDeleteMcpServerParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}GET /ai/missions/{mission_id}/runs page, err := client.AI.Missions.Runs.List(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunListParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPOST /ai/missions/{mission_id}/runsinputmetadata run, err := client.AI.Missions.Runs.New(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunNewParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", run.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id} run, err := client.AI.Missions.Runs.Get(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunGetParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", run.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPATCH /ai/missions/{mission_id}/runs/{run_id}errormetadataresult_payloadresult_summarystatus run, err := client.AI.Missions.Runs.Update(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunUpdateParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", run.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atPOST /ai/missions/{mission_id}/runs/{run_id}/cancel response, err := client.AI.Missions.Runs.CancelRun(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunCancelRunParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/events page, err := client.AI.Missions.Runs.Events.List(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunEventListParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypePOST /ai/missions/{mission_id}/runs/{run_id}/eventstypesummaryagent_ididempotency_keypayloadstep_id response, err := client.AI.Missions.Runs.Events.Log(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunEventLogParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
Summary: "Brief task summary",
Type: telnyx.AIMissionRunEventLogParamsTypeStatusChange,
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypeGET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id} response, err := client.AI.Missions.Runs.Events.GetEventDetails(
context.Background(),
"event_id",
telnyx.AIMissionRunEventGetEventDetailsParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
RunID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)agent_idevent_ididempotency_keypayloadrun_idstep_idsummarytimestamptypePOST /ai/missions/{mission_id}/runs/{run_id}/pause response, err := client.AI.Missions.Runs.PauseRun(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunPauseRunParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/plan plan, err := client.AI.Missions.Runs.Plan.Get(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunPlanGetParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", plan.Data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/plansteps plan, err := client.AI.Missions.Runs.Plan.New(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunPlanNewParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
Steps: []telnyx.AIMissionRunPlanNewParamsStep{{
Description: "description",
Sequence: 0,
StepID: "550e8400-e29b-41d4-a716-446655440000",
}},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", plan.Data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/plan/stepssteps response, err := client.AI.Missions.Runs.Plan.AddStepsToPlan(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunPlanAddStepsToPlanParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
Steps: []telnyx.AIMissionRunPlanAddStepsToPlanParamsStep{{
Description: "description",
Sequence: 0,
StepID: "550e8400-e29b-41d4-a716-446655440000",
}},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idGET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id} response, err := client.AI.Missions.Runs.Plan.GetStepDetails(
context.Background(),
"step_id",
telnyx.AIMissionRunPlanGetStepDetailsParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
RunID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}metadatastatus response, err := client.AI.Missions.Runs.Plan.UpdateStep(
context.Background(),
"step_id",
telnyx.AIMissionRunPlanUpdateStepParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
RunID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)completed_atdescriptionmetadataparent_step_idrun_idsequencestarted_atstatusstep_idPOST /ai/missions/{mission_id}/runs/{run_id}/resume response, err := client.AI.Missions.Runs.ResumeRun(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunResumeRunParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)errorfinished_atinputmetadatamission_idresult_payloadresult_summaryrun_idstarted_atstatusupdated_atGET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents telnyxAgents, err := client.AI.Missions.Runs.TelnyxAgents.List(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunTelnyxAgentListParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", telnyxAgents.Data)created_atrun_idtelnyx_agent_idPOST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agentstelnyx_agent_id response, err := client.AI.Missions.Runs.TelnyxAgents.Link(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AIMissionRunTelnyxAgentLinkParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
TelnyxAgentID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)created_atrun_idtelnyx_agent_idDELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id} err := client.AI.Missions.Runs.TelnyxAgents.Unlink(
context.Background(),
"telnyx_agent_id",
telnyx.AIMissionRunTelnyxAgentUnlinkParams{
MissionID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
RunID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
log.Fatal(err)
}GET /ai/missions/{mission_id}/tools response, err := client.AI.Missions.Tools.ListTools(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)POST /ai/missions/{mission_id}/tools response, err := client.AI.Missions.Tools.NewTool(context.Background(), "mission_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)GET /ai/missions/{mission_id}/tools/{tool_id} response, err := client.AI.Missions.Tools.GetTool(
context.Background(),
"tool_id",
telnyx.AIMissionToolGetToolParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)PUT /ai/missions/{mission_id}/tools/{tool_id} response, err := client.AI.Missions.Tools.UpdateTool(
context.Background(),
"tool_id",
telnyx.AIMissionToolUpdateToolParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response)DELETE /ai/missions/{mission_id}/tools/{tool_id} err := client.AI.Missions.Tools.DeleteTool(
context.Background(),
"tool_id",
telnyx.AIMissionToolDeleteToolParams{
MissionID: "550e8400-e29b-41d4-a716-446655440000",
},
)
if err != nil {
log.Fatal(err)
}