eusend
Dashboard

Template Editor

Write and preview 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 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 canvas is a visual editor — you write the email as it will look, with a style inspector alongside it for the block you have selected. Two mode tabs sit above it:

ModeWhat it shows
WriteThe visual editor. Type {{ to insert a variable.
HTMLThe underlying HTML, editable directly for anything the visual editor doesn't cover.

Below the canvas, Variables lists every {{placeholder}} detected in the template, Preview with sample data gives you an input per variable and renders the result live, and Use in API shows the POST /emails body for sending this template.

Saving stores the rendered HTML plus the editor document, so reopening a template gives you back the visual editor rather than raw markup. Editing the HTML mode directly and saving drops the stored editor document — the HTML you wrote stays authoritative.