Definition
This node is used in an "Agent Strategy" to invoke a specific tool. In the orchestration of an "Agent Strategy", it typically operates in conjunction with an LLM node. The LLM node determines whether to invoke a tool, while the "Tool Call" node is responsible for executing the tool.
Configuration

"Tool Name" and "Input Variables"
Both are required parameters. It's important to note that "Tool Name" refers to the tool’s unique identifier within the system, not its "Display Name". The "Tool Name" is custom-defined during tool publication and must start with a letter, supporting letters, numbers, and underscores.
The data format for "Input Variables" is structured as follows:
{ "param1": "value1", "param2": "value2" }
You can fill in the text according to the above format, or you can insert variables, but the variable insertion must also adhere to the specified data format.
Configuration Example
Assuming you want to call a tool named "Testing tools" through the "Tool Call" node as illustrated in the following figure:

The "Tool Name" should be filled in as: Testing_tools (rather than using the display Name "Testing tools").
An example of "Input Variables" is as follows:
{ "number1": 1, "number2": 2 }
Ensure the data format of "param" is equivalent to "Variable Name," and the format of "value" conforms to the corresponding "Type."
Output Variables
The Result of the output variable is in Object data format and cannot be modified.
Error Handling
When the "Tool Call" node reports an error, it is triggered and provides three processing options:

- None: The node will report the error and stop running if any exception occurs.
- Default Value: When this option is selected, you need to specify the default output Result when an error occurs, which must also be in Object data format.
- Error Branch: By connecting an error handling branch, you can customize the response strategy when a node error occurs, such as sending alerts, executing backup tasks, or logging.
Usage Example
In the workflow orchestration of a typical "Agent Strategy", the "Tool Call" node is often combined with "LLM" node, "JSON Variable Extractor" node, and "IF/Else" node as preceding nodes. To achieve the Agent's multi-round iteration requirements, the orchestration mentioned above is typically enclosed in a "Iteration", with the number of iterations determined by the $MaxIterations parameter inserted into the initial node for specified times. An example of this iteration is depicted in the figure below:

Here's a detailed explanation of the illustrated nodes in the Iteration:
1. LLM Node
The prompt should specify the output format when a tool is required and the output format when no tool is used. It is recommended to use JSON format for structured data output in both scenarios. For example:
Tool use is formatted using JSON format. Here's the structure: { "Tool": "the_toole_name", "Input": { "param1": "value1", "param2": "value2", } }
2. JSON Variable Extractor Node
This node extracts structured data output from the preceding LLM node into variables for use by subsequent nodes. For instance, you can extract the Tool, WorkflowId, and Input, all in string format.
3. IF/ELSE Node
In this node, the variable "Tool" extracted by the JSON Variable Extractor serves as the criterion for conditional branching. It evaluates whether "Tool" equals "the_tool_name" to decide if the tool should be invoked.
4. Tool Call Node
After the preceding IF/ELSE node determines that a tool needs to be invoked, the Tool Call node is populated with the Tool name and Input variables extracted by the JSON Variable Extractor, as shown in the figure below.
