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.
Related guides
- Tool steps — Advanced — Trigger rule, Condition, Foreach with examples.
- Conditional execution — Conditional Node and node-level no-code conditions.
- Error handling & retries — retry policies and the four error-handling modes.
- Tool output — mapping final Tool outputs for API / Embed callers.
- Versioning + Deployment — publish, embed, MCP, API usage prerequisites.