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.