The template studio lives at Owner → Templates. It shows every automated message your tenant sends, organized by trigger and channel.
How templates are organized
A template is a unique combination of four keys:
- Trigger — the event that fires it (e.g.,
visit.on_the_way) - Channel —
emailorsms - Locale —
en,es, or any language you support - Subject and body — the content
The system looks up the right template when a trigger fires: requested locale → tenant default → English fallback. If no template exists for the channel+trigger combination, the message is silently skipped (no error — just no send).
Editing a template
- Click any template in the list to open the editor.
- Edit subject (email only) and body.
- The sidebar shows every placeholder available for this trigger.
- Click Save. The template is live for the next message.
Placeholders
Every template supports a fixed vocabulary of placeholders per trigger. The full list lives in the editor sidebar. Common ones:
{{client.first_name}}— client first name{{visit.date}}— scheduled date of the visit{{visit.time}}— scheduled time{{company.name}}— your shop's name{{property.address}}— the service address{{invoice.amount_due}}— on invoice-related triggers{{invoice.pay_url}}— direct pay link{{magic_link}}— single-use portal login
Preview with real client data
Click "Preview" in the editor. Pick a client. The template renders with that client's real data. Use this to catch placeholder mistakes before they hit a real send.
Creating a new template
Click "New template." Pick trigger, channel, locale. Write subject + body using placeholders. Save. The template joins the rotation for that trigger combination.