Last updated: 16 April 2026
Variables let you insert dynamic content into workflow actions. Instead of writing a fixed message, you can reference patient names, appointment times, and other data that changes for each run.
Variables use double curly braces:
{{patient.first_name}}{{appointment.clinician.name}}Hello {{patient.first_name}}, your appointment is at {{appointment.start_time}}In the flow builder, any text field that supports merge fields has a { } button. Click it to open the variable selector, which shows all variables available in the current context. Click a variable to insert it at your cursor position.
The variables available depend on your workflow's trigger type:
Patient Triggers
| Variable | Example |
|---|---|
{{patient.first_name}} |
Jane |
{{patient.last_name}} |
Smith |
{{patient.email}} |
jane@example.com |
{{patient.mobile}} |
07700 900000 |
{{patient.date_of_birth}} |
1985-03-15 |
{{patient.nhs_number}} |
123 456 7890 |
Over 50 patient fields are available, including demographics, contact details, and custom attributes.
Appointment Triggers
| Variable | Example |
|---|---|
{{appointment.start_time}} |
2026-03-24T10:00:00 |
{{appointment.appointment_type}} |
GP Consultation |
{{appointment.clinician.name}} |
Dr Sarah Jones |
{{appointment.location}} |
Room 3 |
{{patient.first_name}} |
Jane |
Recall Triggers
| Variable | Example |
|---|---|
{{rule.name}} |
Annual Blood Pressure Check |
{{occurrence.due_at}} |
2026-04-01 |
{{occurrence.window_start}} |
2026-03-25 |
{{occurrence.window_end}} |
2026-04-08 |
{{patient.first_name}} |
Jane |
Task Triggers
| Variable | Example |
|---|---|
{{task.title}} |
Review lab results |
{{task.due_at}} |
2026-03-25 |
{{task.urgency}} |
urgent |
{{patient.first_name}} |
Jane |
These are available in every workflow regardless of trigger type:
| Variable | Description |
|---|---|
{{now}} |
Current date and time (ISO format) |
{{today}} |
Current date (YYYY-MM-DD) |
{{runId}} |
Unique ID for this workflow run |
{{organizationId}} |
Your organisation's ID |
Tip: Use the variable selector rather than typing variables by hand -- it ensures you get the correct field names and prevents typos.