Using Connector Nodes in Direct Mode

Call a specific tool directly without AI by using Direct Mode.

Overview

A Connector node calls an external service via one of your Connections. In Direct Mode, you pick the exact tool to call and supply its arguments yourself. There is no LLM in the loop - the tool runs with the inputs you provide and returns its output to the workflow.

Direct Mode is the default choice for anything you can describe deterministically. It is faster than Agent Mode (no agent loop), cheaper (no LLM tokens), and gives a predictable shape for downstream nodes to consume. Use it whenever you know which tool to call. Reserve Agent Mode for tasks that genuinely need reasoning or multi-step exploration.

Before You Start

  • You need an active connection to the service you want to call.
  • You should know which tool on that connection you want to invoke.

Configuration

  1. Add a Connector node to the canvas and wire it into the flow.
  2. In the properties panel, set the mode to Direct.
  3. Pick the connection.
  4. Pick the tool from the dropdown. The argument form below regenerates based on the tool's input schema.
  5. Fill in each argument. Use template expressions to inject upstream data.

Settings

  • Connection - The configured connection that exposes the tool.
  • Tool - The specific operation to call. The argument form is auto-generated from the tool's schema.
  • Arguments - Per-tool fields. Literal values or {{ template }} references are both fine.

Using Variables in Arguments

Any argument field accepts template expressions:

  • {{ input.order_id }} - Data from the trigger.
  • {{ step1.products }} - Output from a previous step.
  • {{ step1.customer.email }} - A nested field.

Example: Send a Slack Message

Set the connection to your Slack connection, pick the postMessage tool, set channel to #alerts, and set text to "Order {{ input.id }} totalling {{ input.total }} just landed.". The node sends one Slack message per execution, no LLM involved.

Example: Look Up a Record

Pick a database connection, use the findOne tool with collection set to customers and filter set to {"email": "{{ input.email }}"}. The result is available downstream as {{ thisNode.result }}.

When to Use Direct Mode

  • You know exactly which tool and arguments you need.
  • You want repeatable, deterministic behaviour.
  • You want to minimise cost (no LLM tokens).
  • The tool's input is simple enough that AI reasoning adds no value.

Tips

  • Hover the argument labels to see the tool's own description and any constraints on each field.
  • For complex JSON arguments, build the value in a Transform node first and reference it as a single template, rather than hand-editing JSON inside the argument field.
  • When a tool returns a large object, look at the execution log to learn its shape before writing downstream templates.
  • If you need to call several tools on the same connection in sequence with logic between them, that is often a sign Agent Mode is a better fit.

Common Pitfalls

  • Wrong types - Schema-typed arguments reject the wrong type. Passing a string where a number is expected fails the call immediately.
  • Stale tool list - If the connection was updated upstream (new permissions, refreshed catalogue), reopen the dropdown to pick newly available tools.
  • Templates inside JSON - When typing JSON directly into an argument field, quote string templates: "name": "{{ input.name }}", not "name": {{ input.name }}.
  • Permission scope - The connection's authenticated user must have permission for the tool. A 403 from the underlying API surfaces as a step failure.

Related Articles

Learn More

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.