Templates & layouts

Write a message once, in Liquid, and trigger it by name for any channel. Layouts wrap your email templates in shared branding so you change the header in one place.

Templates and layouts, start to finish.

The template library

Open Templates under Messaging. Templates are organized into folders and tagged by channel; the search box flattens across every folder. Each row shows its channel, trigger key and folder.

The template library, grouped into folders with channel and trigger columns

1. Create a template

Click New Template. On the new-template screen, first pick a channel: Email, SMS, WhatsApp or Push Notification. The channel decides which fields appear (subject and layout are email-only) and can only be set at creation.

The four channel choices on the new-template screen

Give it a Name and a Trigger. The trigger is the event key you fire the template by from the API (for example user.welcome), unique per environment and channel. For email, set a subject, optionally choose a layout, and write a preview line.

The template information fields: name, trigger, folder, subject, layout, preview text

2. Write the body

The body editor is full Liquid with a live preview beside it. Reference customer and account data with placeholders like {{ user.name }}, {{ user.email }}, {{ company.name }} and any {{ custom.* }} attribute you have set on contacts. Toggle Markdown to write email bodies in Markdown instead of HTML. Click Save Template; Send Test lets you fire it to yourself first.

The template editor with a Liquid body and live rendered preview
Trigger a saved template by name over the API instead of sending raw content: POST /messages with a trigger and a data object. See Templates & triggers.

Layouts

A layout is the shared HTML shell your email templates render inside: header, footer, brand colors, the parts you do not want to repeat in every template. Open Layouts to see the ones you have.

The layouts list

Edit a layout and the body must contain the {{ content }} placeholder, which is where each template renders. You can also use {{ preview }} and {{ company.name }}. Markdown transformers let you define how each Markdown element (headings, links, and so on) becomes email-safe HTML, so a Markdown template inherits your styling automatically.

The layout editor showing the HTML shell with the content placeholder

Customization options

FieldTypeDescription
ChanneltemplateEmail, SMS, WhatsApp or Push. Sets which fields apply and the body language. Fixed after creation.
NametemplateHuman-readable name for the library.
TriggertemplateEvent key you fire the template by from the API. Unique per environment + channel.
FoldertemplateOrganizes the template; supports inline folder creation.
Subject / Titleemail / pushEmail subject line or push title. Supports Liquid and emoji.
LayoutemailShared HTML shell the body renders inside. Optional.
Preview TextemailInbox preview snippet. Auto-generated from the body if left blank.
Markdown toggleemailWrite the body in Markdown instead of HTML; forced on when the chosen layout defines transformers.
Layout bodylayoutThe HTML shell. Must contain {{ content }}; may use {{ preview }} and {{ company.name }}.
Markdown transformerslayoutPer-element HTML snippets that style Markdown output (headings, bold, links, etc.).