Make
This page is about the menu (SETTINGS) APPS & INTEGRATIONS > INTEGROMAT and explains how to connect and what you can do with the connection.
To use this service you will need an account with Integromat.
For Beds24 the normal channel manger fees apply.
Contents
1 Capabilities
Within Integromat you can connect Beds24 to third party Apps and services. Beds24 will then send booking data to Integromat which will be passed on to the services you connected to
2 Limitations
3 Set Up
3.1 Beds24
- Set up an Auto Action (SETTINGS-GUEST MANAGEMENT-AUTO ACTIONS) which selects the bookings which will be sent to Integromat. Set "Trigger Action" = automatic.
- Select the Auto Action which you want to use for Integromat. The Auto Action must be created by the Account which owns the property, actions linked from other accounts cannot be used.
- Tick the rooms for which you want to send bookings. Only bookings from rooms enabled for Integromat and which meet the trigger conditions in the Auto Action will be sent.
- Create an apiKey of 16 or more characters and save it.
- Choose your send strategy, bookings can be sent continuously, repeatedly, once only or after each modification.
- A default set of booking information is sent to Integromat, this can be customized by specifying the fields you want to send, one per line at the setting "Data fields". See below for a set of all fields.
3.1.1 Send Strategy
The following options are available for the booking send strategy.
- Once only - send the booking once and never again, even if modified.
- Whenever modified - send bookings if they have been modified.
- Repeated - send bookings repeatedly with the last modified time of the booking.
- Continuously - send bookings repeatedly with the last modified time set to the current time. This will force Integromat to re-import the bookings with every read.
3.2 Integromat
- Create an Make account at Integromat.
- Search for the Beds24 App.
- Connect the Beds24 App to your scenario and enter the apiKey you created and the Beds24 Property Id.
- Select the trigger "watch bookings" and map the data into your scenario as you require.
- Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
- When prompted to "Choose where to start", select the "All" option.
3.2.1 Send template variables to Integromat
The advanced section of the Integromat connection form has eight template fields where you can enter Beds24 Template Variables.
The matching "template" data field must be specified in Beds24 as one of the Integromat data fields to enable the field. (template1 etc.).
The Template Variable will be calculated and it's value sent to Integromat with the booking.
Integromat provides list of developers who can help with integrations.
- Make sure the Integromat App Limit can process the maximum number of bookings you expect to be sent for each trigger, especially if you are sending the bookings one time only, more bookings than the limit value will not be processed.
4 How it works
In Integromat you create a scenario which automates tasks for you. A scenario is comprised of a series of modules that indicate how data should be transferred and transformed between Beds24 and other apps/services.
Bookings are sent from Beds24 to Integromat when the room is enabled and the booking meets the trigger condition in the selected auto action. If you have multiple properties enabled for Integromat and the auto action applies to their bookings, those bookings will also be sent. Bookings which were sent will appear in Integromat via the "watch bookings" trigger.
These bookings will then be automatically transferred from Integromat to the apps/services in your Integromat scenarios.
Integromat triggers the booking read when the scenario runs, they are not pushed from Beds24.
5 Data Fields
If the data fields setting is left empty, a default set of information will be sent about each booking.
If the data fields setting is used, only the booking number, modifiedTime and the fields specified are sent to Integromat. Data field values must be specified one per line.
Possible values are:
groupId
roomId
roomName
unitId
unitName
status
checkIn
checkOut
lastNight
numAdult
numChild
guestTitle
guestFirstName
guestLastName
guestComments
guestArrivalTime
guestEmail
guestPhone
guestMobile
guestCompany
guestAddress
guestCity
guestState
guestPostCode
guestCountry
guestCountry2
lang
originalBooking
originalOTA
originalReferer
referer
notes
reference
custom1
custom2
custom3
custom4
custom5
custom6
custom7
custom8
custom9
custom10
offerId
voucher
flagColor
flagText
bookingTime
invoice
invoiceCharges
invoicePayments
totalCharges
totalPayments
totalBalance
price
tax
deposit
commission
rateDescription
template1
template2
template3
template4
template5
template6
template7
template8
6 Common Problems
Some bookings are not processed Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
Only new/recently modified bookings are processed Make sure the "Choose where to start" option is set to "All". This option can be changed by going to the "Scenarios" tab in integromat and right clicking the Beds24 Watch Bookings module.
7 Disconnect
Untick "Bookings" to stop sending bookings.
8 Examples
8.1 Sample Scenarios
Integromat provides a range of sample scenarios at https://www.integromat.com/en/integrations/beds24.
8.2 Create a Subaccount from a Google Form
1. Create the Google form(https://docs.google.com/forms/u/0/) , you will need to at least “request” on the form
a)Username
b)Email
c)Password
2. Go to Integromat and create a scenario, start with a Google Forms, and set it to “Watch Responses”
3. Set the connection ( you will need to Allow Integromat to access your Google account),
a) Choose the “File” this is the same name you gave your “Form” in Google forms.
b) Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.
c) Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses.
4. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number”2” because the first row is used for the column names.
5. Now we will need to add another module, add the “Json” module and set it to “Create Json”
6. You will need to add a “Data Structure.
a) Click on “Add”
b) “Name the data structure” and click on “Generator”
c) Leave the “Content Type = Json
d) On the Sample Data insert
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings" }, "createAccount": [ { "username": "username", "password": "password", "apiKey": "YourKeyToUseForTheNewAccount", "email": "[email protected]", "role": "0", "systemEmails": "0", "bookingEmails": "0", "bookingReplyto": "0" } ] }
- Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key,
- You need to set the API key you have set under Settings -> Account - > Account Access
- Click on “Add Items” under Create Account in Integromat, here you will need to add the variables into the correct fields.
- Leave the “API” field empty, the fields
- Role
- systemEmails
- bookingEmails
- bookingReplyto
- Can be manually filled by you conform your requirements, for information about this fields please have a look at this page, https://api.beds24.com/json/createAccount
- Leave the “API” field empty, the fields
After you have done this, click on “Add” and than click on “Ok”.
Now we are going to create another module.
- Set the module HTTP, and set this to “Make a Request”
- Set the:
- URL: https://api.beds24.com/json/createAccount
- Method:Post
- Header: Leave blank
- Query String: Leave blank
- Body Type: Raw
- Content Type: JSON
- Request Content: JSON String ( Its a variable you need to drag and drop).
- Set the:
Click on “OK” and you are ready to test this scenario,
Open you Google form and insert some information, “username / Email and password” this will be added to row 2 on your worksheet, go to Integromat and click on “Run Once” it will insert this user as a sub account into your Beds24 account.
8.3 Sending Push Notifications for Bookings to your Google Chrome/Account
1. After you setup your Beds24 module in Integromat ( showing in this video https://wiki.beds24.com/index.php/Integromat.com#Integromat) set the Google Chrome module.
2. Click on “Add This Chrome” and install the Integromat google chrome plugin.
3. Click on “Add to Chrome” to install the plugin
4. Copy the Registration Code
5. Paste the Registration code on the Chrome module in Integromat
6. Create the message you want to send , you can use the Beds24 Template variables that show in Integromat
7. Once a new booking is created, Intergomat send a notification to your Google Chrome/Account
8.4 How to collect additional guest details and add to the booking
If you want to collect additional guest information and add this to the booking, you can do this using a Google Form and Integromat. Setup a google form with the information/questions you want to collect from a guest, and using Integromat we will get the response from the form and insert into the correct booking.
In this example we will show you how to collect additional guests information like “First name, Last Name, Id number and birth date. And insert this into the “Info” field of the booking
1. Setup a new google form and name this “Guests Information”
2. Create the questions
a. Booking ID
b. First Name
c. Last Name
d. Id Number
e. Birth date
3. Click on “Responses”, and than click on the “Excel Icon”
4. Select “Create a new Spreadsheet” and click on “create”
5. Log into Integromat, and start a new Scenario, the first module we are going to need is Google Forms and set this to “Watch Responces”.
6. Set the connection ( you will need to Allow Integromat to access your Google account),
a. Choose the “File” this is the same name you gave your “Form” in Google forms.
b. Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.
c. Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses
7. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number ”2” because the first row is used for the column names.
8. Now we will need to add another module, add the “Json” module and set it to “Create Json”
9. You will need to add a “Data Structure. a. Click on “Add” b. “Name the data structure” and click on “Generator” c. Leave the “Content Type = Json d. On the Sample Data insert
{
"authentication": { "apiKey": "apiKeyAsSetInAccountSettings", "propKey": "propKeyAsSetForTheProperty" }, "bookId": "12345678", "firstNight": "2014-09-30", "numAdult": "3", "invoice": [ { "invoiceId": "123456789", "description": "deposit payment", "status": "", "qty": "-1", "price": "23.45", "vatRate": "10", "type": "200" } ], "infoItems": [ { "code": "PAYMENT", "text": "Paid $200" } ]
}
10. Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key
11. You will also need to add under “Notes” the following (See image) above
a. FirstName: - add the Integromat variable for the First Name
b. Last Name: - add the Integromat variable for the Last Name
c. Id Number: - add the Integromat variable for the ID Number
d. Birth Date: - add the Integromat variable for the Birth Date
12. Set the module HTTP, and set this to “Make a Request”
Set the:
a. URL: https://api.beds24.com/json/setBooking
b. Method:Post
c. Header: Leave blank
d. Query String: Leave blank
e. Body Type: Raw
f. Content Type: JSON
g. Request Content: JSON String ( Its a variable you need to drag and drop).
After you do this, go to your Google form and fill it in as a “guest” than in Integromat click on “Run Once” it should retrieve the answers and insert into the booking in the field “Notes”.
8.5 Collect Guest details from a Google Form
If you want to collect additional guest information ( or update the current information) and add this to the booking, you can do this using a Google Form and Integromat.
Setup a google form with the information/questions you want to collect from a guest, and using Integromat we will get the response from the form and insert into the correct booking.
In this example we will show you how to collect additional guests information like “First name, Last Name, address, city, postcode and country. And insert this into the corresponding field of the booking
1. Setup a new google form and name this “Guests Information”
Create the questions
a. Booking ID
b. First Name
c. Last Name
d. address
e. city
f. postcode
g. country
2. Click on “Responses”, and than click on the “Excel Icon”
3. Select “Create a new Spreadsheet” and click on “create”
4. Log into Integromat, and start a new Scenario, the first module we are going to need is Google Forms and set this to “Watch Responses”.
4.1. Set the connection ( you will need to Allow Integromat to access your Google account),
a. Choose the “File” this is the same name you gave your “Form” in Google forms.
b. Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.
c. Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses
4.2. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number ”2” because the first row is used for the column names.
5. Now we will need to add another module, add the “Json” module and set it to “Create Json”
6. You will need to add a “Data Structure.
a. Click on “Add”
b. “Name the data structure” and click on “Generator”
c. Leave the “Content Type = Json
d. On the Sample Data insert
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings", "propKey": "propKeyAsSetForTheProperty" }, "bookId": "12345678", "guestFirstName": "Joe", "guestName": "Smith", "guestAddress": "1 Big Street", "guestCity": "London", "guestPostcode": "EX 1234", "guestCountry": "United_Kingdom" }
6.1. Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key
6.2You will also need to add the correct “Google form” variables into the corresponding fields., just like the image below
7. Next Add a new module, you need a HTTP module and set this to “Make a Request”
Set the: a. URL: https://api.beds24.com/json/setBooking b. Method:Post c. Header: Leave blank d. Query String: Leave blank e. Body Type: Raw f. Content Type: JSON g. Request Content: JSON String ( Its a variable you need to drag and drop).
7.1 Click on safe, now go to your google form, fill in the form with a actual Booking ID ( make sure it is a “test” booking) after you do this go back to integromat and click on “Run Once”, it should get the responses and insert the information into the Booking.
8.6 Send a booking to Integromat and set a Info Code
Due to a combination of some settings and or specific modules in Integromat sometimes Integromat can miss out on bookings sent to Integromat.
If this happens on a frequent basis we recommend that you setup Beds24 to continuously send the bookings to Integromat, once the bookings is correctly picked up by Integromat you can setup a Json module to create a code ans set a info code in the Booking in Beds24 using the API.
This way once a booking is correctly sent it will contain the Info code and based on this info code you can filter out this booking the next time it is sent to Integromat stopping the bookings from going thru any other modules in Integromat.
Each customer has its own Integromat module setup and so it is hard to create a scenario valid for everyone, however the only thing we need to setup is 2 modules a Json module to create the Json code and a HTTP module to send the code to Beds24 to set the info code.
Have a look at the following video to understand how the sequence will work,
- Beds24 Setup.
1. Under Settings > Apps & Integrations > Integromat, set the "Send strategy=Continuously" In the Data fields set all the necessary fields that you need to pass from Beds24 to Integromat, it is required that you set a "template" field (template1), we are using this to pass the Info code to Integromat.
Integromat Setup.
Json Module,
You will need the following Data Structure,
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings", "propKey": "propKeyAsSetForTheProperty" }, "bookId": "12345678", "infoItems": [ { "code": "Integromat", "text": "OK" } ] }
The HTTP module
You need a HTTP module after the json module and set this to “Make a Request”
Set the:
a. URL: https://api.beds24.com/json/setBooking
b. Method:Post
c. Header: Leave blank
d. Query String: Leave blank
e. Body Type: Raw
f. Content Type: JSON
g. Request Content: JSON String ( Its a variable you need to drag and drop).
Do not forget to set a filter as you saw in the video the filter will stop the booking from going further if it contains the info code,
1. Set a "Text Operator" filter "Not Equal To"