Cadence communication templates use Liquid syntax. You can mix rich email formatting (headings, lists, links) with dynamic values such as member names, enrolment details, and payment amounts.
For a complete list of variables available to each system message, see the template variable reference.
Output tags
Section titled “Output tags”Use double curly braces to output a value:
Hello {{ guardian.display_name }}Nested properties use dot notation:
{{ enrolment.activity.name }} · {{ enrolment.activity.schedule_summary }}Repeat a block for each item in a list variable:
{% for payment in payments %}- {{ payment.amount | cadence_money }}{% endfor %}Inside a loop, forloop.index is the 1-based position and forloop.last is true on the final item.
List variables are documented on each action key reference page (for example payments on payment received).
Conditionals
Section titled “Conditionals”{% if payments.size > 1 %}Your payments have been received, thank you!{% else %}Thank you for your payment.{% endif %}Use unless for the inverse, and case / when when matching several discrete values.
Cadence filters
Section titled “Cadence filters”Cadence registers filters for common formatting tasks:
| Filter | Example | Result |
|---|---|---|
cadence_date |
{{ enrolment.start_datetime | cadence_date }} |
Short Australian date |
cadence_date: "long" |
{{ enrolment.start_datetime | cadence_date: "long" }} |
Weekday, date, and time |
cadence_money |
{{ payment.amount | cadence_money }} |
Currency display (default AUD) |
Filters are applied with a pipe after the value: {{ value | filter_name }}.
Email tables
Section titled “Email tables”For simple tabular email layouts, use tablerow:
<table>{% tablerow enrolment in upcoming_enrolments cols:2 %} {{ enrolment.activity.name }}{% endtablerow %}</table>Further reading
Section titled “Further reading”- Template variable reference (auto-generated from the catalogue)
- Liquid basics (Shopify Liquid documentation)
- Liquid tags (for, if, case, assign, and related tags)