[[Category:Troubleshooting]]
[[Category:Automation]]
[[Category:Webhooks]]<div class="heading">Auto Actions</div> ''This page is about the menu {{#fas:cog}} (SETTINGS -> ) GUEST MANAGEMENT -> AUTO ACTIONS''and explains how to set up and use Auto Actions.
An Auto Action is an action which can be programmed to occur at a time relative to the time the booking was made, to the check in date or to the check out date. To use this function you need to set the system to use you own Email address for sending in SETTINGS->ACCOUNT->OUTGOING EMAIL.
The auto actions will appear on the 'Mail & Actions' tab of each booking where you manually can send the email trigger the changes to the booking. If you are using your own mail server for outgoing mail the Booking and Invoice actions will also be applied before sending the mail.
Note<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span> Confirmation messages will send automatically to the guest. You can customize them in SETTINGS ->GUEST MANAGEMENT->CONFIRMATION MESSAGES.
Email sending works per account.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} Note: </span>If you have sub accounts and need an auto action to be used across multiple accounts/properties, then create the auto action at the Master Account Level and set Property = 'All visible in account' and ensure the Master account has access to the properties.
'''Auto sending:'''
You can automatically send SMS messages. Please note that a fee per SMS message applies if this function is activated.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} NOTE: </span> The SMS will send in the language of the account, not the language of the booking. Read Example 17 for a way to control the language of the SMS.
== Booking ==
== Test ==
Test why an auto action did not trigger.
== Troubleshooting ==
'''If Auto Actions do not send:'''
The list in the "Mail" tab of the booking will tell you why. Common causes are:
*Is your outgoing Email address working? Go to SETTINGS->ACCOUNT->OUTGOING EMAIL and click on "Send Test Email".
*Is your Auto Action set to send automatically?
*Is the guests Email address valid ("Mails" tab of the booking)?
*Is the booking set to allow Allow Auto Actions ("Mails" tab of the booking)?
*Do all trigger events apply to the booking?
'''Auto Action is not editable'''
To have write access to an auto action an account needs to have write access to all properties to which the auto action applies. This might not be the case if you use sub accounts and the Auto Action is set to trigger for "All Properties".
'''You don't have permission to access control2.php on this server''' error message, when the save button is clicked
It is most likely something in your content triggering the firewall.
Try adding the content bit by bit until you find the item causing the problem.
Often it is a script or HTML item that appears to the firewall as a possible hacking attack.
It can also be something that looks innocent like a combination of numbers and words like "and" or "or" that hackers often use in sql injection attacks.
Once you find the item causing the problem, try rewording it.
== Examples ==
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" > ===Automatically change the status of all "Request" bookings to "Cancelled" after three days ===</div><div class="mw-collapsible-content">
Trigger tab
*Trigger Event = After Booking
*Execution = One time only
*Booking Status = Cancelled
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" > ===Automatically change the status of all bookings which have been imported from Ical to "Request"===</div><div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
Booking changes are applied before the mail is sent.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically set a flag/colour for a booking coming from a certain channel===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the email.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically send an Email to the guest when the status of a booking changes to "Cancelled"===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
*Send Email = Guest
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} Note: </span> If you are using deposit collection make sure you set SETTINGS->PAYMENTS->PAYMENT COLLECTION "Non Payment Booking Status" = Request. </div></div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically change the status of all upcoming direct bookings to "Cancelled" and send an Email to the guest ===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
*Trigger Action = Auto
*Send Email = Guest
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically add a fee to all bookings from a channel===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
The fee will be added the next time the auto actions run.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Add a pending payment===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking or Before Check-in
*Payment Rule = use auto or manual - if you have set up payment rules in SETTINGS->GUEST MANAGEMENT->PAYMENT COLLECTION they will be available here
*Payment Due = Set when the payment is due
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" > ===Example: Credit card is collected at time of booking and full payment is due 3 days prior to arrival.===</div><div class="mw-collapsible-content">
Trigger tab:
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} Note: </span> Automatic collection is only available for customer who use [[Stripe]].</div></div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" > ===Example: Credit card is collected at time of booking and you want to 'Capture' a Security Deposit.===</div><div class="mw-collapsible-content">
Trigger tab:
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} Note: </span> Automatic collection is only available for customer who use [[Stripe]].
Create a Payment Rule to 'Capture' a payment only. Captured payments will only be valid for 7 days, then it will expire, if the booking is for a longer period, then you can create a second Capture, you will need to create another auto action for this.
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag when a payment was made===
</div><div class="mw-collapsible-content"><span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span> Also see Example :- " Apply a flag when deposit was made prior to Check-in AND/OR Apply a flag when booking is fully paid".
Trigger tab:
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag when a payment FAILS at Stripe===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Flag Text = Stripe Payment Failed
*Flag Colour - choose the flag colour
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag to Booking.com bookings and auto report the Credit Card when a payment FAILS at Stripe===
</div>
<div class="mw-collapsible-content">
Go to Settings > Channel Manager > Preferences and set Auto report failed cards = Yes
*Flag Text = Failed CC reported to Booking.com
*Flag Colour - choose the flag colour
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply an info code and and/or icon when a payment was made===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Execution = One time only
*Info Code = Enter the preset code for the icon or info code which you have created in SETTINGS->ACCOUNT->PREFERENCES.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag when a booking is cancelled===
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = After Booking
*Flag text = (enter the text you require)
*Flag Colour = Set as required
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send an message or SMS to Guest when booking made more than 10 days in advance===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
Message tab or SMS tab:
*Update details as appropriate
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" >
===Send an message or SMS to Guest when booking made more than 7 days in advance===
</div>
<div class="mw-collapsible-content">
Alternatively you an use Between Booking and Check in
Message tab or SMS tab:
*Update details as appropriate
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send an message or SMS to Guest when booking made more last minute booking - 6 days or less===
</div><div class="mw-collapsible-content">
Trigger tab:
Message tab or SMS tab:
*Update details as appropriate
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send an Email with a key code for a specific unit one day before check-in===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
The template variables will only work if you have entered text in SETTINGS->PROPERTIES->ROOMS->SET UP "Unit Names". The context help for this setting will explain how to do this.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send an Email to the guest when a payment is made===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 365 day
*Booking Status = All not cancelled
*Invoice Balance = Any Payment made OR Invoice Balance = Zero (payment in full)
Message tab:
*Enter your text.
You can use Invoice Template variables showing the booking charges/payments.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send an Email to guests from Channels===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
The template variables will only work if you have entered text in SETTINGS->PROPERTIES->ROOMS->SET UP "Unit Names". The context help for this setting will explain how to do this.
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" >
===Automatically set a flag for a bookings from a channel which have breakfast included===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically send a message (Email or sms) to guests that have Checked-out 30 days or more===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Check-out
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" >
===Automatically send a Request for payment to your guests for all bookings===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically send a Request for payment to your guests XX days before arrival===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically send a Request for payment to your guests XX days after booking===
</div>
<div class="mw-collapsible-content">
You allow your guests to make X number of payments for their booking.
You will need to manually add a Booking Info Code to each booking that you have agreed to allow X payments.
'''Create Auto action 1Action one'''
Trigger tab:
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
'''Create a new additional Auto Action Actions for each period you want to trigger'''
'''Create Auto Action 2 (and 3, 4, 5 - how may you need) '''
*Trigger Time = +14 days (days you want to collect the payments)
*Trigger Window = 1 day
*Go to SETTINGS -> ACCOUNT -> PREFERENCES -> BOOKINGS -> Booking Info Code Values and enter MULTIPLE (or the value you want to use to trigger) '''Setup booking info code'''
Then open the booking, go Go to SETTINGS -> ACCOUNT -> PREFERENCES -> BOOKINGS -> Booking Info Tab Code Values and from the drop down list, select the value 'enter MULTIPLE' (or the value you want to use to trigger)
'''Update Booking to allow Multiple payments'''
*Open the booking
**Go to Booking Info Tab and from the drop down list
**Select the value 'MULTIPLE' (or the value you want to use to trigger)
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag when deposit was made prior to Check-in===
</div>
<div class="mw-collapsible-content">
Trigger tab:
Setting details with the Booking tab and Booking info tab allows you to trigger additional (follow on) Auto Actions and Reports.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Apply a flag when booking is fully paid===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send Email in a the guests language to an internal Email address ===
</div>
<div class="mw-collapsible-content">
This uses a smart template variable. In this example we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.
Email tab:
*Enter the message in the appropriate language under your default language.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send SMS in a certain language (if it is the language of the booking) or a default language===
</div>
<div class="mw-collapsible-content">
This uses a smart template variable. In this example we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.
*Phone Number = [GUESTMOBILE]
*SMS Message = [IF=:[GUESTLANGUAGE]:fr:French_text|English_text]
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Automatically assign invoice numbers===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-out
Invoice tab:
*Assign Invoice Number = yes
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Group check-in ===
</div>
<div class="mw-collapsible-content">
This requires the master booking to be checked-in via the check-in function.
Booking info tab :
*Info Code = CHECKIN
</div>
</div>
<div class="mw-collapsible mw-collapsed"><div class="headline-collapse" >
===Send Remotelock/Lockstate PIN ===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
*EMail Subject = Your access code (your text)
*Email Text = Your text which includes the template variable [BOOKINGINFOCODETEXT:LOCKSTATE_PIN]
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Send Email to all current guest ===
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Check-in
*Email Text = Your text which includes the details for your current guests.
It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkin to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings. </div></div> <div class="mw-collapsible mw-collapsed"><div class="headline-collapse" > ===Send Email with a PDF attachment===</div><div class="mw-collapsible-content"> You can send Invoice or Booking Template attachments to your Guests. Setup your Invoice or Booking Template, go to SETTINGS -> GUEST MANAGEMENT -> INVOICING or SETTINGS -> GUEST MANAGEMENT -> BOOKING TEMPLATES
Trigger tab:
*Trigger Event = Checkout
*Trigger Time = Immediate
*Trigger Window = 1
*Booking Source = All (or select the appropriate channel/Direct)
*Booking Status = All but not cancelled
*Group bookings = Trigger all on master
*Any Booking Info Code = CHECKOUT
Message tab:
*Send Email = Guest API/Smart Email (or one of the other options)
*Attachment = Select an option from the drop down list.
*EMail Subject = Enter the appropriate details
*Email Text = Your text which includes the details for your current guests.
It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkout to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.
If you send Emails with pdf attachment (invoice, booking template) to Alias-Email addresses created by channels the channel might block the attachment so it is not delivered to the guest. Ask your channel about their policy regarding this.
Other files can not be attached. We recommend you use a link to a file you upload to your web site.
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Add CHECKIN Booking info code to bookings ===
</div>
<div class="mw-collapsible-content">
If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.
*Booking Info Code = CHECKIN
*Booking Info Text = Auto Checkin
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Add CHECKOUT Booking info code to bookings ===
</div>
<div class="mw-collapsible-content">
If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.
*Booking Info Code = CHECKOUT
*Booking Info Text = Auto Checkout
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Use API/Webhook to write to the field 'Message'===
</div>
<div class="mw-collapsible-content">
You can use a webhook in conjunction with the API JSON function '''setBooking''' to write to any field in the booking. First you have to configure access to the API:
You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br>
'''API key:'''<br> Settings *SETTINGS -> Account ACCOUNT -> Account Access ACCOUNT-> ACCESS "API Key 1:<br>" *API Key = my_very_secret_api_key *API Key Access = allow any IP *IP Whitelist = [leave empty] *Allow Writes = Yes *Property Access = Owned by this account only<br> *'''Property key:'''<br> *Settings > Properties > Access > propKey = secret_key_for_prop_XXXXXX
Set the triggers you need, for example:
* Booking Field Contains: Message = XXX
Set the webhook like this:
* URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
* Custom Header = [leave empty]
* Body Data =:
:{
::"authentication":
::"message": "[MESSAGE] - Append this message"
:}
</div>
</div>
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
===Use API/Webhook to write the value of the 'commission' field to a new invoice item===
</div><div class="mw-collapsible-content">
You can create a new invoice item that contains the price of the channel's commission as a negative value to subtract it from the room price. You use the API JSON function '''setBooking''' for this. First you need to configure access to the API:
You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br> '''API key:'''<br> Settings *SETTINGS -> Account ACCOUNT -> Account Access ACCOUNT-> ACCESS "API Key 1:<br>" *API Key = my_very_secret_api_key *API Key Access = allow any IP *IP Whitelist = [leave empty] *Allow Writes = Yes *Property Access = Owned by this account only<br> *'''Property key:'''<br> *Settings > Properties > Access > propKey = secret_key_for_prop_XXXXXX
Set the triggers you need, for example:
*Booking Source = Booking.com
Set the webhook like this:
*URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
*Custom Header = [leave empty]
::]
:}
</div>== Troubleshooting == '''If Auto Actions do not send:''' The list in the "Mail" tab of the booking will tell you why. Common causes are: *Is your outgoing Email address working? Go to SETTINGS->ACCOUNT-</div>OUTGOING EMAIL and click on "Send Test Email". *Is your Auto Action set to send automatically? *Is the guests Email address valid ("Mails" tab of the booking)? *Is the booking set to allow Allow Auto Actions ("Mails" tab of the booking)? *Do all trigger events apply to the booking? '''Auto Action is not editable''' To have write access to an auto action an account needs to have write access to all properties to which the auto action applies. This might not be the case if you use sub accounts and the Auto Action is set to trigger for "All Properties". '''You don't have permission to access control2.php on this server''' error message, when the save button is clicked It is most likely something in your content triggering the firewall. Try adding the content bit by bit until you find the item causing the problem. Often it is a script or HTML item that appears to the firewall as a possible hacking attack. It can also be something that looks innocent like a combination of numbers and words like "and" or "or" that hackers often use in sql injection attacks. Once you find the item causing the problem, try rewording it.