Skip to main content
For an overview of Liquid syntax, read the LiquidJS introduction. It has a brief summary of Liquid’s two kinds of markup:
  • Outputs, which output HTML. The syntax for outputs is a variable or value and optional list of filters surrounded by {{ and }}. For example, {{ user.name }}.
  • Tags, which control template rendering and implement logic. The syntax for tags is a tag name and optional arguments surrounded by{% and %}. For example, {% if user_metadata.lang == 'it' %} Ciao! {% endif %}.
This page lists the tags, filters, and variables supported in email templates.

Tags

All phone templates support the following Liquid tags:
CategoryTags
Iterationfor, cycle, tablerow
Control flowif, unless, elsif, else, case
Variableassign, increment, decrement
Fileinclude, layout
Languageraw, comment
You can view descriptions and examples of Liquid tags on the LiquidJS tags page.

debug tag

To support debugging and development, our custom {% debug %} tag outputs a summary of the template variables available to your template when it was rendered.

Filters

All email templates support the following Liquid filters:
CategoryFilters
Mathplus, minus, modulo, times, floor, ceil, round, divided_by, abs, at_least, at_most
Stringappend, prepend, capitalize, upcase, downcase, strip, lstrip, rstrip, strip_newlines, split, replace, replace_first, remove, remove_first, truncate, truncatewords
HTML/URIescape, escape_once, url_encode, url_decode, strip_html, newline_to_br
Arrayslice, map, sort, sort_natural, first, last, join, reverse, size
Datedate
Miscdefault
You can view descriptions and examples of Liquid filters on the LiquidJS filters page.

General variables

The following variables are available to the Text Message Template field in every phone template. To use untrusted properties in email templates, escape them with the escape filter (for example, {{ user.name | escape }}).
  • connection, the database connection name
  • Tenant-related information defined in Tenant Settings:
    • tenant, which is the raw tenant name
    • friendly_name
    • support_email
    • support_url
    • logo_url
    • home_url
    • region
  • The application object, with access to the standard client properties like application.name and application.metadata
  • The following user variables:
    • user.name (untrusted)
    • user.nickname (untrusted)
    • user.given_name (untrusted)
    • user.family_name (untrusted)
    • user.picture (untrusted)
    • user.login_count
    • user.user_metadata (untrusted if containing user-provided information), user attributes that do not impact a user’s core functionality, including user preferences
    • user.app_metadata, user attributes that can impact a user’s core functionality, such as how an application functions or what the user can access, including their support plan, security roles, and access control groups
    • user.email_verified
    • user.email
    • user.phone_number
    • user.phone_verified
    • user.multifactor
    • user.source_ip
    • user.country
    • user.city
  • The following client variables:
    • name
    • clientID
    • metadata
  • When a user logs in through an Organization, the following additional variables are available:
    • organization.id
    • organization.name
    • organization.display_name
    • organization.metadata
    • organization.branding.logo_url
    • organization.branding.colors.primary
    • organization.branding.colors.page_background
  • Multiple variables:
    • custom_domain.domain, the tenant’s domain name
    • custom_domain.domain_metadata, the custom domain’s metadata fields (key-value pairs)