Variables
Pass data between steps in your workflow
Variables let you use data from the trigger or previous steps anywhere in your workflow.
Basic Syntax
Variables are wrapped in double curly braces:
{{source.field}}From the Trigger
{{trigger.customer_name}}
{{trigger.order_id}}
{{trigger.email}}From Previous Steps
{{steps.extract_invoice.total}}
{{steps.api_call.response.status}}
{{steps.validate.is_valid}}Click any step in the editor. The Name field in the properties panel is what you use in variables.
Using the Variable Picker
Instead of typing variables manually:
- Click in any field that accepts variables
- Type
{{to open the picker - Browse available data
- Click to insert
The picker shows you everything available from the trigger and completed steps.
Accessing Nested Data
Object Properties
Use dots to navigate into objects:
{{trigger.customer.address.city}}
{{steps.response.data.user.email}}Array Items
Use brackets with an index (starting at 0):
{{trigger.items[0]}}
{{trigger.items[0].name}}
{{steps.extract.line_items[2].price}}Data Types
Variables can contain different types of data:
| Type | Example Value |
|---|---|
| Text | "John Smith" |
| Number | 150.00 |
| Boolean | true / false |
| Array | [item1, item2, ...] |
| Object | { name: "John", ... } |
| File | File reference |
Common Uses
Dynamic URLs:
https://api.example.com/orders/{{trigger.order_id}}Message content:
Order {{trigger.order_id}} from {{trigger.customer.name}} is ready.Template fields:
Customer: {{steps.extract.customer_name}}
Total: {{steps.extract.total}}Tips
Name steps clearly {{steps.extract_invoice.total}} beats {{steps.action_3.field_2}}
Use the picker Don't guess at field names
Check types Don't put quotes around numbers, use array syntax for lists
When Variables Aren't Enough
If you need to transform data, do math, or make comparisons, switch the field to dynamic mode and use Expressions.
- Expressions — Transform and compare data
- Actions — Configure workflow steps