This feature is in beta. We'd love your feedback — please get in touch and let us know how it can be improved.

If you're curious what our team is working on, see our roadmap and follow us on Twitter!

Templates are a great way to decouple the rendering of a notification from the data that powers it. Templates are composed on a per category, per channel basis.

How to compose templates

Please visit the Categories tab in the dashboard. Select your desired category (or create a new one), then switch to the Templates tab. Here, you can create or edit templates for each channel by selecting from the dropdown.

Templates override the title and content of notifications.

Merge tags such as {{ notification.content }} are supported — a complete list will appear when you press {, after which you can continue typing or select one from the list.

More advanced functionality such as control flow and default values are also supported — consult the Liquid reference more information.

Notification Overrides further override the title and content of templates.

Notification title

The title will be the subject of email and push notifications and the first bolded line for in-app and Slack notifications.


Content is the body of your notification - the message you want to pass on to users. Content will be the body of an email and below the notification title for in-app notifications.

The content input supports HTML and Markdown.


  • Templates work across channels subject to limitations for that channel. For instance, Slack does not support headings.
  • Channel-specific styling notes:
    • In-app and email: Markdown converts to HTML, which is then sent to the user.
    • Slack: HTML is sent as raw text. Markdown is not parsed prior to sending the notification — rather, any Markdown will be parsed by Slack.
    • Push and SMS: Markdown is removed. As with Slack, HTML is sent as raw text.