POST
/
v2
/
ai-agents
/
{ai_agent_id}
/
custom-tools
{
  "tool_id": "<string>",
  "tool_start_message": "<string>",
  "tool_delayed_message": "<string>",
  "tool_complete_message": "<string>",
  "tool_failed_message": "<string>",
  "openai_tool": {
    "description": "Get the delivery date for a customer's order",
    "name": "get_delivery_date",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "order_id": {
          "description": "The customer's order ID",
          "type": "string"
        }
      },
      "required": [
        "order_id"
      ],
      "type": "object"
    }
  },
  "additional_tool_info": {
    "tool_type": "custom",
    "api": {
      "endpoint": "https://api.example.com/test",
      "headers": {
        "Content-Type": "application/json"
      },
      "method": "POST",
      "parameters": {
        "fixed_params": {
          "api_key": {
            "description": "API key for authentication",
            "value": "test-api-key"
          }
        },
        "runtime_params": {}
      }
    }
  },
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Path Parameters

ai_agent_id
string
required

Body

application/json
openai_tool
object
required

OpenAI function definition specifying the tool's interface for AI interaction

Example:
{
  "description": "Get the delivery date for a customer's order",
  "name": "get_delivery_date",
  "parameters": {
    "additionalProperties": false,
    "properties": {
      "order_id": {
        "description": "The customer's order ID",
        "type": "string"
      }
    },
    "required": ["order_id"],
    "type": "object"
  }
}
additional_tool_info
object
required

API configuration and other custom tool specific details needed for implementation

tool_id
string
tool_start_message
string | null

Optional message to display when the tool is started

tool_delayed_message
string | null

Optional message to display when the tool is delayed

tool_complete_message
string | null

Optional message to display when the tool is completed

tool_failed_message
string | null

Optional message to display when the tool fails

Response

201
application/json
Successful Response
openai_tool
object
required

OpenAI function definition containing the tool's interface specification

Example:
{
  "description": "Get the delivery date for a customer's order",
  "name": "get_delivery_date",
  "parameters": {
    "additionalProperties": false,
    "properties": {
      "order_id": {
        "description": "The customer's order ID",
        "type": "string"
      }
    },
    "required": ["order_id"],
    "type": "object"
  }
}
additional_tool_info
object
required

Complete configuration for the custom tool including API details

created_at
string
required

Timestamp indicating when this custom tool was created

updated_at
string
required

Timestamp indicating when this custom tool was last modified

tool_id
string

Unique identifier for the custom tool

tool_start_message
string | null

Optional message to display when the tool is started

tool_delayed_message
string | null

Optional message to display when the tool is delayed

tool_complete_message
string | null

Optional message to display when the tool is completed

tool_failed_message
string | null

Optional message to display when the tool fails