Skip to main content
Emails settings page

Settings > Emails

This view can look different dependent on your user role.
See Visibility and permissions for details.

Primary purpose

Manage the transactional emails TWICE sends: order confirmations plus your own custom emails.
Eight system email templates are built in. You can edit their subject and content but not delete them.Templates in Draft status are not sent until you activate them.
Create additional emails to customers or your team, with a subject and HTML content.
Each email template, system or custom, can have per-language content. Select a language in the template editor to write a translated version of the subject and body.When you edit in a language other than the source language, the override is stored as a translation. The template resolves content in this order:
  1. Per-language override: the translated subject and body for the recipient’s language, if one exists.
  2. Template content: the subject and body saved on the template itself (your source language version).
  3. Code default: for system templates only, the built-in default in the requested language.
Custom templates have no code default. If no per-language override exists, the source-language content is used.You can revert a system template to its code default at any time from the editor.A send whose subject and body both resolve empty is refused rather than sent blank. Either one alone still sends, so a custom template with a subject but no content for the send language goes out with an empty body.
Attach document templates, policy documents, or uploaded files to an email.
Send a test email to yourself, and keep a template draft or active.
Emails are sent from your organisation’s contact email (set in Account details). There is no separate sender or SPF/DKIM configuration here.

Email Language

Order notification emails render in the customer’s language. The system determines the language as follows:
  1. The storefront captures the customer’s browsing language during checkout.
  2. At order creation, the customer record stores this language.
  3. When sending the email, the system validates the customer’s language against your enabled languages. If the language is enabled, the email renders in that language. Otherwise, it falls back to your default language.
Both the template content and system-generated copy (dates, labels, line items) render in that one language. Document templates attached to the email render in it too, so an email and its own PDF never arrive in different languages.

Documents

Document templates with the same per-language support

Multi-Language Content

How translations work across your catalog, locations, and templates

Translations Settings

Enable languages and manage translations for customer-facing content

Template Variables

Email templates use Handlebars syntax for dynamic content. Wrap a variable name in double curly braces, {{variable}}, to insert order data into the subject or body.

Helpers

Helpers format raw values before they appear in the email. Standard Handlebars block helpers are available: {{#each}}, {{#if}}, {{#unless}}, {{#with}}.

Order variables

Order email templates receive the full Order object. Commonly used fields: Access line items with {{#each lineItems}}. Each item exposes name, startDate, endDate, purchaseType, pricing, and variants.

Order attribute variables

Order email templates also receive the order attributes captured on the order, in two forms. Address a single value through attributes, not through the labelled list. Use the attribute’s Attribute key from Settings → Attributes & Tags, not its display name: a display name is renameable and differs per language, so only the key is stable.
Only attributes attached to this order appear under attributes, so {{#if attributes.cost_centre}} is false on an order that never captured one. An attribute attached but left empty is still there, with value and formatted both null. Some integrations also contribute a flat name for their own attribute, such as {{oviUrl}} for a door access link. Those keep working in the templates written against them. Address by key in new templates. subscriptionPageUrl is the customer portal link behind an order email’s Manage subscriptions button. It is null on an order with no subscription, so wrap the button in {{#if subscriptionPageUrl}} to hide it where there is nothing to manage. A real send carries a single-use link minted for that recipient. A preview or a test send carries the portal’s recovery page instead, so opening a preview never mints a live link. Templates written against {{subscriptionData.subscriptionPageUrl}} still resolve.

Timezone handling

Date and time helpers (formatDate, formatDateTime) render values in the pickup location’s timezone. If the location has no timezone set, the system falls back to your account’s default timezone. This means customers see dates matching the location they are picking up from, not UTC.

Subject example

Use template variables in the subject line to create dynamic subjects:
If a template variable or helper contains a syntax error, the email still sends with the raw text. No email is lost due to a template mistake.

Visibility and permissions

This page is gated by account_settings:notifications, in the four operations: , , and . Owner and Admin hold every operation. Manager holds only create. Member does not hold it at all. For what each operation means and the full role matrix, see Users & Roles.