# Manage email templates

<div class="ng-access" markdown>
**Who can do this:** <span class="ng-badge ng-badge--superuser">Superuser</span> <span class="ng-badge ng-badge--admin">Admin</span> &nbsp;·&nbsp; **Where:** Dashboard → Settings → **Email Templates**
</div>

Control the content of every email NorthGrid sends for your tenant. The page lists your templates — including the built-in **System** templates for password resets and new-user welcome messages — with **Edit** and **Reset** actions on each row and a **New Template** button for creating your own.

<!-- SCREENSHOT: email-templates-01.png — template list showing System/Active badges and Edit/Reset actions -->

## Reading the template list

Each row shows the **Template Name**, its **Slug** (the short identifier NorthGrid uses internally to pick the template when sending), the **Subject** line, a **Type** badge (*System* templates ship with NorthGrid), a **Status** badge (*Active* templates are used when sending), and the **Last Updated** date.

## Edit a template

1. Select **Edit** on the template's row.
2. Change any of the content fields — see [The template editor](#the-template-editor) below.
3. Select **Save Changes**, or **Cancel** to leave without saving.

## Create a template

1. Select **New Template** at the top right.
2. Enter a **Template Name** (for example, *Welcome Email*). The **Slug** fills itself in from the name as you type — lowercase with underscores — and stops auto-filling the moment you edit it by hand. Slugs allow lowercase letters, numbers, underscores, and hyphens only.
3. Complete the subject and body fields, then select **Create Template**.

## The template editor

<!-- SCREENSHOT: email-templates-02.png — editor with HTML body, preview open, and the variable sidebar -->

The editor page contains:

- **Template Name** and **Slug** — required. On a *System* template the slug is locked (read-only), since NorthGrid looks templates up by slug when sending; the name and content remain fully editable.
- **Subject Line** — required. Supports variables, e.g. `Welcome to {{app.name}}`.
- **HTML Body** — the email as most recipients will see it. Select **👁 Preview** to render your HTML in a panel below the editor; select it again to hide the panel. Variables display as-is in the preview — they're only substituted with real values when the email is actually sent.
- **Plain Text Fallback** — shown by email clients that block HTML. Worth filling in for deliverability.
- **Active (used when sending)** — the toggle that determines whether this template is live.

### Insert variables

The **Available Variables** sidebar lists every `{{double_braces}}` variable you can use, organized by group. **Click any variable** to insert it at your cursor position in the HTML body. Variables are substituted with the recipient's real values at send time.

## Reset a System template to default

If edits to a built-in template have gone wrong, you can restore NorthGrid's original content.

1. Select **Reset** on the template's row.
2. The confirmation dialog names the template — verify it's the one you intend.
3. Select **Reset to Default**.

!!! warning "Reset is permanent"
    The dialog says it plainly: **your custom edits will be permanently overwritten** with the default content. There is no undo. If you might want your version back, copy the HTML body into a file (or a new custom template) before resetting.

## Troubleshooting

**"Template not found."**
:   The template you tried to open doesn't exist in your tenant — you're returned to the template list. It may have been removed, or the link was stale. Work from the current list.

**My subject shows `{{app.name}}` literally in the preview.**
:   That's expected — the preview shows variables unsubstituted. They're replaced with real values only when the email is sent. To verify end-to-end, save and send yourself a test via the flow the template belongs to.

**The slug field won't let me type.**
:   You're editing a *System* template; its slug is intentionally locked. Everything else on the page is editable, and **Reset** can always take it back to stock.

**I edited a template but recipients still get the old content.**
:   Check the **Active** toggle is on and you selected **Save Changes** (a *Cancel* or a closed tab discards edits). Also confirm you edited the template with the slug the sending feature uses — e.g. the welcome flow uses the `welcome` slug.

## Related articles

- [Configure SMTP settings](smtp-settings.md) — templates are the content; SMTP is the delivery
- [Add a user](add-a-user.md) — sends the `welcome` template
- [Setting your password](../getting-started/set-your-password.md) — what the recipient does with these emails
