Customers & Automation
Notification Templates
Last updated 19 May 2026
Notification Templates
The 12 message templates that go out automatically through your customer journey — confirmations, reminders, review requests, birthdays, rebooking, and more. Each one is AI-generated from your brand voice persona, editable per-template, and regenerable as a full set whenever you change your voice.
Where to find them — Web: Sidebar → Automations → booking message templates section. (The
/engage/templatesURL redirects to/automations.) Owner / Manager only. Mobile: no editor — manage on web.
TL;DR
- 12 templates cover the full customer journey from booking through rebooking.
- Generated in your venue's brand voice persona with Business Memory facts injected.
- Edit any single template, or regenerate the full set on demand.
- Per-template and full-set regen both cost 1 Spark.
- Available on every plan.
The 12 templates
| Template | Display label | When it sends |
|---|---|---|
confirmation |
Booking confirmation | Immediately after the customer books |
reminder |
Appointment reminder | Before the appointment, per your reminder schedule |
review |
Review request | After appointment completed |
welcome |
Welcome message | To first-time / newly-joined customers |
rescheduled |
Rescheduled appointment | When an appointment moves to a new time |
cancelled |
Cancelled appointment | When an appointment is cancelled |
no_show |
No-show follow-up | After a missed appointment |
birthday |
Birthday message | For birthday automation |
rebooking |
Rebooking nudge | When client cadence is overdue |
reconnect |
Reconnect campaign | To long-lost customers (90+ days inactive) |
loyalty |
Loyalty milestone | When customer hits a visit milestone |
new_client |
New client follow-up | After a first-time visitor's first appointment |
Each template carries:
- Subject (for email)
- Email body — 2-4 short paragraphs, one CTA link maximum
- SMS body — target 90-118 chars, 133 hard ceiling, GSM-7 only (the STOP footer is appended automatically by the send pipeline)
Available placeholders
The template editor shows which placeholders are valid for the template you're editing. The most common:
| Placeholder | What it inserts |
|---|---|
{{customerName}} |
First name |
{{venueName}} |
Your venue's business name |
{{serviceName}} |
The booked service |
{{staffName}} |
The assigned team member |
{{date}} |
Appointment date |
{{time}} |
Appointment time |
{{manageLink}} |
Token-protected magic link to manage the existing booking (use in confirmation, reminder, rescheduled, cancelled, no-show) |
{{bookingUrl}} |
Storefront booking URL to book a new appointment (use in birthday, rebooking, reconnect, loyalty, new-client, review) |
{{visitCount}} |
Visit count (loyalty template only) |
Place {{customerName}} and {{venueName}} in every template by default — these always have a value.
How regeneration works
Per-template regeneration
Open a single template, tap Regenerate with AI. The system:
- Reads your current brand voice persona (HOST / CONCIERGE / CASUAL / ENTHUSIAST)
- Injects your Business Memory facts
- Calls the AI with the template-type-specific tone guidance
- Returns subject, email body, and SMS body
- Saves, recording who regenerated and which prompt version was used
Cost: 1 Spark per regeneration.
Full-set regeneration
From the brand-voice page, tap Regenerate templates. A sheet opens with all 12 templates and:
- Auto-selects templates flagged
source !== "manual"(i.e. defaults or earlier AI-generated). Preserves your manual edits by default. - Lets you opt in/out per template via checkboxes.
- Warns about overwriting any manual templates if you explicitly select them.
- Runs sequentially with progress feedback.
The first lifetime full-set regen on a new venue (during onboarding) is free — designed to give every new venue a voice-matched starting point at no Spark cost.
Subsequent regens cost 1 Spark per template regenerated (so up to 12 Sparks for the full set).
When the brand voice changes
If you change your venue's voice persona (e.g. CASUAL → HOST), the brand-voice page automatically surfaces the Regenerate templates sheet so you can bring your templates in line with the new voice in one pass.
A passive banner on the Automations page reads "Your templates are being rewritten in your voice. Refresh in a moment." while the regen is running.
Tone per template
The AI uses different tone guidance per template type, regardless of your venue's voice persona:
| Template | Tone guidance |
|---|---|
| Confirmation | Warm and reassuring — they just committed money |
| Reminder | Informational and neutral — no upsell |
| Review | Grateful and light — they're doing you a favour |
| Welcome | Warm and brief — keep it short |
| Rescheduled / Cancelled | Clear and concise — confirm the new state |
| No-show | Gentle and inviting — no shaming |
| Birthday | Celebratory and brief — your-day-not-our-day |
| Rebooking | Friendly nudge — easy yes |
| Reconnect | Re-introduction — assume they may have moved on |
| Loyalty milestone | Celebration with a clear reward |
| New client follow-up | Warm and curious — invite feedback |
Your voice persona affects word choice and warmth; the tone-by-intent guidance keeps length and style consistent across templates regardless of which voice you've picked.
Per-template audit trail
Every save records:
source—default,manual, orai_generatedlastGeneratedAt,lastGeneratedByUserId,lastGeneratedVoicePersonaId,lastGeneratedPromptVersionlastReviewedAt,lastReviewedByUserIdneedsReviewflag
The audit is server-side. Useful for accountability and for the full-set regen logic that decides which templates are safe to overwrite.
Reverting to defaults
There's no explicit Reset button. To revert a template:
- Open the template editor
- Clear the field (subject / email body / SMS body)
- Save
Empty fields render the built-in default at send time. The default is the same starter template every new venue starts with — written generically without your voice persona, but always sends.
This means you can revert just one field if you've overridden three — clear just the field you want reset, leave the others.
Cost summary
| Action | Cost |
|---|---|
| Edit a template manually | Free |
| Per-template AI regeneration | 1 Spark |
| Full-set AI regeneration | 1 Spark per template regenerated (up to 12) |
| First lifetime full-set regen (during onboarding) | Free |
| Reverting (clearing a field) | Free |
Role access
| Action | Owner | Manager | Stylist |
|---|---|---|---|
| View templates | Yes | Yes | No |
| Edit templates | Yes | Yes | No |
| Regenerate per template | Yes | Yes | No |
| Regenerate full set | Yes | Yes | No |
Common mistakes
| Problem | What to check |
|---|---|
| Regenerated template doesn't match my voice | Confirm your voice persona is what you expect (Settings → Brand voice). Regenerate again if you changed personas since. |
| AI regen produced something weird or off-tone | Edit manually. Manual edits are preserved — they won't be overwritten by future full-set regens unless you explicitly select them in the regen sheet. |
| Forgot a placeholder | Save the template, then read the placeholder list in the editor to add any you need. |
| Template references a service I no longer offer | Edit and remove the reference. AI regenerate doesn't audit your current service list when generating — keep your service list and Business Memory in sync. |
| "Refreshing templates" banner is stuck | Reload the page. If it persists, the async regen has stalled — contact support with the time you triggered the regen. |
| Customer received a generic confirmation message | The template is reverting to default (you cleared the field, or you never edited it). Edit and save to override. |
FAQ
How many notification templates are there?
Twelve. Each one is sent at a specific point in the customer journey — confirmation, reminder, review request, welcome, rescheduled, cancelled, no-show follow-up, birthday, rebooking, reconnect, loyalty milestone, new client follow-up.
What's the difference between per-template and full-set regeneration?
Per-template regen rewrites just one template (1 Spark). Full-set regen rewrites all 12 in one pass (also 1 Spark). Use per-template when you want to tweak one specific message; use full-set when you've changed your brand voice persona and want everything aligned.
What placeholders can I use in templates?
Common ones: {{customerName}}, {{serviceName}}, {{staffName}}, {{date}}, {{time}}, {{venueName}}, {{manageLink}}, {{bookingUrl}}. Some templates have specific placeholders — {{visitCount}} on loyalty, for example. The editor shows which placeholders are available for the template you're editing.
Can I revert a template to default?
Yes — clear the field. Empty fields render the default at send time. There's no explicit Reset button, but blanking a field and saving achieves the same thing.
Will SMS templates respect the customer's phone settings?
Yes. SMS templates respect the recipient's SMS opt-in status, quiet-hours setting, and recently-messaged dedup just like every other outbound send. If the customer has opted out, the SMS won't go; the email version still does.
Why is mobile editing not supported?
Template editing is a low-frequency, high-stakes activity that benefits from a larger editor. Mobile parity is on the roadmap but not yet shipped.