TourCMS webhooks (article)

Blanca Castillo
Blanca Castillo
  • Updated

What does it mean?

In general, webhooks are methods used to send real-time data from one application to another. It enables one system to automatically notify another when an event occurs, allowing immediate updates and actions without constant polling or manual intervention.

TourCMS offers the capability to use webhooks to send bookings and other actions, such as redemptions or cancellations, to your reservation system or any other system. There are two types of webhooks: asynchronous and inline (synchronous).


Where do I find it?



Scroll down and click on Webhooks:




What should I do?

To create a new webhook, go to Configuration > System & Setup > Booking Webhooks and click on the “Create new booking webhook” button.


After that, you have to select one of the booking webhook types:

  • Asynchronous (post-booking) webhook

TourCMS will accept bookings that have passed the Check Availability stage based on its own availability; the webhook will be notified after. It supports booking process events plus cancellations, payment notifications, etc. You can have multiple asynchronous webhooks per booking. There is a limit of 10 asynchronous webhooks per account. However, if you require more, please get in touch with our support team (

  • Synchronous (inline) webhook

When TourCMS receives a booking request from an OTA or other API consumer, it will check with the webhook before responding. This feature supports booking process (i.e., creating booking) events only.
You can have a maximum of one inline webhook per booking and, thus, a maximum of one per TourCMS channel.



Benefits of multi-webhooks

When configuring a webhook, it is possible to specify:

  • Which events to receive (i.e. can opt out of redemptions, payments, etc.)
  • Which tours receive a given webhook (i.e. can have certain products notify specific subsystems)
  • Configure which channel(s) receive each webhook
  • Ability to deactivate webhooks without removing them fully
  • Ability to name webhooks, e.g. not just a Sync URL; we can have the subsystem name

How to set up asynchronous webhooks
How to set up synchronous (inline) webhooks


Common configurations

Accounts WITHOUT inline webhooks enabled

Configuration is largely similar to existing, just with more flexibility.

Accounts WITH inline webhooks enabled

A common setup is for a subsystem to listen for new bookings plus cancellations. To facilitate this two webhooks will need to be created:

  • One for the inline events
  • One for the asynchronous events (cancellation)

Accounts WITH inline webhooks enabled but only for some tours

A common setup is for a subsystem to listen for new bookings plus cancellations. To facilitate this three webhooks will need to be created:

  • One for the inline tours inline events
  • One for the inline tours asynchronous events (cancellation)
  • One for the non-inline tours


How can I determine which webhook applies to a specific tour?

Going to the PRODUCTS > TOURS > SETUP > OPERATIONS / SUPPLIERS tab, there is a booking webhooks section to check which webhooks apply to this tour.



How can I check which webhook has been applied?

You can check the webhook applied in the audit trail of the booking. Here you can find the webhook ID and webhook name applied:



The pages linked below detail the various webhooks and their triggers. 

Check Tour Availability Webhook

Booking Notification Webhook

Webhook Tester Tool

Inline Booking Notification Webhook