Skip to content

Message Templates

Message templates let you save time on repetitive communications and ensure consistent, professional messaging across your team. Combine templates with lifecycle automations to send the right message at the right moment -- automatically.

Overview

Every property management team sends the same kinds of messages over and over: check-in instructions, Wi-Fi details, checkout reminders, booking confirmations. Instead of typing these out each time (or copying from a notes document), you can create templates with dynamic variables that auto-fill with real booking, guest, and property data.

Templates fall into two categories:

  • Manual templates -- Reusable messages you insert into a conversation when composing a reply.
  • Lifecycle templates -- Messages that send automatically when a specific booking event occurs.

Both types support dynamic variables and multiple languages.

Where Templates Live

All template management is on the Communication Templates page, reached from Messages > Templates in the sidebar. The page is organized into three tabs:

  • Lifecycle -- The automated messages that fire on booking events (see Lifecycle Templates).
  • Custom -- Your own reusable templates, authored and edited here.
  • Internal CC -- Rules that copy internal staff on specific automated guest emails (see Internal CC Copies below).

Creating a Template

To create a new custom template:

  1. Go to Messages > Templates and open the Custom tab.
  2. Click New Template.
  3. Enter a name for internal reference (e.g., "Check-in Instructions" or "Wi-Fi Details").
  4. Select the category -- this helps organize templates as your library grows.
  5. Write the message body, using variables where you want dynamic data inserted.
  6. Click Save.

[Screenshot: Template editor showing name, category, and message body with variable tokens highlighted]

Template Variables

Variables are placeholders wrapped in double curly braces that the system replaces with real data when the message is sent. Click a variable in the editor's variable picker to insert it. The following variables are available:

VariableDescriptionExample Value
{{guest_first_name}}Guest's first nameMaria
{{guest_last_name}}Guest's last nameRodriguez
{{guest_email}}Guest's email addressmaria@example.com
{{guest_phone}}Guest's phone number+506 8888-1234
{{arrival_date}}Arrival (check-in) dateMarch 15, 2026
{{departure_date}}Departure (check-out) dateMarch 22, 2026
{{nights}}Length of stay in nights7
{{adults}}Number of adults2
{{children}}Number of children2
{{booking_reference}}Booking reference codeBK-20260315-001
{{total_price}}Total booking price$2,450.00
{{property_name}}Property nameVilla Mariposa
{{property_city}}Property cityPlaya Hermosa
{{check_in_time}}Property check-in time3:00 PM
{{check_out_time}}Property checkout time11:00 AM
{{wifi_network}}Wi-Fi network nameVillaMariposa
{{wifi_password}}Wi-Fi passwordsunset2026
{{company_name}}Your company nameSunset Rentals
{{concierge_online_email}}Online concierge email (per property)help@example.com
{{concierge_online_phone}}Online concierge phone (per property)+506 2222-3333
{{concierge_onsite_email}}On-site concierge email (per property)onsite@example.com
{{concierge_onsite_phone}}On-site concierge phone (per property)+506 8888-5678
{{agent_name}}Your full name (the staff member replying)Ana Gómez
{{agent_first_name}}Your first nameAna

The four concierge variables resolve to the online or on-site concierge assigned to that booking's property; if the property has no concierge assigned, they fall back to your company's default concierge contact (set under Settings > General -- see Settings). The agent variables fill in from the staff member sending the reply, and are blank on automated (lifecycle) sends.

Variables that cannot be resolved (for example, {{arrival_date}} on a conversation with no linked booking) are left as-is so you can spot and fix them before sending.

Example Template

A check-in instructions template might look like this:

Hi , welcome to Costa Rica! Here are your check-in details for :

Arrival date: Check-in time: Wi-Fi: /

Your on-site concierge is reachable at .

If you need anything before arrival, just reply to this message. We are here to help!

--

When sent to a guest named Maria staying at Villa Mariposa, every variable is replaced with the real values.

Using Templates in Conversations

To insert a template while replying to a conversation:

  1. Open the conversation in the inbox.
  2. In the reply composer, click the template icon (or use the keyboard shortcut).
  3. Browse or search your template library.
  4. Select a template -- the message body is inserted into the composer with variables already resolved using the conversation's linked booking data.
  5. Review the filled-in message, make any adjustments, and send.

Templates are inserted as editable text, so you can personalize the message further before sending.

Emailing a Guest From a Booking

You can also email a guest directly from the booking detail page with the Email Guest button, which opens a compose modal. Its Email Templates picker lets you start from a saved template rather than a blank message. The picker groups templates under two headings:

  • Lifecycle -- The automated message templates.
  • Custom -- Your active email custom templates (from the Custom tab).

Pick one and its subject and body fill in against that booking's real data, ready for you to adjust and send. Custom templates were previously missing from this picker; they now appear alongside the lifecycle ones, so anything your team authored on the Custom tab is available when emailing a guest by hand.

Internal CC Copies

Sometimes an automated guest email should also reach someone on your own team -- an accountant on every booking confirmation, an owner-relations contact on cancellations. The Internal CC tab on the Communication Templates page lets you attach a CC rule to a specific automated email type.

To add a rule:

  1. Go to Messages > Templates and open the Internal CC tab (the Internal CC copies card).
  2. Choose an email type from the dropdown.
  3. Enter one or more CC addresses, separated by commas (name@company.com, second@company.com).
  4. Click Add copy. Edit a rule's addresses any time and click Save; use Remove to delete it.

Each email type can have one rule, which may list several addresses. A rule can be toggled Active or inactive without deleting it.

The CC recipients are visible to the guest (it is a true CC, not a blind copy), so a reply-all reaches them. And because portal-link emails carry a sign-in token, only CC people you trust with access to the guest's portal.

Internal CC applies only to automated guest emails routed through the system. It does not affect account mail, manual one-off messages, or broadcasts.

Lifecycle Templates

Lifecycle templates are the automation layer. Instead of remembering to send a check-in reminder two days before every arrival, you configure it once and the system handles it from there.

Supported Lifecycle Events

EventWhen It FiresTypical Use
Booking ConfirmedImmediately after a booking is confirmedWelcome message, portal link, payment details
Pre-ArrivalA configurable number of days before check-in (default: 2 days)Check-in instructions, directions, local tips
Check-In DayOn the morning of the check-in dateDay-of welcome, concierge availability reminder
Post-CheckoutAfter the checkout date passesThank-you message, review request
Booking CancelledWhen a booking is cancelledCancellation acknowledgment, refund info

Configuring a Lifecycle Template

  1. Go to Messages > Templates and open the Lifecycle tab.
  2. Click Add Lifecycle Template.
  3. Select the trigger event from the list above.
  4. Choose the channel to send through (WhatsApp, SMS, or email).
  5. Select or create the template to use.
  6. Set the timing offset if applicable (e.g., send the pre-arrival message 3 days before check-in instead of the default 2).
  7. Optionally restrict the template to specific properties -- useful if different villas have different check-in instructions.
  8. Enable the template and save.

[Screenshot: Lifecycle template configuration showing trigger event, channel, template selection, and timing]

Lifecycle templates respect the guest's communication preferences. If a guest has not opted in to WhatsApp, the system will fall back to email.

Testing a Lifecycle Template

Before enabling a lifecycle template for all bookings, test it:

  1. Open the lifecycle template you want to test.
  2. Click Send Test.
  3. Select a booking to use as the data source.
  4. Choose a recipient (yourself or a team member).
  5. The system sends the fully resolved message to the test recipient.

Review the output for missing variables, awkward phrasing, or formatting issues before going live.

Multi-Language Templates

If you serve guests who speak different languages, you can create translated versions of each template:

  1. Open an existing template.
  2. Click Add Translation and select the language (Spanish, French, Portuguese, or others configured for your account).
  3. Write the translated message body using the same variables -- variable names stay in English regardless of the message language.
  4. Save the translation.

When the system sends a lifecycle message or when you insert a template manually, it selects the version matching the guest's preferred language. If no translation exists for that language, the default (English) version is used.

Key Concepts

  • Manual template -- A reusable message you insert into conversations on demand. Variables resolve against the linked booking.
  • Lifecycle template -- An automated message triggered by a booking event. Configured once, sent for every qualifying booking.
  • Variable -- A {{placeholder}} in the message body that the system replaces with real data at send time.
  • Timing offset -- For pre-arrival and similar events, the number of days before (or after) the event date to send the message.
  • Fallback channel -- If the preferred channel is unavailable (e.g., guest not on WhatsApp), the system falls back to the next available channel.

Common Questions

What happens if a variable cannot be resolved? The variable placeholder remains in the text as-is (e.g., {{arrival_date}}). For manual templates, you will see this in the composer and can edit it before sending. For lifecycle templates, unresolved variables are flagged in the send log.

Can I have multiple lifecycle templates for the same event? Yes. For example, you might have a WhatsApp pre-arrival message and an email pre-arrival message. You can also have different templates for different properties.

Will lifecycle messages send for bookings imported from OTAs? Yes. Any booking in the system -- whether created manually, synced from Airbnb, or imported from Booking.com -- can trigger lifecycle messages, as long as the guest has valid contact information.

Can I disable a lifecycle template temporarily? Yes. Each lifecycle template has an enabled/disabled toggle. Disabled templates remain configured but do not fire.

Do templates work with the live chat channel? Manual templates can be inserted into any conversation, including live chat. Lifecycle templates typically use WhatsApp, SMS, or email since they target guests with confirmed bookings.

  • Messaging Guide -- The unified inbox where templates are used in conversations.
  • Channel Integration -- Connecting the channels that templates send through.
  • Guest Portal -- The portal your guests reach through links in your booking and lifecycle messages.
  • Booking Lifecycle -- The booking events that trigger lifecycle templates.

Last updated: