For the complete documentation index, see llms.txt. This page is also available as Markdown.

Automations

Automations — Complete Guide

Automations in Guestway let you build powerful, rule-based workflows that run automatically across your entire portfolio. From sending a pre-check-in message three days before arrival to firing a webhook when a long-stay guest books, Automations handle it without you having to think about it.

This guide walks through everything: how Automations are structured, how to build one from scratch, every action type and condition category, and tips for getting the most out of the system.


How Automations Are Structured

Before diving in, it helps to understand the three-level hierarchy:

Automation — The top-level container. It has a name, a status (Draft / Testing / Live), and defines which properties it applies to.

Schedule — A named timing context inside an Automation. Each Schedule holds a group of related Actions and can have its own filters (length of stay, advance notice). One Automation can have multiple Schedules — for example, a "Short Stay" schedule and a "Long Stay" schedule running under the same Automation.

Action — The thing that actually happens. Each Action belongs to a Schedule and defines when it fires, what it does, and any conditions that must be met first.


Getting to Automations

Navigate to Settings → Organization → Automations. You'll see all your existing Automations displayed as cards, each showing:

  • Status badge: Draft, Testing, or Live

  • Whether it applies to All properties or specific listings/multi-units/complexes

  • Number of Schedules and Actions inside

  • Last updated timestamp

Click any card to open and edit it. To create a new one, use the Create button.


Creating an Automation — Step by Step

Step 1 — Name Your Automation

When you click Create, Guestway opens a new Automation editor pre-named "Untitled Automation". Click the name field at the top to give it something meaningful — for example, "Pre & Post-Stay Guest Messaging".

You'll notice a Draft badge in the top-left corner. Your Automation stays in Draft until you explicitly enable it, so you can build and configure everything without anything being sent.


Step 2 — Choose Your Target Properties

By default, a new Automation is set to All properties (global). This means it applies to every listing, multi-unit, and complex in your organization.

If you want to scope it to specific properties, toggle off "All properties" and pick from:

  • Listings — individual units

  • Multi-Units — grouped units under one roof

  • Complexes — property complexes

You can mix and match — for example, select three specific listings and one multi-unit.


Step 3 — Add a Schedule

Inside the Automation editor, click Add Schedule. A new Schedule card appears.

Give it a descriptive name — something like "Short Stays Only".

Schedule Filters let you narrow down which reservations this Schedule applies to:

Filter
Description

Length of stay

Only run actions for reservations matching a stay duration. Use operators like Equals, Greater than, Is between, etc.

Advance notice

Only run for reservations booked with a certain amount of notice before check-in.

Toggle "Any length of stay" or "Any advance notice" to disable the respective filter and apply to all reservations.

You can add multiple Schedules to one Automation. Each Schedule runs independently — useful when you want different action sets for different stay lengths without creating separate Automations.


Step 4 — Add Actions to a Schedule

Click into a Schedule to open the Schedule editor, then click Add Action.

Choose which anchor type this action is timed relative to:

Anchor
When it fires

Booking Confirmation

Relative to the moment a booking is confirmed

Check-in

Relative to the guest's check-in date/time

Check-out

Relative to the guest's check-out date/time

Event

Relative to a specific event

The vertical timeline at the top of the Schedule editor shows all your Actions in chronological order — giving you an instant visual of when each one fires.

Event-based triggers In addition to the time-based anchors above, an Action can fire from an event — something that happens on the reservation — with an optional delay afterwards. Use First room access to drive arrival, in-stay, and follow-up workflows from the guest's actual arrival rather than the scheduled check-in time.


Configuring an Action

When you click an Action from the timeline, a configuration panel slides in on the right. Here's what you can set:

Timing

Timing controls when the Action fires relative to its anchor:

  • Direction: Before, After, or On (at the exact moment of the anchor)

  • Value + Unit: e.g. 3 days, 2 hours, 30 minutes, 1 week

  • At a specific time: When using day(s) or week(s) offset, you can optionally pin the action to fire at a specific time of day — e.g. "3 days before check-in at 10:00 AM"

Note: Before is not available for Booking Confirmation (you can't send before a booking has happened). If you select Booking Confirmation, only After and On are offered.


Channel Filter

By default, an Action applies to All Channels. Use the Channel Filter to scope delivery to specific booking channels:

  • Include Only — only fire this Action for bookings from the selected channels

  • Exclude — fire for all channels except the ones selected


Action Type

Choose what the Action actually does. There are five types:

1. Guest Message

Sends a message to the guest. Configure:

  • Medium: SMS, Email, WhatsApp, or Channel Chat

  • Message body: Compose your message using plain text, or use template variables (e.g. {{guest.first_name}}, {{reservation.check_in_date}}) to personalize it automatically

Email-specific options:

Option
Description

Content mode

Simple Text — plain text email. Rich Text — WYSIWYG editor with formatting. HTML — write raw HTML with a full template variable panel.

Subject line

Optional custom email subject

CC / BCC

Add additional recipient addresses. Type an email and press Enter, comma, or semicolon to add.

Send as draft

Creates the message in the conversation as a draft instead of sending automatically — useful for review before sending

WhatsApp:

Select one of your pre-approved WhatsApp templates. A preview is shown so you can confirm the content before saving.

Channel Chat fallback:

When using Channel Chat as the medium, enable Fallback to Email so that if channel chat delivery fails (e.g. the channel doesn't support direct messaging), Guestway automatically retries via email.

Email fallback:

When the medium is Email, enable Fallback to booking channel so that if an email can't be delivered, the message is sent on the reservation's booking channel instead of failing silently.

WhatsApp fallback:

Similarly, enable Fallback to SMS for WhatsApp deliveries — if WhatsApp delivery fails, the message is sent via SMS instead.


2. Booker Message

Identical to Guest Message, but the message is sent only to the primary booker — the person who made the reservation, not every guest in the party. Useful for sending booking receipts, pre-arrival instructions, or post-stay reviews to the responsible party.


3. Conversation Notification

Triggers an action on the conversation thread in your Inbox, rather than sending an outbound message. Options:

Option
Description

Mark as Needs Reply

Bumps the conversation and flags it for your team to respond

Flag conversation

Marks the conversation for follow-up action

Add internal note

Posts a note inside the conversation thread — visible to your team only, not the guest

This is ideal for building internal workflows: e.g. post an internal note 1 day before check-in reminding your team to confirm the key handoff, or flag a conversation if a late checkout is detected.


4. Ad-hoc Email

Sends a custom email to any email address — not necessarily the guest. Configure:

  • To: One or more recipient email addresses (required)

  • CC / BCC: Optional additional recipients

  • Subject: Email subject line

  • Body: Email body with template variable support

Use this to notify your cleaning team, send a maintenance alert, or email a property owner — all triggered automatically based on reservation events.


5. Webhook

Sends an HTTP POST request to a URL of your choice when the action fires. Configure:

  • URL: The endpoint to call

Guestway sends the webhook with relevant reservation context. Use this to integrate with external tools, trigger Zapier/Make workflows, update a third-party system, or push data to your own backend.


Conditions

Conditions are rules that must evaluate to true for the Action to fire. If any condition fails, the Action is skipped for that reservation.

Add conditions from the Conditions section of the action panel. Each condition is structured as:

[Field] [Operator] [Value]

For example:

  • Reservation → Total Guests Greater than 4

  • Guest → Language Is French

  • Property → Tags Has any of "pet-friendly", "pool"

Condition Categories

Conditions are grouped into categories:

Category
What it covers

Guest

Guest profile data: language, satisfaction score, first-time guest, etc.

Review

Post-stay review data

Reservation

Stay details: total guests, nights, reservation status, total price, etc.

Booking

Booking-level data: booking source, booking date, etc.

Reservation – Custom Field

Custom fields defined on your reservations

Property

Property attributes: name, tags, type, etc.

Property – Custom Field

Custom fields defined on your properties

Listing

Listing-specific data

Multi-unit

Multi-unit specific data

Complex

Complex-level data

Amenity

Target messages by what the unit offers: e.g. only send pool rules where there's a pool.

Operators

The available operators depend on the field type:

Operator
Applies to

Is / Is not

Text, enum, boolean, ID fields

Greater than / Less than / ≥ / ≤

Numbers, dates

Is between

Numbers, dates (inclusive range)

Contains text / Doesn't contain text

Text fields

Starts with / Ends with

Text fields

Has any of / Has none of

Array/multi-value fields

Exists / Doesn't exist

Any field (checks for presence of a value)

You can add multiple conditions to a single Action. All conditions must be true for the Action to fire (AND logic).


Waiting Conditions

Waiting Conditions are a powerful advanced feature. Instead of skipping an Action when a condition isn't met, Waiting Conditions pause the Action and wait for the condition to become true — up to a configurable maximum wait time.

Example: You send a message that includes the guest's smart lock code ({{reservation_codes}}). You add a Waiting Condition: "Smart lock code has been generated". If the code isn't ready yet when the Action is scheduled to fire, Guestway waits — and sends the message as soon as the code is generated.

Configuring the Max Wait

When using Waiting Conditions, you must define a Max Wait Until — how long Guestway should wait before giving up:

Type
Description

Maximum wait time

Wait up to a fixed duration (e.g. 2 hours, 3 days)

Check-in

Wait until a certain time relative to check-in

Check-out

Wait until a certain time relative to check-out

Guestway will automatically suggest adding a "smart lock code generated" Waiting Condition when it detects {{reservation_codes}} in your message body. Accept the suggestion with one click.


Automation Statuses

Every Automation has one of three statuses:

Status
What it means

Draft

The Automation is saved but inactive. Nothing is sent. Use this while building and testing.

Testing

The Automation is active but fires internally only — actions are queued and logged but not actually delivered. Perfect for validating logic before going live.

Live

Fully active. Actions fire and are delivered to guests/systems as configured.

Toggle the status from the Automation editor using the Enabled toggle and the Testing Mode switch. The status badge at the top of the editor updates in real time.


Unsaved Changes

While editing an Automation, a small Unsaved changes indicator appears in the header whenever you have pending changes. Guestway also warns you if you try to leave with unsaved changes — offering you the option to Save & Continue or discard.

Always save before activating an Automation.


Managing Schedules and Actions

Duplicating

Both Schedules and Actions can be duplicated with a single click from their respective menus. Duplicating is useful when you want a near-identical action with a different timing or condition.

Deleting

Delete a Schedule or Action from the same menu. Deleting a Schedule removes all its Actions. This action is not undoable (unless you discard your changes before saving).


Tips & Best Practices

Start in Draft, graduate to Testing, then go Live. Build your Automation fully, test it against a few real reservations using Testing mode, then flip to Live with confidence.

Use Schedules to segment by stay length. Instead of stacking a single Schedule with conflicting conditions, create separate Schedules with Length-of-Stay filters — e.g. one for stays under 3 nights, one for 3–7 nights, and one for 7+ nights.

Name your Actions clearly. Action names appear in the vertical timeline. Descriptive names like "Pre-arrival SMS — 2 days before check-in" make it easy to scan the timeline at a glance.

Use Waiting Conditions for anything that depends on external data. Smart lock codes, manual reviews, or any field that might not be populated at booking time — Waiting Conditions ensure the message goes out only when it's ready.

Combine Channel Filter + Conditions for OTA-specific workflows. Use Channel Filter to target a specific channel, then add Conditions to further narrow based on reservation attributes. Example: send a Channel Chat message only to Airbnb bookings where the reservation is longer than 7 nights.

Use Ad-hoc Email for internal operations. The guest doesn't need to be in the loop for every event. Use Ad-hoc Email to notify your cleaning lead when a checkout is confirmed, or email your owner report when a booking is made for a specific property.

Template variables make every message feel personal. Guestway supports a rich set of template variables — guest name, check-in/check-out dates, property name, reservation codes, and more. Use them liberally to avoid generic-feeling messages.


Frequently Asked Questions

Can one Automation apply to some properties but not others? Yes. Toggle off "All properties" and select specific listings, multi-units, or complexes. You can mix types.

How do I send Static Lock codes to guests via Automation messages? To include a Static Lock code in an automated message, use the variable @reservation_codes in your message template. This variable works for both Smart Locks and Static Locks — it will include the relevant access code(s) associated with the reservation.

What happens if a condition is not met? The Action is skipped for that reservation. No message is sent, no webhook fires. Other Actions in the same Schedule are unaffected.

Can I have multiple Schedules in one Automation? Yes — and it's encouraged. Use multiple Schedules to handle different timing contexts or guest segments under a single Automation umbrella.

What's the difference between a Condition and a Waiting Condition? A Condition either passes or fails at the time the Action is scheduled to fire — if it fails, the Action is skipped. A Waiting Condition pauses the Action until the condition becomes true (or the max wait expires).

Can I send an email with CC and BCC? Yes. When using Email as the message medium for a Guest Message, expand the email options section to add CC and BCC addresses.

What is Testing mode? Testing mode lets you run your Automation as if it were live — actions are queued and processed — but nothing is actually delivered to guests or external systems. It's the safest way to validate your setup.

Can I use HTML in my email messages? Yes. Switch the email content type to HTML in the Action config panel. A template variable panel is available alongside the HTML editor so you can insert variables without remembering the syntax.


Conclusion

Automations can significantly streamline your business operations and simplify your workflow. However, setting up effective automation requires careful planning. Let's end this with a straightforward example: "Requesting a review based on guest satisfaction." This automation automatically solicits reviews from guests if they are deemed "happy" at the end of their stay. The strategy is to avoid asking reviews from "unhappy" guests to prevent lowering your review scores. By targeting satisfied guests, you maintain high scores, and the process is entirely automated. Isn't that convenient? Enjoy!

spinner

Last updated