Skip to main content
Templates hold reusable email content. They cut production time, keep branding consistent, and make approval easier for recurring sends.

Two kinds of template

Only organization templates can be attached to a campaign or referenced by an automation’s send_email step. The gallery is a browsing and starting-point surface.

Attaching one

Attach an organization template to a campaign, or detach it to go back to standalone content. Template content has the lowest precedence at render time: content stored on the campaign wins over the template. So editing a campaign’s body effectively detaches it from the template, a template is a starting point, not a live link. Changing the template later won’t update campaigns already built from it.

In-app templates

A template can hold in-app push content instead of email by setting its channel to inapp. These are what you reference from an in-app push templateId, and they support the same merge variables. An email template passed where an in-app template is expected is rejected, the channel must match.

Worth templating

  • Product and protocol announcements
  • Governance and voting reminders
  • Re-engagement and win-back
  • Rewards, claim, and airdrop notices
  • Onboarding sequence starters

Practices that hold up

Put | default:"…" on every optional merge variable in the template itself, so every campaign built from it inherits safe rendering rather than rediscovering RENDER_FIELD_MISSING at launch.
{{ profile.greetingName }} never renders blank, which makes a template safe for contacts with no name on file.
Templates get reused far past their original context. A single clear call to action survives that; a layout with four competing buttons doesn’t.
For a recurring send, duplicating the last campaign carries content, audience, and tracking settings forward and resets status to draft.
See the template builder for the full dynamic-tag reference: variables, filters, conditionals, loops, and click-to-tag.