Templates & variables

Design a message once in the template studio, publish it, and personalize every send with variables — no HTML in your application code.

The template workflow

  1. Design — build the message in Dashboard → Templates with the drag-and-drop studio (or import HTML).
  2. Publish — publishing compiles the design to email-safe HTML and gives it a stable template ID.
  3. Send — reference the ID from a transactional send and pass variables.

Variables

Anywhere in a template — subject, headings, body text, button labels and URLs — you can write a placeholder:

Subject: Your receipt for order {{orderId}}

<p>Hi {{firstName}}, thanks for your purchase.</p>

The studio's Tags panel lists every variable it finds in your design, and the send screen in the dashboard generates one input per variable automatically.

Fallback values

Add a fallback after a pipe. If the variable is missing from the send, the fallback renders instead of an empty hole:

Template
<p>Hi {{firstName|there}}, welcome to {{workspaceName|our product}}.</p>

Nested data

Use dot paths for structured data:

<p>Order {{order.id}} — total {{order.total}}</p>

Starter templates

The Starters tab in the templates gallery ships ready-made designs — transactional patterns (welcome, password reset, receipt, verification, alert) and broadcast patterns (newsletter digest, product announcement, flash sale, welcome series, event invite, win-back). Adopting a starter copies it into your workspace as an editable draft; the original stays pristine.

Images & assets

Images uploaded in the studio (or under the templates Imagestab) are hosted by InBuzzed and served from public, permanently-cacheable URLs — so they render in every recipient's inbox without authentication. Starter artwork works the same way; swap any image from the studio's asset picker.