SMS templates
Menu Company Settings → SMS Templates (if SMS notifications / the related module are enabled).
At seed / provisioning, EliaFlow creates the templates below for each store (FR and EN). Text messages for automatic sends (appointments, sub-service reminder). Unlike email templates, an SMS is plain text: no HTML header / footer, no images or graphical buttons in the final message.
The SMS provider (Twilio / Telnyx) and client / staff “by SMS” preferences must be in place for sends to actually go out. See also Calendar settings, Service reminders and Google reviews.
No HTML design: what you can (and cannot) do
| In the editor | In the SMS actually sent |
|---|---|
| Assisted input (bold, lists, links, emoji…) | Converted to plain text on save |
| Colors / rich layout | Not kept (SMS are not HTML emails) |
| Images / colored buttons | Impossible — no “public https image” equivalent like email |
Recommendation: stay concise (SMS length limits at carriers), use {{…}} tags, and always test with Send a test SMS.
Parallel issue to emails: in email, images must be reachable on the web; in SMS, there is no image — only text and links (URLs) the recipient can open in a browser. A link must therefore be a valid and reachable URL (e.g. {{manage_booking_link}}, store site).
Edit a template: fields
On a row / card: open the editor.
| Field | Role |
|---|---|
| Name | Label (read-only) |
| Key | Fixed technical identifier (read-only) — used by the code |
| Available tags | List of variables to paste into the body |
| SMS body | Message text (required) |
Useful tags (examples)
{{store_name}}, {{customer_name}}, {{appointment_start}}, {{appointment_line_items_bullet_list}}, {{manage_booking_link}}, {{reason_canceled_block}}, {{reason_declined_block}}, {{previous_appointment_start_block}}, {{app_name}}, {{phone}}, {{company_address}}, etc.
Recommended footer: phone + address as plain text ({{phone}}, {{company_address}}). Avoid {{company_maps_url}}, {{phone_tel_url}} and {{company_website_url}} — phones already turn them into long blue links.
Important rule: the appointment reminder SMS must contain {{manage_booking_link}} (link to manage / cancel online).
Actions: Save, Send a test SMS (number + optional appointment ID for real data; [TEST] prefix). Outside production, redirection to a fallback number is possible.
Do not delete / do not “create” outside the system
Seeded SMS templates are wired to the code (appointment confirmation, reminder, cancellation, staff notifications, sub-service reminder…).
| Do | Impossible / avoid |
|---|---|
| Edit the body (text + tags) | Delete a seed template (deletion disabled) |
| Test before going live | Create “marketing campaign” SMS here — marketing campaigns use emails, not these SMS templates |
Without these templates (or with an empty / invalid body), automatic SMS sends fail or fall back depending on config.
Catalog of templates created at seed
Each row exists in French and English (24 templates in total).
Appointments
| Template | Short usage |
|---|---|
| Appointment — confirmed (booking confirmation) | Creation accepted / moved to accepted |
| Appointment — reminder | Before the appointment (calendar delays) — with {{manage_booking_link}} |
| Appointment — confirmed (accepted) | Acceptance |
| Appointment — cancelled by the team | Seller cancellation |
| Appointment — cancelled by the client | Client cancellation |
| Appointment — declined | Request declined |
| Appointment — rescheduled | Date / time change |
| Appointment — staff notification | Assigned to staff (“By SMS” preference) |
| Appointment — staff cancellation | Assigned appointment cancelled |
| Appointment — staff unassignment | Assignment removed |
| Appointment — staff modification | Date / time / client change for staff |
Sub-service reminders
| Template | Short usage |
|---|---|
| Sub-service reminder | Client to remind after the configured delay (service reminders) |
Google reviews
| Template | Short usage |
|---|---|
| Google review invite | Client invited to rate Google Business after a service invoice (Google reviews) |
Quick difference from email templates
| SMS | ||
|---|---|---|
| Format | HTML + builder (blocks, images, buttons) | Plain text |
| Envelope | Shared header / footer | None |
| Marketing campaigns | Yes (marketing templates) | No (this page) |
| Deleting seed templates | Must not | Impossible (policy) |
| Test | Test email | Test SMS |
Regenerate templates (Master → Service points)
- master tenant → Service points → Edit the store (e.g. yls, not
master). - Generate SMS templates = Yes (optionally directions).
- Save → system SMS bodies are rewritten (multi-line style).
CLI equivalent below.
Success criteria
- I see the seed SMS templates (FR/EN) for my store.
- I know the final SMS is text (no images / HTML colors).
- I edit a body with tags and include
{{manage_booking_link}}on the appointment reminder. - I send a test SMS with a valid number (provider configured).
- I do not try to delete system templates or use them as email marketing campaigns.
Canonical restyle (ops / production)
To re-apply the clean multi-line style (same as the appointment reminder) to all system SMS templates:
php artisan sms-templates:reset-bodies --dry-run
php artisan sms-templates:reset-bodies --force
# One store only:
php artisan sms-templates:reset-bodies --service-point=yls --force
Overwrites bodies in the DB (and syncs booking_settings SMS columns). In production, --force is required.