Skip to main content

Tool Steps — Basics

This page covers the common actions for adding and configuring a step in a Tool. It explains what each tab does at a glance; in-depth behavior (e.g., conditions, foreach, throttling) is covered in dedicated guides.

Add a step to the canvas

  • Top-left “+”: add a new, unconnected node.
  • Inline “+” beside a node: add a node after the selected one.
  • Floating “+” on an edge: insert a node between two connected nodes.
  • From a node → Next Step: add the successor while configuring.

When the picker opens, choose from:

  • Pre-defined steps (LLM, API Call, Google Search, Python Code, etc.)
  • Tools (reuse another published Tool)
  • Agents / MCP Server (call an Agent or MCP server as a step)

Step drawer tabs

Execution Rules

Controls when and how the step runs (Trigger rule, Condition, Foreach). See Advanced Execution for patterns and examples.

Configuration

The main form for the step. Fields vary by step type (e.g., API Call includes Method, URL, Headers, Body, Internal API, Max retries, Base backoff).

Tips:

  • Reference inputs, prior outputs, or custom attributes with {{ ... }}.
  • Keep secrets in Custom Attributes (env variables marked Secret) and reference them in headers/body.
  • Retries/backoff are per-step resiliency controls.

Outputs

Read-only list of values the step emits (keys and types). Use them later as {{step_id.output_key}}.

Example (API step):
api_call.response, api_call.status, api_call...

Guardrails

Attach validators to check/sanitize the step’s result (e.g., schema validation, redaction).

Limit Override

Node-level limits for throughput and concurrency. See Scale & Throttling for details and best practices.

Next Step

Choose what runs after this node (alternative to the canvas “+” controls).

Last Run

Shows the latest run’s response/status for quick debugging. If empty, run the graph or re-run upstream nodes.

Using inputs inside steps

  • Configure inputs at Start Point → Inputs (Text, Long text, Number, File URL, Options, JSON).
  • Give each input a Variable name (e.g., text, file_url).
  • Use them via {{text}}, {{file_url}}, etc.
  • Default value is used at execution if the caller doesn’t provide the field.
  • Test value is only for local runs of the Tool or individual steps.

Custom Attributes inside steps

System (read-only):

  • {{sys.current_date_time_gmt}}
  • {{sys.user_id}}
  • {{sys.trace_id}}
  • {{sys.current_user_time}}
  • {{sys.user_timezone}}

Environment ({{env.*}}):

  • Project-scoped, overridable via API, optional Secret.
  • Ideal for tokens, per-tenant config, or passing parameters from an Agent into a Tool without exposing them as Tool inputs.

Running and debugging

  • Use Run to execute from Start Point, or run a specific step and inspect Last Run.
  • The {} icon beside fields helps insert available variables.

Naming & reuse

  • Rename nodes (pencil icon) so outputs read clearly (e.g., api_call.response).
  • Chain steps by referencing outputs with {{step_id.key}}.
  • Validate early with Guardrails to prevent propagating bad data.