Assistants

Import assistants from external provider

Import assistants from external providers. Any assistant that has already been imported will be overwritten with its latest version from the importing provider.

post/ai/assistants/import

Headers

Idempotency-Keystring

Optional opaque, unquoted key for safely retrying the same logical request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores. Generate a unique UUID v4 for each operation and reuse it only when retrying that operation with the same request. Invalid headers—including duplicate, empty, malformed, or overlong values—return 400 with error code 10015. A request already in progress with the same key returns 409; reusing the key with a different request returns 422. Only successful responses are replayed, for up to 24 hours. Do not include sensitive data in the key.

Request body

provider'elevenlabs' | 'vapi' | 'retell' required

The external provider to import assistants from.

api_key_refstring required

Integration secret pointer that refers to the API key for the external provider. This should be an identifier for an integration secret created via /v2/integration_secrets.

import_idsstring[]

Optional list of assistant IDs to import from the external provider. If not provided, all assistants will be imported.

Response

Successful Response

Example response

{
  "data": [
    {
      "tools": [
        {
          "webhook": {
            "url": "https://example.com/api/v1/function",
            "body_parameters": {
              "properties": {
                "age": {
                  "description": "The age of the customer.",
                  "type": "integer"
                },
                "location": {
                  "description": "The location of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "age",
                "location"
              ],
              "type": "object"
            },
            "path_parameters": {
              "properties": {
                "id": {
                  "description": "The id of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            },
            "query_parameters": {
              "properties": {
                "page": {
                  "description": "The page number.",
                  "type": "integer"
                }
              },
              "required": [
                "page"
              ],
              "type": "object"
            },
            "preset_body_fields": {
              "account_id": "{{customer_id}}",
              "source": "telnyx-assistant"
            },
            "preset_query_params": {
              "caller": "{{telnyx_end_user_target}}",
              "channel": "voice"
            },
            "messages": [
              {
                "type": "request_start",
                "content": "Let me look that up for you."
              },
              {
                "type": "request_response_delayed",
                "content": "Still working on that.",
                "timing_ms": 5000
              }
            ]
          }
        }
      ],
      "a2a_agents": [
        {
          "name": "billing_agent",
          "url": "https://agents.example.com",
          "headers": [
            {
              "name": "X-Api-Key",
              "value": "{{#integration_secret}}my_agent_api_key{{/integration_secret}}"
            }
          ],
          "timeout_ms": 30000,
          "poll_interval_ms": 500
        }
      ],
      "conversation_flow": {
        "edges": [
          {
            "condition": {
              "prompt": "The caller is asking about a bill or charge.",
              "type": "llm"
            },
            "id": "e_intake_to_billing",
            "start_node_id": "n_intake",
            "target": {
              "node_id": "n_billing",
              "type": "node"
            }
          },
          {
            "condition": {
              "prompt": "The caller has explicitly asked for a human.",
              "type": "llm"
            },
            "id": "e_intake_to_escalation_assistant",
            "start_node_id": "n_intake",
            "target": {
              "assistant_id": "assistant-human-handoff",
              "position": {
                "x": 600,
                "y": 80
              },
              "type": "assistant",
              "voice_mode": "distinct"
            }
          }
        ],
        "nodes": [
          {
            "type": "prompt",
            "id": "n_intake",
            "instructions": "Greet the caller and ask what they're calling about.",
            "name": "Intake",
            "position": {
              "x": 120,
              "y": 80
            },
            "shared_tool_ids": [
              "tool-faq-kb"
            ]
          },
          {
            "type": "prompt",
            "id": "n_billing",
            "instructions": "Focus on billing questions. Look up the caller's latest invoice with the billing tool before answering.",
            "instructions_mode": "append",
            "model": "moonshotai/Kimi-K2.6",
            "name": "Billing",
            "position": {
              "x": 420,
              "y": 80
            },
            "shared_tool_ids": [
              "tool-billing-lookup"
            ],
            "tools_mode": "append"
          }
        ],
        "start_node_id": "n_intake"
      }
    }
  ]
}

Changes

Changed in 18 of the 99 revisions of this API.132395

  • 88a6ea09277733See the full diff
    • ●

      removed the optional property /////////// from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property ////////// from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property ////// from the response with the status

      response-optional-property-removed

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ●

      added the new 10011 enum value to the // response property for the response status

      response-property-enum-value-added

    • ●

      added the new domain_graduation_limit_exceeded enum value to the // response property for the response status

      response-property-enum-value-added

    • ●

      added the new omi-health/omi-med-stt-v1 enum value to the /////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new omi-health/omi-med-stt-v1 enum value to the /// response property for the response status

      response-property-enum-value-added

    • ○

      added the optional property /// to the response with the status

      response-optional-property-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new assemblyai/universal-3-5-pro enum value to the /////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new assemblyai/universal-3-5-pro enum value to the /// response property for the response status

      response-property-enum-value-added

  • c44ea87f727b339See the full diff
    • ▲

      added to the //////// response property oneOf list for the response status

      response-property-one-of-added

    • ▲

      added to the /////// response property oneOf list for the response status

      response-property-one-of-added

    • ▲

      added to the /// response property oneOf list for the response status

      response-property-one-of-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///// to the response with the status

      response-optional-property-added

    • ○

      removed from the //////// response property oneOf list for the response status

      response-property-one-of-removed

    • ○

      removed from the /////// response property oneOf list for the response status

      response-property-one-of-removed

    • ○

      removed from the /// response property oneOf list for the response status

      response-property-one-of-removed

    • ○

      added the optional property /// to the response with the status

      response-optional-property-added

  • a6a61a29ecdd1634See the full diff
    • ▲

      the response's body type changed from object to no type for status

      response-body-type-changed

    • ●

      removed the optional property from the response with the status

      response-optional-property-removed

    • ●

      added the new aicoustics enum value to the /// response property for the response status

      response-property-enum-value-added

    • ●

      added the new cohere/ar-stt enum value to the /////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new cohere/ar-stt enum value to the /// response property for the response status

      response-property-enum-value-added

    • ●

      added the new soniox/stt-rt-v5 enum value to the /////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new soniox/stt-rt-v5 enum value to the /// response property for the response status

      response-property-enum-value-added

    • ○

      added the new optional header request parameter Idempotency-Key

      new-optional-request-parameter

    • ○

      added to the response body anyOf list for the response status

      response-body-any-of-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the optional property // to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //// to the response with the status

      response-optional-property-added

    • ○

      added the optional property //// to the response with the status

      response-optional-property-added

    This revision also has 34 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the optional property /// to the response with the status

      response-optional-property-added

    This revision also has 64 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 99 revisions, 1 has no diff computed.