For an overview of Liquid syntax, read the LiquidJS introduction. It has a brief summary of Liquid’s two kinds of markup:Documentation Index
Fetch the complete documentation index at: https://docs-staging.auth0-mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
-
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 %}.
Tags
All email templates support the following Liquid tags:| Category | Tags |
|---|---|
| Iteration | for, cycle, tablerow |
| Control flow | if, unless, elsif, else, case |
| Variable | assign, increment, decrement |
| File | include, layout |
| Language | raw, comment |
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:| Category | Filters |
|---|---|
| Math | plus, minus, modulo, times, floor, ceil, round, divided_by, abs, at_least, at_most |
| String | append, prepend, capitalize, upcase, downcase, strip, lstrip, rstrip, strip_newlines, split, replace, replace_first, remove, remove_first, truncate, truncatewords |
| HTML/URI | escape, escape_once, url_encode, url_decode, strip_html, newline_to_br |
| Array | slice, map, sort, sort_natural, first, last, join, reverse, size |
| Date | date |
| Misc | default |
General variables
The following variables are available to the From Address, Subject, and Message fields in every template (unless otherwise noted). To use untrusted properties in email templates, escape them with theescape filter (for example, {{ user.name | escape }}).
-
The
applicationobject, with access to the standard client properties likeapplication.nameandapplication.client_metadata -
request_languagelanguage selection for users -
connection.name
-
Tenant-related information defined in Tenant Settings:
tenant, which is the raw tenant namefriendly_namesupport_emailsupport_url
-
The following
uservariables:user.emailuser.email_verifieduser.picture(untrusted)user.nickname(untrusted)user.given_name(untrusted)user.family_name(untrusted)user.name(untrusted)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 groupsuser.user_metadata(untrusted if containing user-provided information), user attributes that do not impact a user’s core functionality, including user preferences
-
When a user logs in through an Organization, the following additional variables are available:
organization.idorganization.display_nameorganization.nameorganization.metadataorganization.branding.logo_urlorganization.branding.colors.primaryorganization.branding.colors.page_background
-
Multiple variables:
custom_domain.domain, the custom domain name being used (e.g.,login.example.com)custom_domain.domain_metadata, the custom domain’s metadata fields (key-value pairs) that you can use to customize email content based on the domain
- Configured and verified your custom domains
- Enabled Use Custom Domain in Emails in Dashboard > Branding > Custom Domains
- Set a default custom domain if using multiple custom domains
Redirect To variables
In email templates with a Redirect To URL field, only the following three variables are supported:-
application.name(or its synonymclient.name) -
application.clientID -
application.callback_domain(or its synonymclient.callback_domain), which contains the origin of the first URL listed in the application’s Allowed Callback URL list. This is an origin and therefore includes the protocol (likehttps://) in addition to the domain. The callback domain lets you redirect users to a path of the application that triggered the action by using a syntax like{{ application.callback_domain }}/result_page.
Template-specific variables
In addition to the common Liquid variables available to all email templates, the following email templates have additional variables available.Blocked account email template variables
user.source_ipuser.cityuser.country
Change password (code) email template variables
code, the password change code
Change password (link) email template variables
url, the password reset link
MFA enrollment email template variables
link, the MFA enrollment link.
Passwordless OTP email template variables
send, with a value oflink,link_ios,link_androidorcodedepending on the type of passwordless email requestedcodewith the one-time-use code to access the applicationlinkwith the link that can be clicked by the user to gain access to the application (only for link-type passwordless emails)operation, with a value ofchange_emailfor a passwordless email change operation
User invitation email template variables
inviter.nameroles.idroles.nameroles.description
Verification email (code) template variables
code, the verification code
Verification email (link) template variables
url, the verification link