eusend
Dashboard

Template Editor

Write and preview React Email templates in real time. The rendered HTML is stored and used at send time.

The template editor at /templates lets you write and preview React Email templates in real time. The rendered HTML is stored and used at send time.

Variables

Use {{variable_name}} anywhere in the subject or HTML body to create a variable. The editor detects them automatically and shows a panel where you can enter sample values for the preview. At send time, pass the actual values via the variables field.

Variable values are HTML-escaped when substituted, so they always render as text — a value like <b>hi</b> shows literally rather than as bold. Any HTML structure (links, formatting) must live in the template body, not in the variable values you pass.

template HTML
<h1>Hi {{first_name}}!</h1>
<p>Your order <strong>#{{order_id}}</strong> has shipped.</p>
<p><a href="{{tracking_url}}">Track your package</a></p>
send with variables
curl -X POST https://api.eusend.dev/emails \
  -H "Authorization: Bearer eu_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "orders@acme.com",
    "to": "alice@example.com",
    "template_id": "550e8400-e29b-41d4-a716-446655440000",
    "variables": {
      "first_name": "Alice",
      "order_id": "1234",
      "tracking_url": "https://track.example.com/1234"
    }
  }'

Templates are rendered once when saved (not at send time), so the preview you see in the editor is exactly what will be sent. Variable substitution is the only step that happens per send.

Editor layout

The editor is split into three panels: the HTML source on the left, the rendered preview on the right, and a variables panel below when {{variables}} are detected. Saving a template stores both the source and the rendered HTML.