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.
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. |
| 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.
Can I edit templates on mobile?
Yes. Booking message templates and AI regeneration are available on web and mobile. For larger edits, web still gives you more room to compare longer email/SMS bodies before saving.