Vapi · Schema

ToolCallHookAction

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
type string This is the type of action - must be "tool"
tool object This is the tool to call. To use an existing tool, send `toolId` instead.
toolId string This is the tool to call. To use a transient tool, send `tool` instead.
View JSON Schema on GitHub

JSON Schema

vapi-toolcallhookaction-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ToolCallHookAction",
  "title": "ToolCallHookAction",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "This is the type of action - must be \"tool\"",
      "enum": [
        "tool"
      ]
    },
    "tool": {
      "description": "This is the tool to call. To use an existing tool, send `toolId` instead.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/CreateApiRequestToolDTO",
          "title": "ApiRequestTool"
        },
        {
          "$ref": "#/components/schemas/CreateBashToolDTO",
          "title": "BashTool"
        },
        {
          "$ref": "#/components/schemas/CreateCodeToolDTO",
          "title": "CodeTool"
        },
        {
          "$ref": "#/components/schemas/CreateComputerToolDTO",
          "title": "ComputerTool"
        },
        {
          "$ref": "#/components/schemas/CreateDtmfToolDTO",
          "title": "DtmfTool"
        },
        {
          "$ref": "#/components/schemas/CreateEndCallToolDTO",
          "title": "EndCallTool"
        },
        {
          "$ref": "#/components/schemas/CreateFunctionToolDTO",
          "title": "FunctionTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO",
          "title": "GoHighLevelCalendarAvailabilityTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO",
          "title": "GoHighLevelCalendarEventCreateTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoHighLevelContactCreateToolDTO",
          "title": "GoHighLevelContactCreateTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoHighLevelContactGetToolDTO",
          "title": "GoHighLevelContactGetTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO",
          "title": "GoogleCalendarCheckAvailabilityTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoogleCalendarCreateEventToolDTO",
          "title": "GoogleCalendarCreateEventTool"
        },
        {
          "$ref": "#/components/schemas/CreateGoogleSheetsRowAppendToolDTO",
          "title": "GoogleSheetsRowAppendTool"
        },
        {
          "$ref": "#/components/schemas/CreateHandoffToolDTO",
          "title": "HandoffTool"
        },
        {
          "$ref": "#/components/schemas/CreateMcpToolDTO",
          "title": "McpTool"
        },
        {
          "$ref": "#/components/schemas/CreateQueryToolDTO",
          "title": "QueryTool"
        },
        {
          "$ref": "#/components/schemas/CreateSlackSendMessageToolDTO",
          "title": "SlackSendMessageTool"
        },
        {
          "$ref": "#/components/schemas/CreateSmsToolDTO",
          "title": "SmsTool"
        },
        {
          "$ref": "#/components/schemas/CreateTextEditorToolDTO",
          "title": "TextEditorTool"
        },
        {
          "$ref": "#/components/schemas/CreateTransferCallToolDTO",
          "title": "TransferCallTool"
        },
        {
          "$ref": "#/components/schemas/CreateSipRequestToolDTO",
          "title": "SipRequestTool"
        },
        {
          "$ref": "#/components/schemas/CreateVoicemailToolDTO",
          "title": "VoicemailTool"
        }
      ]
    },
    "toolId": {
      "type": "string",
      "description": "This is the tool to call. To use a transient tool, send `tool` instead."
    }
  },
  "required": [
    "type"
  ]
}