Message templates
Share this article
Overview
Message templates are reusable email and SMS layouts you maintain in the Mallard Bay dashboard. They supply content for guest and client communication—including manual sends from bookings, clients, client lists, and leads, as well as automations that run off booking and client activity.
In the product today:
- Email templates are edited on a full-page visual editor at
/edit-template/:templateId(GrapesJS-style builder with save, undo/redo, subject and font settings, and optional restore to default for templates that support it). - SMS templates are edited in a modal on the Message templates list; deep links and automation shortcuts use
/templates?edit_template_id=:templateIdso the correct SMS template opens automatically. - The list distinguishes system (automation) templates—shown with a “System” indicator—from templates you created, and supports search, filters, and pagination.
Each template has a channel (Email or SMS), a type that reflects what it is used for (for example booking-related vs. general client messaging when you create a new template), a name, and template variables you can insert so the sent message is filled with the right trip or guest details.
Prerequisites
- You must be working inside an outfitter (the dashboard expects an active outfitter context on these pages).
- Message templates are a subscription-gated feature (
FeatureKey.MessageTemplates): creating templates goes through a paywall when the feature is not enabled on your plan. - SMS templates assume your SMS integration is set up when you actually send SMS from Mallard Bay; the composer elsewhere can show guidance to finish SMS configuration before messages can go out (separate from building the template text).
- Permissions: In the current app code, the row actions menu (⋯) on the templates table—Edit, Duplicate, Delete, Restore—is shown only when you are the portal entity owner. You can still open a template’s detail page by clicking a row; the detail screen’s Edit action is not hidden by that same check, so non-owner team members who can reach the page may still see Edit there even if they do not see the row menu.
Step-by-step usage
Open the Message templates library
- Go to
/templates(nav label in the app: Message Templates). - Use Search to find a template by name (search updates the list query).
- Use Filters to narrow by channel, template type, or turn on Hide system templates to focus on templates that are not system-defined.
- Click a row to open that template’s detail page (
/templates/:templateId).
Create a template
- On
/templates, choose Create template (primary header action; locked if the Message templates feature is not available on your plan). - In the modal, choose:
- Used for — In the codebase, new templates are limited to Client / “Sportsman” style messaging or Booking messaging. In-app help text states:
- Client style: for messages to clients or leads; usable from booking, client, client list, and lead flows.
- Booking style: for messages about a booked trip; usable from booking pages.
- Channel — Email or SMS.
- Name — How you’ll recognize the template in lists and pickers.
- Used for — In the codebase, new templates are limited to Client / “Sportsman” style messaging or Booking messaging. In-app help text states:
- Submit Create:
- Email: You are taken to
/edit-template/:idto design the message. - SMS: The modal stays open and switches to the edit SMS flow for that new template.
- Email: You are taken to
Edit an email template
- From the list ⋯ menu, choose Edit, or open the template and use Edit on the detail page, or complete Create for a new email template.
- On
/edit-template/:templateId, use the editor to change layout and content. - Use Email settings (gear) for subject line and related email settings.
- Use Save to persist. For automation (system) templates that you have changed, Restore to default may be available; confirming restores Mallard Bay’s default version and drops your customizations (with an explicit confirmation).
Edit an SMS template
- From the list ⋯ menu, choose Edit, or use Edit on the template detail page for an SMS template.
- A modal opens with Message content and support for template variables (insert via
{{and pick from suggestions, as described in the in-app template variables help). - Save updates the template; Cancel closes without saving unless you already submitted.
Duplicate or remove a template
- Duplicate — Available from the ⋯ menu; confirms, then duplicates via the API and refreshes the list. The code does not navigate you to the new copy automatically.
- Delete — Labeled Delete in the UI but implemented as archive (
archiveMessageTemplate). Automation (system) templates do not show Delete; only non-automation templates can be removed from the row menu.
Restore an automation template you customized
- If a system automation template was edited (so it is no longer the “original” default), Restore to default can appear in the ⋯ menu on the list or in the email editor top bar.
- Confirming runs
restoreTemplateToDefaultand replaces your customized version with the platform default (irreversible loss of your customizations per the confirmation copy).
Review a template (detail page)
On /templates/:templateId, the layout is split:
- Details — Name, channel, type, created time, plus two tabs:
- Send logs — Notification send history filtered to this template (via the shared notification send logs table).
- Scheduled messages — Scheduled client notifications that use this template.
- Preview — Renders a preview of how the template looks with sample data resolved from your outfitter when possible (bookings, invites, clients, leads, payments—logic varies by template type).
Open a template from Automations
In Automation settings, a View template action navigates to the correct editor: email → /edit-template/:id, SMS → /templates with edit_template_id set so the SMS modal opens.
Common pitfalls
- Email vs SMS paths — Email always uses
/edit-template/:id. SMS editing uses a modal on/templates; bookmarks and automation links for SMS rely on theedit_template_idquery parameter, not the/edit-template/...path. - “System” templates — Marked System in the list. You can often customize them and later restore to defaults, but you cannot Delete them from the row menu the way you can for templates you created.
- New template types — When creating a template, only two “used for” options are exposed (client/sportsman-style vs booking-style). Other template types you see when filtering the library (payment, lead, form submission, etc.) correspond to broader catalog / system usage rather than all being available in the create form.
- Owner-only row menu — If you do not see ⋯ on each row, you may still reach Edit from the template detail page depending on role; behavior for non-owners may feel inconsistent until your account’s permissions model is clarified in product docs.
- Preview empty or generic — The detail Preview depends on having suitable sample entities (e.g. bookings, clients) in the account; thin accounts may see less representative previews.
- Duplicate — After duplicating, you stay on the list; you may need to search or sort to find the new template.
Related workflows
- Automations — Automation steps reference message templates; editing those templates changes what automations send, subject to each automation’s toggles and configuration.
- Manual messaging — Send-message flows let you pick templates (with channel and type filters in different contexts) for outreach to clients, client lists, and related surfaces.
- Bookings, quotes (booking invites), clients, leads, payments — Template types map to these areas (booking messages vs. general client messaging, payment-related templates, etc.), aligning templates with the trip lifecycle and sales workflow.
- SMS integration — Sending SMS that uses your templates requires SMS to be configured under Integrations; template authoring and sending are related but not the same step.
Unknown / not verified from this repository alone: Exact plan names and upgrade paths for the Message templates feature; full behavior of team-member permissions beyond the owner-only row menu; and any server-side rules for archiving templates (for example whether archived templates remain recoverable in the admin tools).