Skip to main content
Variables make your workflows respond to real data instead of using hard-coded text. When you type {{project.name}} in a task title field, the workflow replaces that token with the actual project name at runtime. You can reference data from the event that started the workflow, global date and time values, and outputs produced by earlier nodes in the same run.

How to insert a variable

In any field that supports variables, open the variable picker by clicking the {{}} button next to the field or by typing {{ directly in the field. The picker shows all variables currently available in context — including trigger data, global date values, and outputs from any nodes that have already run upstream. When you select a variable, it appears as a colored pill token in the field. The field can contain a mix of plain text and variable tokens — for example, Follow up: {{trigger.entity_data.title}} by {{global.date}} is a valid task title.

Types of variables

Trigger data

Trigger variables carry the data from the event that started the workflow. These are always available, starting from the first node after the trigger. For webhook triggers, the full JSON body of the incoming request is accessible via {{trigger.entity_data.payload.*}}. For example, if GitHub sends {"ref": "refs/heads/main", "after": "a1b2c3"}, you reference {{trigger.entity_data.payload.ref}} and {{trigger.entity_data.payload.after}}.

Global date and time

Global date and time variables are available in every workflow, regardless of trigger type. They resolve to the current values at the moment the node executes.

Previous node outputs

Each action node that runs adds new variables to the workflow context that downstream nodes can use. Variables accumulate as execution progresses — a node can only reference outputs from nodes that have already run upstream of it in the execution order.

Entity pickers

For fields where you want to reference a specific item by name rather than by a dynamic variable, use the entity picker. Entity pickers let you search for and select a particular project, task, or note from your workspace. The selected item’s ID is stored as a static reference — the workflow always targets that specific item, regardless of what the trigger data contains. Entity pickers are available in fields like Target task ID and Target project ID on Update task and Update project nodes.

Variable chaining example

Variables are cumulative — each node adds to the available context for everything downstream. This example shows how a single workflow run builds up context step by step:

Nested property access

Variables use dot notation to access nested properties. You can go as deep as the data structure allows.

Which fields support variables

Not every field in every node accepts variables — some fields (like dropdowns for status and priority) use fixed values only. The table below summarizes where variables work.
A variable like {{lastTask.id}} is only available after the Create task node that produces it has run. If you reference it in a node that executes before or in parallel with the Create task node, it resolves to an empty value.

Practical examples

Title that includes the triggering task’s name

Use this in a Create task node triggered by Note Created to automatically generate a review task named after the note.

Date-stamped daily note

Use this as the title in a Create note node inside a Scheduled workflow that runs every weekday morning.

Webhook-driven deployment task

Use this as the task title in a webhook-triggered workflow that fires on GitHub pushes. The ref field in GitHub’s payload contains the branch name.

Chain output from HTTP request into a notification

After an HTTP request node calls your CI/CD API, reference the response data in a downstream Send notification node.

Next steps

Nodes

See which node types produce output variables and which fields accept them.

Templates

Browse starter templates that demonstrate variable usage in real workflows.