Skip to main content
A Tool is a tool the Agent chooses and uses as needed while producing an answer. The Agent decides which Tool to call during execution. (To run a predefined task after the Agent responds, use an Action. See Tool and Action differences for guidance.) Tools are divided into three types by runtime.
  • HTTP Calls an external API.
  • Script Runs a JavaScript, Python, or SQL script in an isolated sandbox.
  • Connector Uses a connector registered in Settings, such as Tavily or Brave Search, as a tool.

Tool settings

  1. Name
  2. Description The Agent reads this description when deciding whether to call the Tool. This is the most important field. Click the button to generate a draft based on the Tool’s name and settings.
  3. Runtime What runs when the Tool is called. For HTTP, select a URL and method; for Script, write the code body; for Connector, select a registered connector.
  4. Parameters Configure the inputs accepted by the Tool.

HTTP tools

  • Method GET, POST, PATCH, PUT, DELETE
  • URL
    • Use {{name}} for both Flow variables and values set when the Tool is called. For example, in {{api_base_url}}/customers/{{customer_id}}, api_base_url is set when the Flow runs and customer_id is set when the Tool is called.
    • Click the [Import from cURL] button and enter a cURL command to fill in the HTTP settings automatically.
  • Headers Add HTTP request headers as name-value pairs.
HTTP Tools do not have a field for writing the request body directly. For POST, PATCH, and PUT requests, parameters used as {{parameter_name}} in the URL are replaced with their values. Parameters not used in the URL are automatically included in the JSON request body. The Content-Type: application/json header is also added automatically.

Script tools

Before writing a script, define its inputs under Parameters. Write the function body in JavaScript, Python, or SQL; its return value is passed to the Agent.
Reference a Flow variable as {{variable_name}} and a block parameter as args.parameter_name.
SQL Tools require a database. Select a database registered under Settings → Internal resources from the block’s dropdown. Describe what you want with the editor’s ✦ button to draft the code. SQL requires a connected database first. Scripts run in an isolated sandbox and cannot access the filesystem or network. To call an external API, use an HTTP Tool instead of making the request directly from a script.

Connector tools

Select Connector as the runtime, then choose a connector registered under Settings → Connectors from the dropdown to use it as a Tool. You do not need to write a URL or code.
  • Connector Select one of the connectors registered under Settings → Connectors.
  • Operation Select one of the functions provided by the selected connector.

Parameters

  • Type string, integer, float, number, boolean, array, object
  • Description The Agent uses this information when choosing a value.
For each parameter, choose who sets its value. LLM lets the Agent choose a value for every call, while Fixed uses a fixed value. Use the drag handle to reorder parameters. The order only affects how they are displayed and does not change their meaning.

Tool options

The toggles at the bottom of the Tool inspector refine execution.
  • Required Makes the Agent call this Tool before producing its final answer.
  • Safe to retry Marks the Tool as safe to call multiple times, such as reads or searches with no duplicate side effects. During node retries, only retry-safe Tools can be freely rerun.
  • Max turns Limits how many times the Tool can be called in one run.
  • Max response size Limits the Tool response size in KB before it returns to the LLM.

Approval

For high-risk Tools, such as processing refunds, deleting database data, or sending notifications, turn on Require approval. The Tool requires approval before it is called and waits until approval is granted. Paused calls appear in the Approvals queue with the arguments selected by the Agent.