Triggers
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:
Contactless Checkin plan (for all triggers)
Housekeeping Management 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
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
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:
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)
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