> For the complete documentation index, see [llms.txt](https://craft-agent.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://craft-agent.gitbook.io/home/node-reference/tool-node.md).

# Tool Node

The Tool node executes built-in integrations and searches, allowing workflows to interact with external data and services.

## Settings

| Setting         | Description                                      | Default |
| --------------- | ------------------------------------------------ | ------- |
| **Tool Name**   | The system name of the tool (e.g., `web_search`) | Empty   |
| **Tool Title**  | Friendly name for the tool display               | Empty   |
| **Description** | Instructions on what the tool does               | Empty   |

## Inputs

| Port           | Type    | Description                                            |
| -------------- | ------- | ------------------------------------------------------ |
| **Parameters** | Dynamic | Provides the necessary parameters for the tool to run. |

## Outputs

| Port       | Type        | Description                             |
| ---------- | ----------- | --------------------------------------- |
| **Result** | Text/Object | The data returned by the tool executed. |

## Example Usage

### Web Search Tool

Setting the Tool Name to `web_search` creates a node that searches the internet and returns relevant results.

```
[Text Input] → [Tool Node: 'web_search'] → [Agent: "Summarize results"] → [Response]
```

## Tips

* Keep tools correctly named (e.g. `web_search`, `calculator`)
* Combine a Tool node directly before an AI node to provide real-world context for generation queries.

***

> **Pro tip:** Always pass structured output from an AI node into a Tool if the parameters require complex formatting.
