Skip to content
Inbox OSS
All docs

Documentation

Templates

Server-rendered Handlebars / Liquid with per-recipient substitutions, partials, and helpers.

Basic substitution

<p>Hi {{first_name}},</p>
<p>Your order #{{order.id}} ships {{ship_date | date}}.</p>

Sending with a template

{
  "from": {"email": "hello@yourapp.com"},
  "template_id": "tmpl_19fa",
  "personalizations": [{
    "to": [{"email": "ada@example.com"}],
    "dynamic_template_data": {
      "first_name": "Ada",
      "order": {"id": "1234"},
      "ship_date": "2026-05-12"
    }
  }]
}

Conditionals + loops

{{#if order.items}}
  <ul>
    {{#each order.items}}
      <li>{{this.name}} — ${{this.price}}</li>
    {{/each}}
  </ul>
{{else}}
  <p>No items.</p>
{{/if}}

Partials

Define reusable header/footer partials and reference them with {{> partial_id}}. Manage partials in the dashboard under Templates → Partials.

Localization

Pass locale in dynamic_template_data. The renderer routes to the matching localized template version. Fonts for RTL and CJK are loaded automatically.

Stuck? We're here.

Free plan includes 3,000 emails/month forever. No credit card required.