Template variables let you pass data between steps and reference flow inputs using {{variable}} syntax.
Reference variables with double curly braces:
This works in any text field: prompts, URLs, request bodies, conditions, etc.
When you trigger a Flow through the API, pass values in the inputs field. Access them directly by key name:
For record-based executions, access record metadata with the _record prefix:
Reference the output of earlier steps by their outputVariable name:
If the output is a JSON object, access nested fields with dot notation:
Use dot notation to access nested data:
Reference array items by index:
Runtype provides system variables prefixed with _:
The _schedule variable is available only in schedule-fired executions and includes .id, .name, .cron, .timezone, .lastRunAt, and .nextRunAt.
Provide fallbacks when variables might be undefined:
The || operator uses truthy fallback. Use ?? for nullish fallback (only triggers on null/undefined, not empty string or 0).
Combine strings and variables:
For calculations, ternary expressions, and complex logic, use a transform-data step. The {{variable}} template syntax supports variable references and fallback chains, but not arithmetic or comparison operators.
When building JSON request bodies or metadata:
Note: Numbers and booleans don’t need quotes. Strings do.
Variables are evaluated at runtime. If a referenced step has not executed yet, the variable will be undefined.
Use a transform-data step to inspect variable values. Flow variables are available directly by their outputVariable name:
Check the step output in the execution results to see the returned values.
Variables are scoped to the Flow execution:
outputVariable in the same Flow