Skip to content

Custom n8n Workflow Tool#

The Workflow Tool node is a tool that allows an agent to run another n8n workflow and fetch its output data.

On this page, you'll find the node parameters for the Workflow Tool node, and links to more resources.

Parameter resolution in sub-nodes

Sub-nodes behave differently to other nodes when processing multiple items using an expression.

Most nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five name values, the expression {{ $json.name }} resolves to each name in turn.

In sub-nodes, the expression always resolves to the first item. For example, given an input of five name values, the expression {{ $json.name }} always resolves to the first name.

Node parameters#

Name#

Give your custom code a name. It can't contain whitespace or special characters.

Description#

Give your custom code a description. This tells the agent when to use this tool. For example:

Call this tool to get a random color. The input should be a string with comma separated names of colors to exclude.

Source#

Tell n8n which workflow to call. You can choose either:

  • Database, then enter a workflow ID.
  • Parameter, then copy in a complete workflow JSON.

Field to Return#

This must match the name of the output property in the workflow you're calling.

Workflow Values#

Set values to pass to the workflow you're calling.

These values appear in the output data of the trigger node in the workflow you call. You can access these values in expressions in the workflow. For example, if you have:

  • Workflow Values with a Name of myCustomValue
  • A workflow with an Execute Workflow Trigger node as its trigger

The expression to access the value of myCustomValue is {{ $('Execute Workflow Trigger').item.json.myCustomValue }}.

Specify input schema#

Agent support

The structured input schema requires with a Tools Agent or OpenAI Functions Agent.

Enable this option to define the input schema for the workflow you're calling. This is useful when you want to make sure the input data the LLM provides is in the correct format.

Schema Type: Define the input structure and validation. You have two options to provide the schema:

  1. Generate from JSON Example: Input an example JSON object to automatically generate the schema. The node uses the object property types and names. It ignores the actual values.
  2. Define Below: Manually input the JSON schema. Read the JSON Schema guides and examples for help creating a valid JSON schema.

Templates and examples#

AI agent that can scrape webpages

by Eduard

View template details
Chat with a Google Sheet using AI

by David Roberts

View template details
Telegram AI bot with LangChain nodes

by n8n Team

View template details
Browse Custom n8n Workflow Tool integration templates, or search all templates

Refer to LangChain's documentation on tools for more information about tools in LangChain.

View n8n's Advanced AI documentation.