Triggers
Set up automated actions triggered by guest events — send messages, update rooms, or create tasks on check-in or checkout.
Triggers are event-driven automations that respond instantly to guest lifecycle events. Unlike scheduled jobs that run at specific times, triggers fire when something happens—a booking is created, a guest checks in, or a document is uploaded.
Overview
Requirements
Before setting up, ensure your HelloShift subscription includes:
Guest+ plan (for all triggers)
Staff+ plan (for room/cleaning triggers)
Accessing Triggers
Go to Automation > Triggers
View all triggers with their status
Click New Trigger to create a custom trigger

Understanding Triggers
How Triggers Work
Event Occurs: Guest checks in, booking created, etc.
Condition Evaluated: Does the guest match the filter?
Delay Applied: Wait specified seconds (if any)
Action Executed: Send message, issue key, update room, create checklist or task
Trigger Components
Available Events
Triggers can respond to these guest lifecycle events:
Booking Events
Check-in/Check-out Events
Pre-Check-in Events
Available Conditions
Add conditions to control when triggers execute:
Guest Status Conditions
Pre-Check-in Conditions
Custom Conditions
Write custom logic using Liquid templates:
Note: Custom conditions require the custom_automation feature flag.
Available Actions
Key Management Actions
Guest Communication Actions
Housekeeping Task Actions
Room Status Actions
Checklist & Task Creation Actions
Triggers can create staff work — not just send messages. Pick a checklist or task template, and HelloShift generates the work for the guest's room the moment the event fires.
Setting it up:
Go to Automation > Triggers and click New Trigger
Choose the Event (e.g., Guest Checked Out, Guest Checked In, Guest Booking Confirmed)
Under Action, select Create Checklist or Create Task
Pick the checklist or task template in the dropdown that appears
Optionally add a condition or delay, then save

How generated checklists and tasks behave:
Room-tagged and guest-linked: Items are tagged with the stay's room and linked to the guest, so they appear on the room page and the guest profile.
One per room: Multi-room reservations get one checklist or task per room.
Room resolved when the trigger fires: If no room is assigned yet (e.g., a booking confirmed before room assignment), nothing is created.
No duplicates: If your PMS re-sends the same event — or a scheduled Room Job already generated the same checklist or task for that room today — no second copy is created. Deduplication is per room, so reservations with several guests still get exactly one copy per room.
Checklist skip threshold: If the room's recent copies of the same checklist are all still incomplete, a new one is skipped — the same rule scheduled checklist generation uses.
Safe template handling: If the selected template is later deleted or archived, the trigger deactivates itself and warns once instead of failing silently.
Note: The Create Checklist action is available on the Staff plan.
The same two actions are also available as scheduled Room Jobs (GUESTS > Jobs > Room > New Room Automation). Use a Trigger when the work should follow a PMS event; use a Room Job when it should be generated at a set time from reservation dates — for example, a checklist for every guest departing today, whether or not the PMS has checked them out.
Creating a Trigger
Step 1: Click New Trigger
Go to Automation > Triggers
Click New Trigger
Step 2: Configure the Trigger
Step 3: Save and Activate
Click Create Trigger
Toggle the trigger On to activate

System Triggers
HelloShift creates these default triggers for common workflows:
Post-Booking-Message
Purpose: Send booking confirmation shortly after reservation is created.
Post-Checkin-Message
Purpose: Welcome guests after they check in.
Post-Checkout-Message
Purpose: Thank guests and request reviews after checkout.
Post-Booking-Key
Purpose: Immediately issue keys for walk-in guests booked after check-in time.
Post-Cancel-Key
Purpose: Revoke access for cancelled bookings if guest was in-house.
Post-Checkout-Room
Purpose: Alert housekeeping when guests check out.
Common Trigger Examples
Walk-in Key Issue
Issue keys immediately for same-day bookings:
Welcome After Check-in
Send welcome message 30 minutes after check-in:
Mark Room Dirty on Checkout
Update room status when guest checks out:
Revoke Key on Cancel
Remove access when booking is cancelled:
Assign Cleaner on Checkout
Assign default cleaner when guest leaves:
Issue Key After Payment
Issue key once pre-check-in payment is received:
Confirmation After Pre-Checkin
Confirm when all pre-check-in steps complete:
Checklist on Checkout
Generate a cleaning checklist for each departing room:
Custom Conditions with Liquid
For advanced filtering, use custom Liquid conditions.
How Custom Conditions Work
Write a Liquid template
Template must return
trueorfalseTrigger fires only if template returns
true
Available Variables
Access guest and stay information through the guest_stay object:
Example: VIP Guests Only
{% if guest.guest_type contains 'VIP' %}true{% else %}false{% endif %}Example: Direct Bookings Only
{% if stay.booking_source == 'Direct' %}true{% else %}false{% endif %}Example: Long Stays (7+ nights)
{% assign nights = guest_stay.nights | plus: 0 %}{% if nights >= 7 %}true{% else %}false{% endif %}Example: Exclude OTA Guests
{% unless stay.booking_source contains 'Expedia' or stay.booking_source contains 'Booking.com' %}true{% else %}false{% endunless %}Managing Triggers
Enabling/Disabling
Find the trigger in the list
Click the toggle to switch On or Off
Change takes effect immediately
Editing a Trigger
Click Edit on the trigger
Modify settings as needed
Click Update Trigger
Note: For system triggers, Event and Action cannot be changed.
Deleting a Trigger
Click Delete on the trigger
Confirm deletion
Note: System triggers cannot be deleted, only deactivated.
Viewing Trigger History
The "Last Run" column shows when each trigger last executed.
Delay Settings
How Delays Work
Delay is in seconds
Trigger waits before executing action
Delay starts when event occurs
Common Delay Values
Why Use Delays
Natural Feel: Instant messages feel automated
Processing Time: Allow PMS data to sync
Staff Response: Give staff time to intervene
Batch Prevention: Avoid rapid-fire messages
Best Practices
Trigger Naming
Use consistent naming conventions:
Post-Booking-Message- After booking is createdPost-Checkin-Welcome- After guest checks inPost-Checkout-Review- After guest leavesCancel-Key-Revoke- When booking cancelled
Delay Recommendations
Testing Triggers
Keep trigger Inactive initially
Create a test booking
Manually activate and verify behavior
Enable for production use
Avoiding Conflicts
Don't create duplicate triggers for same event
Check existing system triggers before creating new ones
Use conditions to prevent overlapping execution
Triggers vs Scheduled Jobs
Use Triggers for:
Immediate responses to guest actions
Key management on booking/checkout
Room status updates on check-in/out
Use Scheduled Jobs for:
Pre-arrival messages (day before)
Mid-stay check-ins (morning of day 2)
Post-stay review requests (day after)
Date-based checklists and tasks — e.g., create a checklist every morning for each guest departing today, independent of PMS checkout events
Checklist and task creation exists on both sides: the same Create Checklist and Create Task actions are available as event-driven Triggers and as scheduled Room Jobs. If both cover the same room and template on the same day, only one copy is created.
Troubleshooting
Trigger not firing
Possible Causes:
Trigger is inactive (Off)
Condition doesn't match guest
Event not occurring (PMS sync issue)
Solutions:
Verify trigger is active
Check condition matches expected guests
Verify PMS is syncing properly
Wrong message sent
Possible Causes:
Wrong action selected
Snippet content incorrect
Wrong trigger activated
Solutions:
Verify action matches intent
Check snippet content
Review active triggers for conflicts
Delay not working
Possible Causes:
Delay set to 0
Background job queue delayed
Trigger deactivated during delay
Solutions:
Verify delay value in seconds
Check job queue health
Ensure trigger stays active
Key not issued
Possible Causes:
Smart lock not configured
Room not mapped to lock
Condition blocked execution
Solutions:
Verify smart lock integration
Check room has lock assigned
Review condition requirements
Multiple messages sent
Possible Causes:
Multiple triggers for same event
Trigger and scheduled job overlap
Duplicate booking events
Solutions:
Review all active triggers
Check scheduled jobs for conflicts
Investigate PMS for duplicate events
Related Articles
Guest Automations - Scheduled message automations
Snippets & Templates - Create message templates
Contactless Check-in Setup - Pre-check-in configuration
Smart Lock Integration - Key automation setup