> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryblend.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool

> Bundles built-in tools for an agent to call, or runs a single tool on its own as a step. Two modes, one node.

The Tool node gives a workflow access to Blend AI's built-in tools: small, focused capabilities like web search or getting the current time.

It has two modes. In **Agent tool** mode it bundles one or more tools into a single output you wire into an agent, so the model can call them on demand.

In **Standalone** mode it runs a single tool directly as a step, with that tool's parameters exposed as input handles. Switch between them with the **Used as** dropdown at the top of the node.

## Modes

Pick the mode from the **Used as** dropdown. The two modes change what the node exposes and how it runs — everything else (which tools, their parameters) is configured below it.

<CardGroup cols={2}>
  <Card title="Agent tool" icon="robot">
    Bundle of tools, one output handle. Select one or more tools; the node emits a single `tool-list` you connect into an [LLM Agent](/workflow/nodes/llm)'s tools input so the model can call them when it decides to.
  </Card>

  <Card title="Standalone" icon="wrench">
    Single tool with input handles. Pick one tool; its parameters become input handles and the node runs that tool directly as a step, producing a text result for the next node.
  </Card>
</CardGroup>

### Agent tool

In **Agent tool** mode the node is a bundle. You add tools from the catalog and the node exposes one `tool-list` output handle on the right.

Wire that into an [LLM Agent](/workflow/nodes/llm)'s tools input (`tools_in`) and the agent can call any tool in the bundle mid-run.

The node also has a `tool-list` input handle on the left. Connect **Sub-agents** or other Tool nodes into it and their tools join the bundle.

They show up as **linked** tools on the node. This lets you assemble one combined tool list from several sources before handing it to an agent.

For the full orchestration picture, see [Agents and tools](/workflow/agents-and-tools).

### Standalone

In **Standalone** mode the node runs one tool itself, as a normal step. Pick a single tool and its parameters appear as input handles on the left.

Fill each parameter in on the node or feed it from an upstream node. When the node runs, it executes the tool and emits the result as text on the right.

Standalone tools follow the same item rules as other processing nodes. One incoming item runs the tool once; a Batch, multi-select Choose Output, or LLM structured list makes it run once per incoming item.

For text-area parameters, type `{{variable}}` tokens to replace the whole-field handle with one text handle per variable.

## Inputs

Input handles are on the **left** of the node. They differ by mode.

| Handle                                            | Type                                           | Required      | Notes                                                                                                                                                                                              |
| ------------------------------------------------- | ---------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tools (`tools_in`) — *Agent tool mode*            | `tool-list`                                    | No            | Accepts Sub-agents and other Tool nodes to fold their tools into this bundle. Accepts **multiple** connections.                                                                                    |
| One handle per tool parameter — *Standalone mode* | depends on the parameter (e.g. `text`, `file`) | Per parameter | One handle for each parameter of the selected tool. Required parameters are marked with an asterisk. Fill in on the node or wire from upstream. No parameter handles appear until you pick a tool. |

## Outputs

Output handles are on the **right** of the node.

| Handle                                  | Type        | Notes                                                                                                                                               |
| --------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tools (`tools_out`) — *Agent tool mode* | `tool-list` | The bundled tool list. Wire it into an [LLM Agent](/workflow/nodes/llm)'s tools input.                                                              |
| Tool output(s) — *Standalone mode*      | `text`      | The tool's result. Tools with named output fields expose one `text` handle per field; tools without named fields expose a single **Result** handle. |

## Settings

* **Used as** — the mode dropdown: **Agent tool** or **Standalone**.
* **Tool selection** — pick tools from the built-in catalog.
* **Agent tool selection** — use **Add tool** to bundle as many as you like. Each bundled tool can be expanded to preview its category, inputs, and output type, and removed with the **×**.
* **Standalone selection** — pick exactly one tool from a dropdown.
* **Parameters** — in **Standalone** mode, the selected tool's parameters render as fields on the node. Switching the active tool clears the previously entered values, since they belonged to the old tool's parameters.
* **Template variables** — text-area parameters support `{{variable}}` handles, using the same prompt-templating behavior as model nodes.

## Available tools

Tools come from a built-in catalog, grouped by category. The catalog is small and curated — you don't define your own tools here, you pick from what's available. Categories and examples include:

* **Search** — pull in external information, e.g. **Web Search** and **Legal Data Hunter**.
* **Generation** — produce or refine content, e.g. **Consult Model** (ask a specific model for an independent answer) and **Image Prompt Engineer** (rewrite a rough prompt into a stronger one).
* **Utility** — small helpers, e.g. **Current Time** (the date and time in a given timezone).

The exact set shown in the picker reflects the tools currently enabled for your account.

## When to use

* **Agent tool** — when an [LLM Agent](/workflow/nodes/llm) should decide *at run time* whether to call a capability.
* **Tool bundles** — bundle the tools the agent might need, such as search, time, or model consultation. Use the `tools_in` handle to also fold in Sub-agents.
* **Standalone** — when you want a tool to run unconditionally as a fixed step in the flow, with explicit inputs, and pass its result straight to the next node — no agent required.

## Connects to

* **Agent tool** — output (`tools_out`) wires into an [LLM Agent](/workflow/nodes/llm)'s tools input (`tools_in`). Input (`tools_in`) accepts Sub-agents and other Tool nodes.
* **Standalone** — parameter inputs come from upstream nodes (or are filled on the node); the text output feeds whichever node consumes the tool's result next.

Connections follow the standard canvas rules: exact-type matches connect, `any` connects to anything except `tool-list`, `tool-list` only connects to `tool-list`, and media types can feed a `file` target. No cycles or self-connections.

For run counts, see [Lists & single values](/concepts/lists-and-values).

<Note>
  Only **Standalone** Tool mode supports a single-node run. Agent tool mode is local wiring: it contributes a `tool-list` to an LLM Agent and has nothing to execute by itself.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Agents and tools" icon="robot" href="/workflow/agents-and-tools">
    How agents call tools and sub-agents — the deep dive on orchestration.
  </Card>

  <Card title="LLM node" icon="microchip" href="/workflow/nodes/llm">
    Wire a tool bundle into an agent's tools input so the model can call it.
  </Card>
</CardGroup>
