Overview
Scheduled messages fire automatically based on a reservation milestone — when a booking is confirmed, before or after check-in, before or after checkout, or on a weekly recurring cadence during the stay. Use them to deliver Wi-Fi and entry info without lifting a finger.
Triggers
Every scheduled message is built on one of four triggers:
- Booking confirmed — sent after a booking is confirmed; thanks the guest and confirms dates
- Check-in — anchored to the check-in moment; you can offset it (e.g., 24 hours before, or the morning of) to deliver directions, parking, door code, and Wi-Fi
- Checkout — anchored to checkout; offset it before checkout for checkout-time reminders, or after for a thank-you and review nudge
- Recurring weekly — fires on a chosen day of the week during the stay, for longer bookings
Timing
For check-in and checkout triggers, choose whether the message goes out before, on the day of, or after the milestone, then set the offset (for example, 3 days before check-in or 2 hours after checkout). Recurring weekly messages use a day of the week and time of day.
Setting up a scheduled message
Open Scheduled Messages from the side menu. Click + New scheduled message:
- Trigger — pick one of the four milestones (booking confirmed, check-in, checkout, recurring weekly)
- Timing — set the direction (before / day-of / after) and offset
- Audience — choose which listings it applies to, and optionally limit by stay length using minimum and maximum nights
- Message — write the body, using variables like
{guest_first_name},{check_in_time},{door_code},{smart_door_code}, and{guidebook_link}
Variables
Variables are inserted from listing and reservation data and use single braces, e.g. {guest_first_name}. Available variables include guest names, check-in/checkout dates and times, number of nights, listing name and address, the door code and smart-lock code, and the guidebook share link ({guidebook_link}), which auto-resolves to the right URL for the guest.
Pause and skip
You can pause a scheduled message globally so it stops firing for new reservations, or skip it on a specific reservation if a guest's situation is unusual.
What's next?
- Saved Replies - For ad-hoc responses on top of automated messages
- Setting Up AI Autopilot - For replying to inbound messages