Use Variables in Workflows
Variables let a workflow reuse information from its trigger, earlier steps, and the current run. You can insert them into fields such as prompts, comments, emails, webhook bodies, and ticket IDs.
Insert a variable​
Wrap a variable path in double curly braces:
{{slug.variable}}
For example, this email subject includes the title produced by an earlier step:
Summary: {{chat1.title}}
The first part of the path identifies the workflow trigger or step. The second part identifies one of its output values. You can find the step slug on the step card and in the execution details.
{{chat1.response}}
{{googleFile1.markdown}}
{{page1.markdown}}
A step can use values from its trigger and completed upstream steps. Variable paths are case-sensitive.
Run Variables​
Run variables describe when the workflow is running. They are available to every step and use the teamspace timezone. Because they are top-level values, their paths do not contain a dot.
| Variable | What it means |
|---|---|
{{today}} | Current date, formatted as YYYY-MM-DD. |
{{now}} | Current date and time, formatted as YYYY-MM-DD HH:mm. |
{{startOfWeek}} | Monday date for the current week. |
{{endOfWeek}} | Sunday date for the current week. |
{{startOfLastWeek}} | Monday date for the previous week. |
{{endOfLastWeek}} | Sunday date for the previous week. |
{{startOfMonth}} | First date of the current month. |
{{endOfMonth}} | Last date of the current month. |
{{startOfLastMonth}} | First date of the previous month. |
{{endOfLastMonth}} | Last date of the previous month. |
Use run variables when the workflow should adapt to the date it runs. For
example, a weekly summary prompt can ask for memories created between
{{startOfWeek}} and {{endOfWeek}}, while a monthly report can use
{{startOfMonth}} and {{endOfMonth}}.
For example, the Create memory step can use {{endOfLastWeek}} as its recorded
date.
Step Variables​
Trigger variables and step output variables are documented on the individual step pages in Workflow steps. Use those pages when you need to know which variables a step exposes and which configuration fields accept variables.
Common step reference pages include:
- GitHub issue created
- Jira issue created/updated
- Linear issue created
- AI Agent
- Ask AI model
- Read Google file
- Read Confluence page
- Compose text
- Read memories
- Publish web page
Transform values with Liquid​
Basic variables are enough for direct substitution. For more advanced use cases, workflow fields support Liquid templates. Liquid filters transform a value without changing the original workflow output.
Add filters after a variable using a pipe (|):
{{ chat1.response | strip | capitalize }}
Here are some common transformations:
| What you want to do | Example | Example result |
|---|---|---|
| Convert text to uppercase | {{chat1.title | upcase}} | WEEKLY UPDATE |
| Convert text to lowercase | {{chat1.title | downcase}} | weekly update |
| Remove surrounding whitespace | {{chat1.response | strip}} | Text without leading or trailing spaces |
| Provide a fallback for an empty value | {{chat1.title | default: "Weekly update"}} | Weekly update |
| Replace part of a string | {{chat1.title | replace: "Draft", "Final"}} | Final report |
| Shorten long text | {{chat1.response | truncate: 100}} | The first 100 characters |
| Format a date | {{today | date: "%d %B %Y"}} | 27 August 2026 |
| Get the ISO week number for a date | {{today | week}} | 35 |
| Add to a number | {{githubIssue.issueNumber | plus: 1}} | The issue number plus one |
You can chain filters from left to right:
{{ chat1.response | strip | truncate: 200 }}
Tips​
- Copy variable paths exactly. Variable paths are case-sensitive.
- Keep the
{{and}}braces in place. - Use the slug shown on a step to reference that step's output. If you rename, reorder, or move a step, keep using the slug shown on that step.
- A step can only reference outputs from completed upstream steps.
- If you copy an execution to the editor and run a single step, that step uses the copied execution's completed upstream outputs for its variables.
- If a variable renders empty, check that the field exists on the trigger input or step output and that the step has already completed.
FAQ​
Why is my variable showing as plain text instead of a value?​
Check that the variable path is correct, the braces are still present, and the trigger or upstream step provides that value.