{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ToolNode",
"title": "ToolNode",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "This is the Tool node. This can be used to call a tool in your workflow.\n\nThe flow is:\n- Workflow starts the tool node\n- Model is called to extract parameters needed by the tool from the conversation history\n- Tool is called with the parameters\n- Server returns a response\n- Workflow continues with the response",
"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."
},
"name": {
"type": "string",
"maxLength": 80
},
"isStart": {
"type": "boolean",
"description": "This is whether or not the node is the start of the workflow."
},
"metadata": {
"type": "object",
"description": "This is for metadata you want to store on the task."
}
},
"required": [
"type",
"name"
]
}