Make (formerly Integromat) connects Beds24 to third-party apps and services: Beds24 sends booking data to Make, and your Make scenarios pass it on to the services you connected. An Auto Action decides which bookings are sent.
Quick Guide
- In Settings > Guest Management > Auto Actions, create an Auto Action with Trigger Action = automatic that selects the bookings to send.
- In Settings > Marketplace > Make, select the Auto Action, tick the rooms, create an apiKey and choose the send strategy.
- In Make, add the Beds24 app to your scenario with the apiKey and your property ID, and use the Watch Bookings trigger.
- Set the Watch Bookings limit high enough and choose where to start = All.
Table of Contents
- How it works
- Connect Make
- Send template variables to Make
- Data fields
- Troubleshooting
- Disconnect Make
- Sample scenarios
How it works
- In Make, you create a scenario that automates tasks for you. A scenario is a series of modules that set how data is transferred and transformed between Beds24 and other apps and services.
- Bookings are sent from Beds24 to Make when the room is enabled and the booking meets the trigger conditions of the selected Auto Action.
- If several of your properties are enabled for Make and the Auto Action applies to their bookings, those bookings are sent too.
- Sent bookings appear in Make through the Watch Bookings trigger, and are then transferred automatically to the apps and services in your Make scenarios.
- Make reads the bookings when the scenario runs: Beds24 doesn't push them.
Connect Make
You need: an account with Make. For Beds24, the normal channel manager fees apply.
Step 1: Set up Beds24
- In Settings > Guest Management > Auto Actions, set up an Auto Action that selects the bookings to send to Make. Set Trigger Action = automatic.
- Go to Settings > Marketplace > Make and select the Auto Action to use for Make. The Auto Action must be created by the account that owns the property: actions linked from other accounts can't be used.
- Tick the rooms you want to send bookings for. Only bookings from rooms enabled for Make that meet the trigger conditions in the Auto Action are sent.
- Create an apiKey of 16 or more characters and save it. API access must be allowed in Settings > Account > Account Access.
- Choose your send strategy (see the table below).
- Optional: Beds24 sends a default set of booking information. To customise it, enter the fields you want to send in Data fields, one per line. See Data fields.
| Send strategy | What it does |
|---|---|
| Once only | Sends the booking once and never again, even if it's modified. |
| Whenever modified | Sends bookings if they have been modified. |
| Repeated | Sends bookings repeatedly with the last modified time of the booking. |
| Continuously | Sends bookings repeatedly with the last modified time set to the current time. This forces Make to re-import the bookings with every read. |
Step 2: Set up Make
- Create a Make account at Make.
- Search for the Beds24 app.
- Connect the Beds24 app to your scenario and enter the apiKey you created and your Beds24 property ID.
- Select the trigger Watch Bookings and map the data into your scenario as you need.
- Set the limit in Watch Bookings high enough for Make to process all the bookings you expect in the data. If you leave it at 1, only the first booking in each trigger is processed.
- When prompted to Choose where to start, select All.
Expected result: bookings that meet your Auto Action conditions appear in Make through Watch Bookings and run through your scenario.
Warning: make sure the Make app limit can process the maximum number of bookings you expect for each trigger, especially if you send bookings once only: bookings above the limit aren't processed.
Tip: Make provides a list of developers who can help with integrations.
Send template variables to Make
The advanced section of the Make connection form has eight template fields for Beds24 template variables. To enable a field, add the matching template data field (template1 and so on) to your Make data fields in Beds24. Beds24 calculates the template variable and sends its value to Make with the booking.
Data fields
If Data fields is empty, Beds24 sends a default set of information about each booking. If you use it, only the booking number, modifiedTime and the fields you enter are sent. Enter one field per line. Possible values:
| Group | Fields |
|---|---|
| Booking |
groupId roomId roomName unitId unitName status checkIn checkOut lastNight numAdult numChild lang notes reference offerId voucher flagColor flagText bookingTime
|
| Guest |
guestTitle guestFirstName guestLastName guestComments guestArrivalTime guestEmail guestPhone guestMobile guestCompany guestAddress guestCity guestState guestPostCode guestCountry guestCountry2
|
| Source |
originalBooking originalOTA originalReferer referer
|
| Custom |
custom1 custom2 custom3 custom4 custom5 custom6 custom7 custom8 custom9 custom10
|
| Invoice and price |
invoice invoiceCharges invoicePayments totalCharges totalPayments totalBalance price tax deposit commission rateDescription
|
| Template |
template1 template2 template3 template4 template5 template6 template7 template8
|
Troubleshooting
| Issue | Likely cause | Resolution |
|---|---|---|
| Some bookings aren't processed | The limit in Watch Bookings is too low. At 1, only the first booking in each trigger is processed. | Set the limit high enough for Make to process all the bookings you expect in the data. |
| Only new or recently modified bookings are processed | Choose where to start isn't set to All | Go to the Scenarios tab in Make, right-click the Beds24 Watch Bookings module and set Choose where to start = All. |
| Make sometimes misses bookings | A combination of settings or specific modules in Make | Send bookings continuously and mark processed bookings with an info code, see Set an info code on processed bookings. |
Disconnect Make
Untick Bookings to stop sending bookings.
Sample scenarios
Make provides a range of sample scenarios on the Make Beds24 integrations page. The scenarios below show common setups step by step.
Create a sub account from a Google Form
- Create a Google Form. The form must at least ask for a username, an email address and a password.
- In Make, create a scenario that starts with a Google Forms module set to Watch Responses.
- Set the connection (you need to allow Make to access your Google account):
- File: the name you gave your form in Google Forms.
- Worksheet: the worksheet Google Forms creates in your Google Drive.
- Maximum number of returned rows: the maximum number of results Make works with in one cycle. You can set this to 1: the scenario checks constantly for new responses.
- When asked to Select the first row, choose the row where Make starts checking the worksheet. Normally this is 2, because the first row holds the column names.
- Add a JSON module set to Create JSON.
- Add a data structure: click Add, name the data structure, click Generator, leave Content Type = JSON, and paste this sample data:
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings" }, "createAccount": [ { "username": "username", "password": "password", "apiKey": "YourKeyToUseForTheNewAccount", "email": "mail@email.com", "role": "0", "systemEmails": "0", "bookingEmails": "0", "bookingReplyto": "0" } ] } - Click Save. The original window shows your data structure with an Authentication box: enter the API key you set in Settings > Account > Account Access.
- Under Create Account, click Add Items and add the form variables to the right fields. Leave the API field empty. Fill in Role, systemEmails, bookingEmails and bookingReplyto as you need: for details, see the createAccount API function. Click Add, then OK.
- Add an HTTP module set to Make a Request, with:
-
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 (a variable you drag and drop)
-
URL:
- Click OK. To test, open your Google Form and enter a username, email and password: they're added to row 2 of your worksheet. In Make, click Run Once.
Expected result: the user is added as a sub account to your Beds24 account.
Send push notifications for bookings to Google Chrome
- After you set up the Beds24 module in Make (see Set up Make), add the Google Chrome module.
- Click Add This Chrome and install the Make Google Chrome plugin.
- Click Add to Chrome to install the plugin.
- Copy the registration code.
- Paste the registration code in the Chrome module in Make.
- Create the message you want to send. You can use the Beds24 template variables that show in Make.
Expected result: when a new booking is created, Make sends a notification to your Google Chrome account.
Collect guest details from a Google Form
To collect more guest information (or update the current information) and add it to the booking, use a Google Form and Make: Make gets the form response and inserts it into the right booking. This example collects first name, last name, address, city, postcode and country, and inserts them into the matching booking fields.
- Set up a new Google Form named "Guests Information" with these questions: Booking ID, First Name, Last Name, address, city, postcode, country.
- Click Responses, then click the spreadsheet icon.
- Select Create a new spreadsheet and click Create.
- Sign in to Make and start a new scenario. Add a Google Forms module set to Watch Responses, and set the connection (you need to allow Make to access your Google account):
- File: the name you gave your form in Google Forms.
- Worksheet: the worksheet Google Forms creates in your Google Drive.
- Maximum number of returned rows: the maximum number of results Make works with in one cycle. You can set this to 1: the scenario checks constantly for new responses.
- When asked to Select the first row, choose the row where Make starts checking the worksheet. Normally this is 2, because the first row holds the column names.
- Add a JSON module set to Create JSON.
- Add a data structure: click Add, name the data structure, click Generator, leave Content Type = JSON, and paste this sample data:
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings", "propKey": "propKeyAsSetForTheProperty" }, "bookId": "12345678", "guestFirstName": "Joe", "guestName": "Smith", "guestAddress": "1 Big Street", "guestCity": "London", "guestPostcode": "EX 1234", "guestCountry": "United_Kingdom" } - Click Save. The original window shows your data structure with an Authentication box: enter the API key. Then map the Google Form variables to the matching fields, as in the image.
- Add an HTTP module set to Make a Request, with:
-
URL:
https://api.beds24.com/json/setBooking - Method: Post
- Header: leave blank
- Query String: leave blank
- Body Type: Raw
- Content Type: JSON
- Request Content: JSON String (a variable you drag and drop)
-
URL:
- Click Save. Fill in the Google Form with a real booking ID (use a test booking), then go back to Make and click Run Once.
Expected result: Make gets the response and inserts the information into the booking.
Set an info code on processed bookings
A combination of settings or specific modules in Make can sometimes make Make miss bookings sent to it. If this happens often, set Beds24 to send bookings continuously. Once Make picks up a booking correctly, a JSON module creates the code and an HTTP module sets an info code in the Beds24 booking through the API. Bookings that were sent correctly then have the info code, and a filter stops them from going through your other Make modules the next time they're sent.
Every Make setup is different, so there is no scenario that works for everyone: you only need to add the two modules. This video shows how the sequence works:
- In Settings > Marketplace > Make, set Send strategy = Continuously.
- In Data fields, enter all the fields you need to pass from Beds24 to Make. You must include a template field (
template1): it passes the info code to Make. - In Make, add a JSON module with this data structure:
{ "authentication": { "apiKey": "apiKeyAsSetInAccountSettings", "propKey": "propKeyAsSetForTheProperty" }, "bookId": "12345678", "infoItems": [ { "code": "Make", "text": "OK" } ] } - After the JSON module, add an HTTP module set to Make a Request, with the same settings as above: URL =
https://api.beds24.com/json/setBooking, Method = Post, Header and Query String blank, Body Type = Raw, Content Type = JSON, Request Content = JSON String. - Set a filter, as in the video, that stops a booking from going further if it has the info code: a Text Operator filter with Not Equal To.
Connect Make to Beds24 API V2
To use API V2 with Make, first set up a data store for the refresh token and the access token, and a scenario that runs every 24 hours to get a new token with the refresh token. You can then set up any Make scenario with the Beds24 API V2, because the token is always up to date.
Step 1: Create a data store
- Sign in to Make and go to More (the 2 dots) > Data Store.
- Click Add Data Store at the top right.
- Name the data store, for example "Access Token".
- Under Data Structure, click Add, then Add Item, and set Name = "Access Token", Type = Text, Required = No, Multi-line = No.
- Click Add New Item and set Name = "Refresh Token", Type = Text, Required = No, Multi-line = No, Strict = No.
- Click Save to save the data structure and the data store.
- Click Browse to find the data store you created.
- Click Add at the top of the screen.
- Add a key: click the icon and enter a random number. You need this number later for your scenario.
Step 2: Get tokens from Beds24
- Sign in to Beds24 and go to Settings > Marketplace > API to generate a new invite code.
- With the invite code, go to Beds24 API Authentication Setup.
- Click Try Out and paste your invite code.
- Click Execute to get your token and refresh token.
- Copy the access token and paste it into the "Access Token" field in the data store.
- Copy the refresh token and paste it into the "Refresh Token" field in the data store.
- Click Save at the top of the screen. Your data store now holds your token and refresh token.
Step 3: Create a scenario that updates the token every 24 hours
- Create a new scenario in Make with Data Store – Search Record as the first module: select Browse, choose the data store you created, choose Access Token in the filter and set Basic Operation = Exist (this checks that the token exists).
- Click OK and add the second module: HTTP – Make a Request, which requests a new token every 24 hours:
- Evaluate all states as errors (except for 2xx and 3xx) = No
-
URL =
https://api.beds24.com/v2/authentication/token - Method = GET
- Headers, item 1: Name =
refreshToken, Value = the refresh token mapped from the first module (Data Store) - Headers, item 2: Name =
accept, Value =application/json
- Save the module.
- Add a module that updates the token: Data Store – Add / Replace Record. Select the data store you created, set Key = the random number you set earlier, Overwrite an existing record = Yes and Parse response = Yes (this is crucial).
- You need to run the HTTP module once before you continue: save the data store module as it is for now.
- Copy your refresh token again and paste it into the "Refresh Token" field.
- Click OK to run the module and update your token.
Step 4: Finalise the scenario
- Edit the last module (Data Store) again and map Access Token = token from the HTTP module, and Refresh Token = refresh token from the Data Store module.
- Save the module and set the scenario to run every 24 hours. It then makes an API call every day to get a new token.
Step 5: Use the token in API calls
To make API calls to Beds24, first add a Data Store – Get a Record module and enter your key (the number you set under Key). In the HTTP module that makes the API call, use the token from the data store, which is always up to date.