Litestore · Operator guide

Email

Learn how to manage transactional email templates, automated workflows, and marketing broadcasts.

Marketing → Email has two screens: the editable templates, and a Workflows catalogue listing every automated email with what fires it and whether your current settings have it switched on.

Broadcasts are composed here too and sent to a lifecycle segment.

Everything — transactional mail, automated mail, broadcasts and the magic links people sign in with — is delivered through Resend.

The two records behind the page are the template and the delivery log row.

Resend is required for sign-in

Sign-in is by magic link, and magic links are delivered through Resend. Until an API key and a sender address are set, nobody can log in — including into the admin.

Editable templates

A template has:

  • A name
  • A slug
  • A type
  • A subject
  • A body

The body can contain {{variables}}, filled in at send time. Each type documents the variables it can use, so you are not guessing at what is available.

The types are:

welcome
magic link
order confirmation
shipping update
affiliate submission
team invitation
marketing
newsletter
other

7 templates are seeded, and none of them can be deleted:

  • Welcome
  • Magic link
  • Order confirmation
  • Collab approved
  • Collab rejected
  • Shipping update
  • Team invitation

Two defaults for one type is not prevented

Marking a template as the default for its type is not exclusive. Nothing stops a second template of the same type also being marked default.

When that happens, the most recently updated one is the one that sends. If a change to a template appears to have had no effect, check whether a second default of that type exists.

Not every email is a template

Some mail has no database template at all:

  • Shipping
  • Refunds
  • Cancellations
  • Returns
  • Abandoned cart
  • Review notifications

These render from built-in designs, using the subject the sending code supplies. Editing a template will not change them.

The Workflows catalogue

The Workflows screen is the map of everything that sends on its own.

For each automated email it lists:

  • What fires it
  • Who receives it
  • Whether it is immediate, delayed by one of your settings, or triggered by hand
  • The rules that gate it
  • The template it would use

Each entry is marked against your live settings as active, disabled or manual — so the catalogue is a picture of what your store will actually do, not a list of what it could do.

It covers:

  • Orders
  • Shipping
  • Post-purchase
  • Cart recovery
  • Account
  • Returns
  • Affiliate and team
  • Broadcasts
  • Admin alerts

Broadcasts

A broadcast is a subject and a body, sent either to every mailable customer or to the lifecycle segments you pick:

new
invited
registered
purchased
repeat

Restricted and banned accounts are never selectable.

Unsubscribed customers are dropped from both the recipient count you preview and the send itself, so the preview and the send can never disagree.

Every send is recorded

One row is written per email, at its final state — sent or failed — carrying:

  • The recipient
  • The subject
  • The type
  • The provider's message id
  • Any error
  • The order or customer it belongs to

Rows are kept for 180 days and then purged.

There is no delivery-log screen. The admin has no page listing these rows, because the log is a database trail for investigating a specific complaint — "was the pickup-ready email for this order sent?" — not something you browse.

Bounces and complaints suppress marketing mail

With the Resend webhook connected:

  • A spam complaint unsubscribes that customer from marketing email
  • A permanent bounce unsubscribes that customer from marketing email
  • A temporary bounce — a full mailbox, a greylisted server — is recorded but never revokes consent

Three things are checked on every marketing send: unsubscribes, spam complaints and permanent bounces.

The distinction between a permanent and a temporary bounce is the point. A mailbox that was full on Tuesday is not a customer who asked to be left alone.

Newsletter providers are separate

The storefront signup form can post to one of 7 destinations:

Beehiiv
Klaviyo
Mailchimp
ConvertKit
Buttondown
Loops
your own webhook

They are configured by environment variables, the first configured one is used, and none of them touch transactional email.

Setting it up

  1. Connect Resend and set the address email is sent from. Nothing sends — and nobody signs in — until this is done.
  2. Seed the default templates and edit their subject and body, then open Workflows to see which automated email each event will send and which ones your settings currently have switched off.
  3. Compose a broadcast, check the recipient count for the segments you chose, and send.

Deciding where to make a change

Edit a template when the mail you want to change is one of the seeded types. Check Workflows first to confirm that a template is what actually sends for that event.

Change a setting, not a template, when the mail is built in — shipping, refunds, cancellations, returns, abandoned cart, review notifications have no template to edit.

Use a broadcast for anything you are sending because you decided to, rather than because an event happened. Anything triggered by an event belongs in Workflows.

Look at the delivery trail only for a specific question about a specific message. There is no screen for browsing it, and rows older than 180 days are gone.

Before editing anything, the question is:

Does this email come from a template, or from a built-in design that no template can change?

On this page