The Webhook
Hostaway offers the function webhooks to connect your Hostaway account to different online services. When you set up a webhook in your Hostaway account you provide an external web address where Hostaway needs to send information to based on events. Currently, Hostaway only sends information by Webhook when a New, Modification (change of date first time), inquiry or Cancellation event comes in for a Reservation. Other statuses you might see on the dashboard are not needed for webhook events. In case you are looking for the status "Confirmed" this is a combination of new and modified reservations use in the front-end of the dashboard. This information can be combined when using API import separately by filtering and processing locally.
Important: It will not send webhook notifications for messages, payments or tasks, etc!
When a new reservation comes into your Hostaway account the system will take approximately 10 minutes before collecting the needed information to "trigger" the webhook. When the system is ready it will send a copy of all the information available for that reservation over to the provide web-address. This 3e party then will receive the information and need to do something with it.
Information that is provided is often called "fields" information. This means that for example, the webhook sends all reservation information for Pieter A by the webhook to the other service. This service then translates the information and provides fields like first-name, last-name, check-in, check-out, etc.
An example of how it works
Every time a New, modified or Canceled reservation comes in I have Hostaway triggering the webhook. It sends the reservation information file to my web-address (server / 3rd party) that I instruct to do something with the received information.
My server receives a new webhook event like this.
To server: https://webhook.webhookfile.file
- Event-Date: 20190302
- Event-Type: NEW
- First-Name: Pieter
- Last-Name: A
- Check-In: 20191010
- Check-out: 20191012
- Email: x@xxxx
My goal is to let my server / 3rd party update my Google docs Sheet every time a new reservation or modification comes in. In the above example, you see multiple fields that come in by the webhook. I only need First-Name, Last-Name and Check-In information. The rest I want my server / 3rd party to ignore.
So I "tell" my server / 3rd party. Every time there is a new "webhook event" create a new line in this Google sheet file. Then take from field: First-Name the information and add this to Column A on the new line, From field: Last-Name take the information and add it to Column B and for field: Check-In take the information and add it to Column C.
The result looks like this:
Field-Name | Column A First-Name | Column B Last-Name | Column C Check-In |
Trigger reservation A | Pieter | A | 2019-10-10 |
Trigger reservation B | Mike | Globe | 2019-12-07 |
The above is an example of how you could use it for a Google Sheet update. There are unlimited ways to use it depending on what the server or 3rd party is offering on there end. For example, when you receive a reservation you could take the mobile phone number if provided and instruct the 3rd party to send out an SMS to this guest. If you are not a programmer with your own server you could use the services offered by Zapier.com that can connect your webhook to 1500+ worldwide known other software providers.
About Zapier.com
Zapier.com allows you to connect 2 or more different software providers to each other and performs the actions that you asked them to do. You can create up to 5 Zap's for free or upgrade to a paid version if you need more or faster services. This service is perfect for those who have some programming skill's but do not need there own server to connect different software directly. Below we outline how you can use the Hostaway webhook function with Zapier to connect it to another software.
Important: Zapier offers 1500+ different software connections that all work differently. Hostaway customer support can't provide detailed support on how to connect all these 1500+ different software's. If you need more support on that we advise you to contact the 3rd party who knows more about there systems.
Create a Zap with Webhook function
What you need:
- A live paid account with Hostaway and login as the main account owner.
- A live account on Zapier.com.
- Make sure the 3rd party you wish to connect to is live on Zapier and you have access to it.
- Be able to create a test booking for one of your listings within the next 6 months. (you can cancel this after but will block the days for a short time)
- At least 1-2 hours to build and test the zap created.
Step 1 Create the webhook link
- Login to your Zapier account and go to the app Webhooks by Zapier
- Scroll down to the overview where you can search for another app
- Search your 2nd party you wish the webhook to connect to
- Set the "webhooks to use the function "Catch Hook" and continue
- Copy the url provided, "https://hooks.zapier...etc" don't click on the button I did this yet!!
- In a new browser window, go to your Hostaway dashboard - setting - integrations.
- Scroll down to Webhooks menu and past the Zapier webhook url under column url
- Only if your webhook should trigger on 1 listing and or 1 channel use the filters
- Make sure "is enabled" is set to yes and click on +Add button.
- Go to menu calendar - select listing, select some days, click on add direct booking button.
- Fill in the fields required, use a real email address for guest email. Do not yet click on the save button!!
- Go back to you Zapier window and click on the button. Ok, I did this.
- Go back to your Hostaway reservation window and click on Save button.
- Go back to your Zapier window and wait for 5-15 minutes until the Zapier received the test and change to the next step pick a Sample window. Usually called Hook .. then click continue.
Important, from here it totally depends on what 2nd party you have chosen to connect to and what you like to do with it. In our example we use it to update our Google sheets by an Action.
Step 2 make the action or trigger connection
- The action I select is Creat Spreadsheet Row for this example
- I create in Google docs a spreadsheet with the name Test Bookings and on the first row some column headers.
- I connect my Google drive account by login and give Zapier access to my Drive folder
- I search for the file and get the sheet and field names in an overview, I select per field what field it should take the information from delivered by my webhook reservation test and continue
- Zapier asks for testing the Zap with the provided settings. You can edit the setup and re-test multiple times if needed.
- Zapier shows me the test was a success and the data did show up in my Google sheet.
- You can now click on the Finish button and Zapier will activate the Zap in your account. Remember for free accounts in Zapier max 5 zaps are allowed and there are delays for every trigger time. From now on every time a new, modified or canceled reservation happened in Hostaway this Google sheet will be updated with a new line with the information that I requested the Zap to add to the Sheet.
Closing
As mentioned in the beginning, there are over 1500+ different software providers that connect to Zapier and all of them have many different ways to handle an action or a trigger within there software.
You can use Zapier to send over the guest email address to your MailChimp account and have MailChimp send out promotional emails, you can use the per guest provided phone-number to send it to your SMS provider who sends out a welcome SMS send all reservation data directly to your bookkeeping software and thousands of other ways how it can help you improve your business.
It is always important to keep in mind. The fields you select can only be used per Zap trigger if it contains information. A field for example phone-number that is not provided by a channel will be empty and so a Zap to an SMS provider will not trigger or the field in your accounting software could be empty.
Important: Always use the option "Catch Hook" when working with Webhooks by Zapier module for Hostaway.