How to set up automated guest emails

All help ressources
>
How to set up automated guest emails

Why automate your guest emails?

Sending the right message at the right time is key to a great guest experience β€” but doing it manually for every booking takes a lot of time. With Nowistay's automated guest emails, you can set up messages that send automatically when a booking is confirmed, before check-in, or at check-out.

You can generate templates with AI in seconds, personalize them with dynamic variables (like the guest's name, check-in time, or your welcome guide link), add conditions to target the right guests, preview exactly what they'll receive, and monitor every email from a single dashboard.

Even better, you can create multilingual versions of each template so your guests receive the message in their own language β€” with automatic fallback to the default language when needed.

This guide walks you through everything, step by step.

Before you start

To use automated guest emails, you'll need:

  • At least one property connected via the Nowistay PMS integration
  • An active AI Assistant subscription on that property

If you haven't connected your property yet, check our guide on how to create your first property.

Step 1: Open the Automations page

  1. From your dashboard, click Automations in the left sidebar (under Logistics)
  2. You'll see the list of all available automation types. Find the "Guest Messages" row

You can also go directly to app.nowistay.com/hub/automations.

Nowistay Automations page showing three automation types: Cleaning Automation, AI Team Coordination, and Guest Messages
The Automations page β€” the Guest Messages row is where you manage automated emails

Step 2: Select which properties use automated emails

On the Guest Messages row, you'll see a property selector. Click it to choose which properties should have automated emails enabled.

  • Click "Select properties" to open the dropdown
  • Use the search field to find a property by name
  • Check the properties you want, or use "Select all"
  • Click the confirm button to save

Only properties connected through the Nowistay PMS method appear in this list. If a property is missing, make sure it's synced via the PMS integration.

Step 3: Open the templates panel

On the Guest Messages row, click the message icon (the speech bubble icon). This opens the "Guest Message Templates" panel where you create and manage all your email templates.

If this is your first time, you'll see a message: "No message templates yet β€” Add templates to automatically send messages to your guests at key moments."

Guest Message Templates panel showing four templates grouped by trigger event with Add message and Generate with AI buttons at the bottom
The templates panel β€” create, edit, reorder, and manage your email templates

Step 4: Create your first templates

You have two options to get started:

Option A: Generate with AI (fastest)

If you haven't created any templates yet, click the "Generate with AI" button. The AI will create a complete set of email templates covering your three key moments:

  • Booking Confirmed β€” sent when a new booking is created
  • Check-in β€” sent around the guest's arrival date
  • Check-out β€” sent around the guest's departure date

The generated templates are personalized based on your property details, your welcome guide content, and your communication style. Generation usually takes a few seconds.

Once generated, you can edit, reorder, or delete any template. If you want to start fresh, delete all existing templates and the "Generate with AI" button becomes available again.

Option B: Create manually

Click "+ Add message" to open the template editor and build a template from scratch. This is explained in detail in the next step.

Step 5: Edit a template

Whether you're editing an AI-generated template or creating a new one, the template editor lets you configure everything about your automated email. Here's each field explained:

Properties

Choose which properties this template applies to:

  • All properties (default) β€” the email sends for bookings across all your connected properties
  • Specific properties β€” select one or more properties from the dropdown. Useful when a property has specific instructions (like a different check-in process or special address details)

Trigger event

This is when the email should be triggered. Pick one:

  • Booking Confirmed β€” triggers when a new booking is created on any connected platform
  • Check-in β€” triggers around the guest's arrival date
  • Check-out β€” triggers around the guest's departure date

Timing (hours)

This controls how many hours before or after the trigger event the email is sent.

  • Enter a number of hours in the field
  • Click "Before the event" or "After the event" to set the direction
  • Set to 0 to send at the exact time of the event

The editor shows a live example below the field. For instance: "Example: Check-in on 15/03/26 3:00 PM, message sent on 14/03/26 3:00 PM" (for 24 hours before check-in).

Edit Message dialog showing properties selector, trigger event dropdown, timing with Before and After buttons, subject line, and message body with Insert Variable button
The template editor β€” configure the trigger event, timing, subject, and message body

Subject

The email subject line your guest will see. You can type plain text or include variables like {{guest_first_name}} or {{property_name}} to personalize it.

Example: "Welcome to {{property_name}}, {{guest_first_name}}!"

Message body

The main content of your email. Write your message and use the "Insert variable" button (the { } icon above the text area) to add dynamic placeholders. When the email is sent, each variable is replaced with the real data from the booking.

Available variables

Variables are dynamic placeholders that get replaced with real booking data when the email is sent. Click the { } Insert variable button to browse them, or type them directly using the {{variable_name}} format.

You can search variables by name using the search field at the top of the variable selector.

Guest variables

  • {{guest_first_name}} β€” Guest's first name (e.g., "John")
  • {{guest_last_name}} β€” Guest's last name (e.g., "Smith")
  • {{guest_full_name}} β€” Guest's full name (e.g., "John Smith")
  • {{guest_count}} β€” Number of guests / adults (e.g., "2")

Host variables

  • {{host_first_name}} β€” Your first name (e.g., "Sarah")
  • {{host_full_name}} β€” Your full name (e.g., "Sarah Johnson")

Date variables

  • {{arrival_date}} β€” Check-in date in DD/MM/YYYY format (e.g., "15/03/2026")
  • {{departure_date}} β€” Check-out date (e.g., "18/03/2026")
  • {{number_of_nights}} β€” Number of nights (e.g., "3")
  • {{arrival_day_name}} β€” Day of the week of arrival (e.g., "Friday")
  • {{arrival_month_name}} β€” Month of arrival (e.g., "March")

Time variables

  • {{check_in_time}} β€” Check-in time in HH:MM format (e.g., "15:30")
  • {{check_out_time}} β€” Check-out time (e.g., "10:00")

Property variables

  • {{property_name}} β€” Property name (e.g., "Cozy Paris Apartment")
  • {{property_address}} β€” Full address (e.g., "123 Rue de la Paix, 75000 Paris")
  • {{welcome_guide_url}} β€” Direct link to the property's welcome guide

Booking variables

  • {{booking_channel}} β€” Booking platform (e.g., "Airbnb")
  • {{reservation_number}} β€” Booking reference number
  • {{booking_amount}} β€” Total amount (e.g., "450.00")
  • {{currency}} β€” Currency code (e.g., "EUR")
  • {{nuki_code}} β€” Guest's Nuki keypad code (if you're using a Nuki integration)

Conditions: control when emails are sent

Below the message body, you'll find the Conditions section. Conditions let you fine-tune exactly which bookings trigger this email. Here's each condition explained:

Source platforms

Filter by the platform the booking came from.

  • All platforms (default) β€” sends for all bookings regardless of platform
  • Airbnb β€” only Airbnb bookings
  • Booking.com β€” only Booking.com bookings
  • Direct booking β€” only direct/manual bookings

You can select multiple platforms. For example, select both "Airbnb" and "Booking.com" to cover OTA bookings but exclude direct ones.

When to use it: If you send different check-in instructions depending on the platform (for instance, Airbnb guests get a slightly different message than Booking.com guests), create two separate templates with different source platform filters.

Minimum stay (nights)

Only send the email if the guest is staying at least this many nights.

When to use it: You might want to send a special welcome email with extra tips for long stays (e.g., only for guests staying 7+ nights), or skip a detailed check-in reminder for one-night stays where the email would arrive too late.

Booking status

Only send the email if the booking has this status. Options:

  • Confirmed (default) β€” only confirmed bookings
  • Pending β€” only pending bookings
  • Cancelled β€” only cancelled bookings
  • Unavailable β€” only when the dates are blocked

When to use it: In most cases, you want to keep this set to "Confirmed" so you only message guests with firm reservations. But you could create a specific template for cancelled bookings to send a follow-up or ask for feedback.

Max send window (hours)

If the email is running late (for example, because the booking was imported after the trigger time already passed), this setting controls how late is too late. If the email would be sent more than this many hours after the intended time, it's skipped entirely.

  • Default: 24 hours
  • Range: 1 to 72 hours

When to use it: If you import a batch of past bookings and don't want guests to receive a "check-in reminder" for a stay that already started 3 days ago, a 24-hour window prevents that from happening.

Conditions section of the template editor showing source platforms, minimum stay, booking status, max send window, and booking info conditions with Nuki code filter
The Conditions section β€” filter emails by platform, minimum stay, booking status, max send window, and custom booking info conditions

Booking info conditions (advanced)

These let you add custom rules based on specific booking information. Click "Add condition" to create one. Each condition has three parts:

1. Info type β€” what data to check:

  • Nuki code β€” checks whether a Nuki keypad code has been generated for this guest
  • Check-in detected β€” checks whether the guest's physical arrival has been detected (via smart lock usage)

2. Operator β€” how to check it:

  • Exists β€” the data is present (e.g., the guest has a Nuki code)
  • Does not exist β€” the data is absent (e.g., the guest doesn't have a Nuki code yet)
  • Equals β€” the data matches a specific value you enter
  • Does not equal β€” the data doesn't match a specific value

3. Value (only for "Equals" and "Does not equal") β€” the value to compare against.

If no conditions are set, you'll see: "No conditions β€” message will always be sent."

Practical examples:

  • "Nuki code" + "Exists" β€” Send this email only if the guest has been assigned a keypad code. Perfect for a template containing {{nuki_code}} so you don't send an email with an empty code.
  • "Nuki code" + "Does not exist" β€” Send only if there's no code yet. Useful for an alternative email giving different access instructions (e.g., lockbox location).
  • "Check-in detected" + "Exists" β€” Send only after the guest's physical arrival is detected by the smart lock. Great for a "welcome, you've arrived!" message.

You can add multiple conditions β€” all must be met for the email to send. Remove a condition by clicking the X button next to it.

Active toggle

At the bottom of the editor, the Active switch lets you enable or disable a template. When turned off, the template won't trigger for new bookings but is kept so you can reactivate it later.

Multilingual templates: send messages in your guest's language

One of the most powerful features of Nowistay's automated emails is built-in multilingual support. Instead of creating separate templates for each language, you can add language variations directly within a single template. When the email is sent, Nowistay automatically detects the guest's language from their booking profile and sends the matching version.

How it works

Each template has a default language β€” this is the main version you write first (typically the language most of your guests speak). You can then add translations for up to 15 supported languages including English, French, Spanish, German, Italian, Portuguese, Dutch, Japanese, Korean, Chinese, Arabic, Hindi, Bengali, Turkish, and Russian.

When a message is scheduled for a guest:

  1. Nowistay checks the guest's language from their booking profile (detected from the platform they booked on)
  2. If a translation exists in that language, the guest receives the localized version
  3. If no translation exists for their language, the guest receives the default language version

This means you don't need to worry about every language β€” just add translations for the ones that matter most to your guests, and the default version covers everyone else.

Adding a language variation

To add a new language to a template:

  1. Open the template in the editor
  2. You'll see a language tab at the top showing your default language (e.g., "EN")
  3. Click the "+" button next to the language tabs to add a new language
  4. Select the language you want from the dropdown (e.g., French, Spanish, German)
  5. A new tab appears β€” click on it to switch to that language
  6. Write the subject and message body in the selected language
  7. Click Save

You can switch between language tabs at any time to edit each version independently. Each language variation has its own subject line and message body, but shares the same trigger event, timing, conditions, and properties.

Generate translations with AI

Don't want to translate manually? Nowistay can translate your template using AI. When editing a language variation:

  1. Switch to the language tab you want to translate into
  2. Click the "Translate from default" button
  3. The AI translates your default language content into the selected language, preserving all {{variables}} exactly as they are
  4. Review the translation and make any adjustments you'd like

The AI translation is smart enough to produce natural, contextually appropriate messages β€” not word-for-word literal translations. It also handles all dynamic variables correctly, so {{guest_first_name}} or {{property_address}} will still be replaced with the right values when the email is sent.

Removing a language

To remove a language variation you no longer need, switch to that language tab and click the remove button. The default language cannot be removed.

Tips for multilingual templates

  • Start with your default language β€” write the most complete version first, then translate from there
  • Use AI translation as a starting point β€” generate the translation, then refine the tone and phrasing to match your style
  • Focus on your top languages β€” check your booking history to see which languages your guests speak most, and prioritize those
  • Keep variables consistent β€” all language versions use the same {{variables}}, so they work identically regardless of language
  • The default is your safety net β€” any guest whose language isn't covered will receive the default version, so make sure it's well-written and universally understandable

Step 6: Preview and test your emails

Before going live, you can preview exactly what your guest will see and even send a real test email.

  1. In the templates panel, find the template you want to test
  2. Click the eye icon (Preview) on the right side of the template card
  3. The "Message Preview" dialog opens
  4. Select a recent booking from the "Select a booking" dropdown β€” it shows bookings from the last 7 days with the guest name, arrival date, and status
  5. Click "Preview" to see the resolved email

The preview shows:

  • Subject β€” with all variables replaced by real data (e.g., "Welcome to Villa Sunset, John!")
  • Message β€” the full email body with actual values

Check eligibility

The system also checks whether this email would actually be sent for the selected booking. If it wouldn't, you'll see a reason explaining why:

  • "This message template is disabled" β€” the template's Active switch is turned off
  • "This booking's platform does not match" β€” the booking is from a platform not included in the Source platforms condition
  • "This booking's stay is shorter than the minimum required" β€” the stay is too short for the minimum stay condition
  • "This booking's status does not match" β€” the booking status doesn't match
  • "This booking does not meet the template's conditions" β€” one or more advanced conditions are not met

This makes it easy to debug why a particular guest didn't receive an email.

Send a test email

If the email is eligible, you'll see a "Send now" button with a warning: "This will send a real message to the guest through their booking platform."

Click "Send now" and confirm to send the email immediately for that booking. The button changes to "Message sent!" once delivered. This is useful for testing or for manually sending a message to a specific guest.

Message Preview dialog showing a real booking preview with resolved subject line, full message content, and Send now button
The Preview dialog β€” select a booking, preview the resolved email, and optionally send it immediately

Manage your templates

Back in the templates panel, you have several ways to organize your templates:

Reorder templates

Templates are grouped by trigger event (Booking Confirmed in green, Check-in in blue, Check-out in orange). Within each group, drag the handle on the left side of any template to reorder. If multiple templates match a booking, they send in this order.

Toggle on/off

Each template card has an on/off switch on the right side. Inactive templates appear with a dashed border and muted background so you can easily spot them. Turning a template off keeps it saved β€” you won't lose your work.

Filter by property

Use the "Filter by property" dropdown at the top of the panel to see only templates that apply to a specific property, or choose "All templates" to see everything.

Delete a template

Click the trash icon on any template card. You'll be asked to confirm: "Are you sure you want to delete this message template?"

Monitor sent and scheduled emails

Click the clock icon at the bottom-right of the templates panel to open the "Scheduled Messages" view. This shows you every email that's been sent or is waiting to be sent.

  1. Select a property from the dropdown
  2. Filter by status:
    • Pending β€” scheduled emails, sorted by closest send date
    • Sent β€” already delivered emails, sorted by most recent

Each message shows:

  • The email subject
  • A color-coded tag by event (green for Booking Confirmed, blue for Check-in, orange for Check-out)
  • The guest's name
  • The scheduled send time in the property's timezone

The list loads 20 messages at a time and loads more as you scroll down.

Scheduled Messages view showing pending emails with color-coded trigger tags, guest names, and scheduled send times
The Scheduled Messages view β€” monitor all pending and sent emails for each property

Tips for great automated emails

  • Keep it personal β€” Use variables like {{guest_first_name}} and {{property_name}} to make the email feel warm, not robotic
  • Time it right β€” A reminder 24 hours before check-in gives guests time to prepare. A thank-you at check-out leaves a lasting impression
  • Include your welcome guide β€” Use {{welcome_guide_url}} so your guests have everything they need in one link
  • Use conditions smartly β€” If you use a Nuki smart lock, create one template with the "Nuki code exists" condition that includes {{nuki_code}}, and a separate template with "Nuki code does not exist" that gives alternative access instructions
  • Go multilingual β€” Add translations for the languages your guests speak most. Even just adding French and Spanish covers a huge portion of international travelers
  • Start with AI, then refine β€” Let the AI generate your first templates and translations, then tweak the tone and details to match your style
  • Check the preview β€” Always preview a template with a real booking before going live to verify variables are replaced correctly

Need help?

If you have any questions about setting up your automated emails, our team is here to help.

Ready to Put Your Rental on Autopilot?

Join 300+ property managers who save hours every week with AI-powered guest communication.