Skip to main content

Tools Steps — Advanced Controls

Use these controls to shape when a step runs, what safety checks it must pass, and how hard it’s allowed to run.

Open any node and switch between the tabs shown in the side panel: Execution Rules, Guardrails, and Limit Override.

Execution Rules

Execution Rules determine whether a node should execute given upstream results and optional conditions.

Trigger rule

When a node has more than one incoming edge:

  • All success – wait for every upstream node to complete successfully before running.
  • Any success – run as soon as one upstream node completes successfully.

Use All success to enforce dependencies; use Any success to race multiple strategies and continue with the first winner.

Condition

Enable Condition to run the node only if an expression evaluates truthy.

Expressions accept variables with handlebars, e.g.
{{ inputs.country == "US" }} or {{ previous_step.status == 200 }}.

You can reference:

  • Tool inputs: inputs.<name>
  • Outputs from prior nodes: <node_id>.<field>
  • Custom attributes: env.<name> and sys.<name>

Examples

  1. {{ inputs.amount > 1000 }}
  2. {{ api_call.status >= 200 && api_call.status < 300 }}
  3. {{ env.run_mode == "debug" }}

Foreach

Enable Foreach to iterate the node over a list.

  • Source list: supply an array expression, e.g. {{ inputs.urls }} or {{ parser.items }}.
  • Each iteration receives the current element as item and the zero-based index as index.
  • The node outputs a list of per-iteration results in the same order as the input list.
  • The maximum number of iterations can be capped with Foreach Limit under Limit Override (see below).

Tip: Combine Condition inside a Foreach node to skip items, e.g. {{ item.active == true }}.

Guardrails

Guardrails validate inputs or outputs for policy, quality, and safety before a node is considered successful.

Adding guardrails to a node

  • Open the node and go to Guardrails.
  • Click Add and choose one or more validators (examples below).
  • For each validator, pick the field to check from the dropdown (for example, an input field such as Body or URL, or a node output).
  • Save.

Available validators (as shown)

  • Competitor Check – block mentions of restricted competitors.
  • Gibberish Text – detect low-quality or nonsensical text.
  • Toxic Language Check – detect harassment or hate content.
  • Detect PII – detect personally identifiable information.

Behavior

If a validator fails, the node returns a validation error and its downstream nodes do not run for that branch.

Use multiple validators together to layer safety and quality checks.

Notes

The Select Field menu lists the fields exposed by that node (e.g., Method, URL, Headers, Body, Internal API for an API node). Other node types expose their own fields.

Guardrails added here are per-node. Organization- or project-level named guardrail configs can also be applied if enabled in your workspace.

Limit Override

Limit Override lets you tighten or relax step-level limits without changing global workspace defaults.

  • Timeout limit – maximum wall-clock time (in seconds) a node is allowed to run. Typical default shown is 1800s (30 minutes). Increase for long-running calls; reduce to fail fast.
  • Foreach limit – maximum number of iterations a Foreach node can spawn. Typical default shown is 200. Raise with care to avoid excessive fan-out.

Guidance

  • Start with conservative increases and validate cost/latency in Last Run.
  • If you hit timeouts upstream, prefer paging/chunking at the data source over pushing limits indefinitely.

Good patterns

  • Race and continue: Connect two alternative fetch nodes to a merge node, set the merge node’s Trigger rule to Any success.
  • Fan-out with guardrails: Foreach over inputs.urls → run an API Call per URL → add Toxic Language and PII guardrails on the Body field.
  • Fail fast: Add a Condition like {{ api_call.status >= 400 }} on a cleanup node to skip unnecessary work when an upstream call already failed.

What varies by node type

  • The Configuration tab (fields like URL, Headers, Body) is specific to the selected node.
  • The Outputs tab lists the fields produced by that node; these are the names you reference in conditions, Foreach sources, and guardrails.
  • Execution Rules, Guardrails, an