Test every email template before publication. Keep every published version immutable.
Write it, render it, send it to a real inbox, then publish a fixed version. Every message retains the exact version and variables it was sent with — editing tomorrow can't rewrite yesterday.
✓Render and test to a real inbox before anything publishes.
Publish without rewriting history
Versions
Draft
editing
Published
live
Previous
immutable
welcome
PreviewWelcome, {firstName}
Your account is ready. Here is the first useful step.
Open account[ 01 / 03 ]Why it holds up
Publishing should create evidence, not erase it.
A message that already sent must keep pointing at the exact content and variables it used. Otherwise every edit quietly rewrites your own history of what customers received.
- Edits create a new draft instead of mutating a published version.
- Render and test-send both happen before publication, not after.
- Locale translations attach to one template rather than forking it per language.
- A template can be taken out of service without deleting what it already sent.
Publish without rewriting history
Versions
Draft
editing
Published
live
Previous
immutable
welcome
PreviewWelcome, {firstName}
Your account is ready. Here is the first useful step.
Open account[ 02 / 03 ]How it works
From a draft to an immutable published version.
Write it
react.email TSX from your brand kit — by hand, or by asking your agent.
Render and test
Compile errors surface immediately. Send to a real inbox before it goes near a customer.
Publish a version
Fixed and immutable. Every message from here retains exactly this version.
What publishing guarantees
- Immutable published versions
- Edits create a draft, never a rewrite
- Locale translations on one template
- The exact version retained per message
Questions people ask us
Publish a tested template without rewriting email history.
Write one template, send it to your own inbox, and publish it as a fixed version.