Templates

Write your email once, send it anywhere

Create reusable templates with variables in the dashboard or via the API, then send them by id and personalize per recipient — no redeploys to change a subject line.

template.js
// create once
const { data } = await mb.templates.create({
  name: 'Welcome',
  subject: 'Welcome, {{ name }}!',
  html: '<p>Hi {{ name }}, thanks for joining.</p>',
});

// send by id, fill the variables
await mb.emails.send({
  from: 'Acme <hi@acme.com>',
  to: ['new@example.com'],
  template_id: data.id,
  variables: { name: 'Alex' },
});
Capabilities

Templates that scale with you

Reusable templates

Store subject + HTML/text once and send by template_id.

Variables

Personalize with {{ variable }} placeholders, filled per send.

React Email ready

Render React Email components to HTML and pass the result straight through.

Override anything

Pass explicit subject/html alongside a template to override its fields.

Manage in the dashboard

Create, edit, and preview templates without a deploy.

Version-free copy

Update a template once and every future send uses the new copy.

Create your first template

Write reusable email once and send it from anywhere.