> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yorlet.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables

> Insert values from the trigger, earlier steps, and the time the workflow ran.

Variables let a step use data from the trigger, from a previous step, or from the time the workflow ran. They are written as `{{ }}` expressions — for example `{{ trigger.object.id }}`.

You do not need to type them by hand. Click **Insert variable** in a field, or type `{{` to open the picker.

## Insert a variable

To insert a variable, follow these steps:

1. Select a step and click the field you want to fill.
2. Click **Insert variable**, or type `{{`.
3. Search if you need to, then choose a variable.

The picker groups variables so you can find them quickly:

* **Time** — the time the workflow ran (`Run time (now)`), plus offsets such as one day later.
* **Trigger** — the event or input that started the workflow.
* **Trigger · {record}** — fields on the record that caused the trigger, such as an invoice or tenancy.
* **Loop** — **Current item**, **Current item ID**, and **Current index**, when the step is inside a **For each**.
* **Step {n} · {action}** — fields returned by an earlier action, such as the title of a task you just created.

A chip in the field shows the variable. Hover it to see the full `{{ }}` path. If a step you referenced has been removed, the chip is marked as a broken reference.

<Tip>
  Only earlier steps on the same path appear. A step on the **No** branch of an **If / else** cannot use the output of a step on the **Yes** branch.
</Tip>

## Time and due dates

Timestamp fields such as a task **Due date** have three modes:

* **When the action runs** — stores `{{ now }}`.
* **After the action runs** — stores an offset such as `{{ now + 1d }}`. Choose **Minutes**, **Hours**, **Days**, or **Weeks**.
* **Custom value or expression** — enter your own value or insert a variable.

Offsets use `m` (minutes), `h` (hours), `d` (days), and `w` (weeks). `{{ now + 1d }}` is one day after the run.

## Format numbers and dates

Some values are stored in a raw form that is not what you want to print.

* Invoice amounts are in pence. Insert the field, then choose **Currency** from **Format** so `10000` becomes £100.00. You can also type `| currency` after the path, for example `{{ trigger.object.total | currency }}`.
* Dates are stored as a Unix timestamp. Choose **Date** from **Format**, or type `| date`, so the value becomes a readable date such as 25 August 2026.

## What you can reference

What the trigger provides depends on how the workflow started:

* **Database event** — the event name and the record, plus any previous attributes when the record was updated.
* **API request** — the input parameters you defined, as `{{ trigger.input.<key> }}`.
* **Invoice past due** — the invoice, and how many days past due you configured.
* **Tenancy milestone** — the tenancy, and how many months after the start you configured.

After an action succeeds, later steps can use its output — for example the ID of a task or invoice the workflow just created.
