Skip to main content

Tool Node

The Tool node runs one specific action against an external system — send a WhatsApp message, add a row to Google Sheets, create a Zoho CRM record, call an API, and more. Unlike the Agent node (which decides when to use a tool on its own), the Tool node runs the action you choose, every time the flow reaches it, with the inputs you map.

Adding it to a flow

Drag a Tool node onto the canvas and connect the previous node to it. Pick a tool from the dropdown, connect its credential if it needs one, and map the input arguments.

The Tool node's tool selector open, showing the tool catalog

Inputs

ParameterDescriptionRequired
ToolThe action to run, chosen from the tool catalog (Google Sheets, WhatsApp, Zoho CRM, HTTP Request, and many more).Yes
Tool Input ArgumentsThe values the tool needs, mapped to each argument. Each row is an argument name plus a value, which can be a variable like {{$flow.state.email}}. The available argument names depend on the tool you picked.Depends on tool
Flow VariablesState keys this node updates after it runs — for example, storing the tool's result for a later node. Each has a value and an optional "block empty updates" guard.No
Show Output in ChatWhether this node's output appears in the chat history. On by default.No

Outputs

The Tool node has a single output. Whatever the tool returns flows to the next connected node and is available downstream — you can also capture it into a Flow Variable to reuse later.

Selecting a tool

The Tool dropdown lists every tool available in your workspace. Once you pick one, the node reveals that tool's specific settings and argument names. Some tools work on their own (like a calculator or date/time helper); most connect to an outside service and need a credential.

Browse the full list of available tools, grouped by category, in the Tools catalog. Priority tools have their own detailed pages, including WhatsApp, Instagram, Zoho CRM, Google Sheets, HTTP Requests, Custom Tool, and MCP.

Argument mapping

Most tools need input to do their job — the phone number to message, the row to write, the record fields to set. In Tool Input Arguments, each row pairs an argument name (offered by the tool) with a value. Values can be:

  • fixed text you type,
  • a variable such as {{$question}}, {{$flow.state.name}}, or a webhook field, or
  • a mix of both.

This is how you feed live conversation data into the action the tool performs.

The Tool Input Arguments section where tool arguments are mapped

Arguments that are not plain text

Most arguments take plain text, but some expect a list or a structured value. The argument name tells you which: when a type is shown in brackets, the value must be written as JSON.

Argument name in the dropdownWhat the value must look like
bodyTextMerhaba — plain text
buttons (array<{id, title}>)[{"id":"btn_yes","title":"Yes"},{"id":"btn_no","title":"No"}]
sections (array<{title, rows}>)[{"title":"Menu","rows":[{"id":"r1","title":"Pizza"}]}]rows is a nested list
previewUrl (boolean)true or false

The dropdown also shows an example under each argument that needs one. A value starting with [ or { is parsed as JSON before the tool runs, so a variable works too — as long as what it resolves to has the same shape (an LLM node with structured output, for example).

If the shape is wrong, the node stops with a message naming the argument, what it expected, and an example to copy — for instance "buttons": Expected array, but received string followed by Expected shape: array<{id, title}> — e.g. [{"id":"...","title":"..."}].

Credentials

Tools that reach an external service need a credential — the connection that authorizes Flowera to act on your behalf (a WhatsApp account, a Zoho connection, a Google account, an API key). You select or create the credential when you configure the tool. If the dropdown is empty, connect the account first (from Integrations or the tool's own connect button), then return to the node.

Example

Add a captured lead to a spreadsheet:

  • Tool: Google Sheets (append row)
  • Tool Input Arguments: map the sheet's columns — name{{$flow.state.name}}, email{{$flow.state.email}}
  • Flow Variables: store a saved flag as true for a later confirmation message

Tool node configured to use the Calculator tool

Tips

  • If the argument list looks empty, make sure you've selected a tool first and connected its credential — the argument names load from the chosen tool.
  • Use the Tool node when you want an action to run reliably at a fixed point in the flow. Attach tools to an Agent node instead when you want the AI to decide whether to call them.
  • Capture important results into Flow Variables so later nodes can use them.