Create Tool

Creates a tool for the authenticated organization.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Create Tool Request

Request schema for creating a tool.

actions
array of objects
length ≤ 8

Action params. Only applied when the tool type is execute_actions.

actions
string
required
length ≤ 255

Description of what the tool does and when it should be used

string | null

Tool label

string
required
length between 1 and 64
^[a-zA-Z0-9_-]{1,64}$

Tool name

CustomToolSettings | TransferCallToolSettings | ExecuteActionsToolSettings | PressDigitToolSettings | CalendarToolSettings
required

Settings of the Tool. Only the fields listed for the selected type are accepted.

  • transfer_call:

    • Required:
      • transfer_options: Between 1 and 36 destinations the agent can select when transferring a call. Each option contains:
        • identifier: Name the agent uses to identify the destination.
        • type: One of forward_to_user, forward_to_team, forward_to_agent, or forward_to_phone_number.
        • value: User ID, team UUID, agent UUID, or E.164 phone number matching type.
        • target_channel_phone: Optional E.164 channel phone number used as a target for the transfer. Only applies to forward_to_user, forward_to_team, and forward_to_agent.
    • Optional:
      • execution_message_description: What the agent should say when starting the transfer. It can be an exact phrase or an instruction. When omitted, uses a default transfer instruction.
  • execute_actions:

    • Required:
      • speak_after_execution: Whether the agent speaks after executing the actions. Recommended when the user needs an execution update.
      • speak_during_execution: Whether the agent speaks while executing the actions. Recommended when execution takes more than one second.
    • Optional:
      • timeout_ms: Time in milliseconds before action execution times out.
      • execution_message_description: What the agent should say when starting execution. It can be an exact phrase or an instruction.
  • check_availability_cal and book_appointment_cal:

    • Required:
      • cal_api_key: Cal.com API key used by the Tool.
      • event_type_id: Cal.com event type ID used by the Tool.
    • Optional:
      • timezone: IANA timezone used for the calendar operation.
  • press_digit:

    • Optional:
      • delay_ms: Time in milliseconds to wait before pressing the digit, allowing a slow IVR menu to finish playing. Must be at least 0.
  • custom:

    • Required:
      • url: Publicly reachable HTTPS endpoint called by the Tool.
      • speak_after_execution: Whether the agent speaks after tool execution. Recommended when the user needs an execution update.
      • speak_during_execution: Whether the agent speaks during tool execution. Recommended when the request takes more than one second.
    • Optional:
      • method: HTTP method used for the request. One of POST, GET, PUT, PATCH, or DELETE; defaults to POST.
      • timeout_ms: Time in milliseconds before the request times out. Must be between 1 and 120000.
      • execution_message_description: What the agent should say when starting execution. It can be an exact phrase or an instruction.
      • headers: HTTP request headers. Keys and values must be strings.
      • query_params: HTTP query parameters. Keys and values must be strings.
      • response_variables: Values extracted from the response and made available as dynamic variables. Keys and values must be strings.
      • parameters: JSON Schema describing the Tool input. The root schema must include a description.
      • retry: Retry policy. When provided, it requires:
        • max_retries: Number of retry attempts, from 1 to 3.
        • base_delay_ms: Initial retry delay in milliseconds, from 200 to 5000.
        • max_delay_ms: Maximum retry delay in milliseconds, from 200 to 15000.
        • retry_on_status_codes: Non-empty list containing only 408, 429, 500, 502, 503, or 504.
      • include_whippy_context: Whether to add a whippy_context object to the JSON request body containing the current contact, conversation, and message when available. Only applies to POST, PUT, and PATCH requests.
uuid | null

Active signing API key in the authenticated organization

string
enum
required

Tool type

Allowed:
Responses

Callback
Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json