{{Steps.StepName.Property}} as a placeholder accepts a variable expression. Type {{ in that field to open autocomplete and browse everything available at that point in the agent.
Syntax
All variable expressions use double curly braces:Interface-Specific Variables
Additional variables are automatically available depending on the interface that triggered the execution: Slack Bot Interface:
See Slack Bot Deployment for more details and usage tips.
Spaces in step names are replaced with underscores in expressions — a step called
Get File becomes {{Steps.Get_File.FileContent}}.
Namespaces at a glance
Input Variables — {{Variables.Name}}
Input variables are declared on the Input step and filled in by whoever runs the agent — a user in chat, an API caller, or an upstream step.
Defining them: Open the Input step → Variables tab → click Add Variable. Give it a name, choose a type (String, Number, Integer, URL, Email), and optionally write a description so callers know what to provide.
Using them downstream: Reference them anywhere in the agent with {{Variables.YourVariableName}}.
Set Variables — updating values mid-run
The Set Variable step lets you assign a new value to an input variable at any point in the agent. Use it when a step produces data you want to carry forward under a consistent name. Workflow:- The variable must already exist on the Input step (create it there first, or click Create New Variable directly from the Set Variable step panel).
- Add a Set Variable step where you want the assignment to happen.
- Select the variable from the dropdown and set its value — you can hardcode it or use an expression like
{{Steps.My_Step.Result}}. - Downstream steps read the updated value via
{{Variables.Name}}as usual.
Step Outputs — {{Steps.StepName.Property}}
Every step produces one or more output properties. Reference them in any downstream step using the step’s title (spaces → underscores) and the property name.
Steps gives you access to all previous steps in the agent, not just the ones directly connected. If you only want to reference outputs from a step that is directly wired to the current one, use Inputs instead — the behaviour is identical but the scope is narrower.
Array access
When a step returns an array, use bracket notation to access individual elements:Execution context — {{Execution.*}}
Always available. No setup required.
User context — {{User.*}}
Available when the agent is run by an authenticated user.
Helpers — {{Helpers.*}}
Runtime utilities that generate values on demand.
Autocomplete
Any field that supports expressions shows autocomplete when you type{{. The autocomplete list updates as you type:
- Type
{{to see all top-level namespaces - Type
{{Steps.to see every available previous step - Type
{{Steps.My_Step.to see all properties that step exposes - Continue typing to filter the list
Mixing expressions and plain text
Expressions can be embedded inside longer strings. Everything outside{{ }} is treated as literal text:
Common mistakes
UsingInputs when you mean Steps
Inputs only includes outputs from steps that are directly connected to the current step via an edge. If the step you want is two or more hops away, use Steps.
Referencing a step that runs after the current one
The autocomplete only surfaces steps that come before the current step. If a step doesn’t appear, it either hasn’t run yet or is not on a path that leads to the current step.
Wrong casing or space handling
Step names are case-sensitive and spaces become underscores. A step titled Send Email must be referenced as {{Steps.Send_Email.Property}}.
Expecting a single value from an array
If a step returns a list, {{Steps.My_Step.Items}} gives you the whole array. Use [0] or [-1] to get a specific element, or pass the array into a Loop step to process each item individually.
Using {{Variables.Name}} before it has been set
If a variable is defined on the Input step but not filled in by the caller, it arrives as an empty string. Use a Set Variable step earlier in the agent to assign a default if needed.