Email Templates
<span class="feature-status implemented">Implemented</span> β Email-template management (Story 10.2) is live. Content templates use a TinyMCE WYSIWYG editor; layout templates use a Monaco source edito
Last Updated: 2026-06-13
Overview
The Email Templates tab lets organizers view and edit the subject lines and body content of every email the platform sends β without requiring a code deployment. It is Tab 3 of the Administration page.
Navigation: Administration β Tab 3 (Email Templates)
Template Architecture
BATbern uses a two-layer template system that separates layout from content:
| Layer | Role | Editor |
|---|---|---|
| Layout Template | HTML shell: CSS styles, BATbern logo header, footer, unsubscribe links | Monaco (source code) |
| Content Template | Email-specific body copy: subject, intro paragraph, CTA button | TinyMCE (WYSIWYG) |
When an email is sent, the platform merges the content template into the layout template at the {{content}} placeholder, producing a fully branded HTML email.
This means content editors only ever touch body copy β the branding, CSS, and legal footer are controlled once in the layout template.
Template Inventory
On startup, 24 templates are seeded automatically from classpath files:
- 2 layout templates β
batbern-default-deandbatbern-default-en(the BATbern HTML shell in German and English) - 22 content templates β one per email type, per language (11 types Γ 2 languages)
Categories
Content templates are organised into categories for easier navigation:
| Category | What it covers |
|---|---|
| Speaker | Invitations, acceptance confirmations, deadline reminders (3-tier), material received |
| Registration | Attendee registration confirmation + QR code email |
| Task Reminders | Organiser task deadline reminder (day before due date) |
| Newsletter | Event newsletter and reminder (managed separately β see below) |
A DE/EN toggle lets you switch between the German and English version of any template.
Layout Templates Section
Layout templates are listed at the top of the tab. Currently there is one layout:
batbern-default (DE + EN)
Owns the full HTML email shell:
- BATbern logo header
- CSS styling and colour palette
- Main content area (
{{content}}injection point) - Footer with organisation details and unsubscribe link
Editor: Monaco (source-code editor). This is the only template type that requires HTML knowledge to edit safely.
Layout templates are system templates β they can be edited but not deleted.
Content Templates Section
Filtering
Use the category filter (Speaker | Registration | Task Reminders | Newsletter) and DE/EN toggle to narrow the list.
Editing a Content Template
- Click a template row to open the editor panel
- Edit the Subject field (plain text)
- Edit the Body in the TinyMCE WYSIWYG editor (paragraphs and CTA buttons only β no raw HTML required)
- Click Save
Changes take effect immediately for the next email sent using that template.
Previewing a Template
Click Preview on any content template to see the fully merged result β your content template injected into the batbern-default layout β rendered as a real branded email. This is exactly what recipients will see.
System vs. Custom Templates
| System Templates | Custom Templates | |
|---|---|---|
| Seeded on startup | β | β |
| Editable | β | β |
| Deletable | β | β |
| Layout key | batbern-default |
batbern-default (default) |
Creating a Custom Template
- Click New Template (top-right of the content templates section)
- Choose a category
- Select a language (DE or EN)
- Enter a template key (used in code to reference the template)
- Fill in subject and body
- Save
Custom templates automatically use the batbern-default layout.
Variable Substitution
Templates use {{variableName}} placeholders that are substituted at send time. Common variables:
| Variable | Available in |
|---|---|
{{recipientName}} |
All templates |
{{eventTitle}} |
All event-related templates |
{{eventCode}} |
All event-related templates |
{{eventDate}} |
All event-related templates |
{{portalLink}} |
Speaker invitation templates (links to the Cognito-authenticated speaker portal) |
{{responseDeadline}} |
Speaker invitation templates |
{{contentDeadline}} |
Speaker reminder templates |
{{taskName}} |
Task reminder templates |
{{dueDate}} |
Task reminder templates |
{{taskBoardLink}} |
Task reminder templates |
{{unsubscribeLink}} |
Newsletter templates |
{{content}} |
Layout templates only |
Caution: Do not remove
{{unsubscribeLink}}from layout templates. This link is required for GDPR compliance and is automatically injected into every sent email.
Classpath Fallback
If a template cannot be loaded from the database (e.g., a new deployment before seeding runs), the platform falls back to the original classpath HTML file. This ensures emails are never silently lost due to a missing DB record.
Related
- Notification System β overview of all emails the platform sends
- Task Templates β task reminder scheduling
- Speaker Portal: Invitation & Response β speaker invitation emails
- Administration Overview β back to admin hub