Answer · Integrations
Does Microsoft Bookings support webhooks?
Last updated 4 min readPart of Microsoft Bookings integrations: Zoom, CRMs, Zapier5 sources
“Does Microsoft Bookings support webhooks?”
Asked in Microsoft Learn (opens in a new tab), Microsoft Learn (opens in a new tab), Microsoft Learn (opens in a new tab) and github.com (opens in a new tab)
Short answer
No. As of September 2026 Microsoft Bookings has no webhook setting, and Microsoft Graph change notifications (subscriptions) don't support Bookings resources; Microsoft staff confirmed this on Microsoft Q&A in 2022 and again in 2023. The only event source Microsoft offers is the Power Automate Bookings connector, which is still in preview. Otherwise you poll the Graph API and work out what changed yourself.
Your options#
| Approach | Real-time? | Needs | Main catch |
|---|---|---|---|
| Power Automate Bookings connector | Yes, event-driven triggers | Bookings administrator on the calendar | Preview; 5 flows per booking mailbox; Updated trigger reported unreliable |
| Poll Microsoft Graph | As often as you poll | Entra app registration, Bookings permission | No created-date filter; you diff results yourself |
| Outlook calendar events | Depends on the tool | Access to staff calendars | Generic calendar events, not Bookings records |
This page covers the event source itself. If you already know the destination, connecting Bookings to Zapier and sending bookings to HubSpot, Salesforce or Dynamics cover those routes.
Power Automate connector#
The connector has three triggers: "When a appointment is Created" (spelled that way in the connector), "When an appointment is Updated" and "When an appointment is Cancelled". The payload is rich: customer details, custom question answers, attendees of group bookings, staff, service, times, the Teams join URL, tracking data and the cancel reason. The catches:
- Only Bookings administrators of that calendar can create flows with these triggers. Tenant admin rights aren't enough.
- Five flows per booking mailbox, shared by everyone.
- Update events don't say what changed, and users report the Updated trigger not firing at all for some edits.
- There are no actions to create or change appointments.
To turn it into a webhook for your own system, end the flow with an HTTP step that posts the trigger body to your endpoint, after checking that your Power Automate licence covers the HTTP action. The Power Automate CRM guide builds a complete flow, and why the Bookings trigger isn't firing covers the failures. If all you want is a message in a chat channel, the flow can post there directly: see Bookings notifications in Slack and new booking alerts in a Teams channel.
Poll Microsoft Graph#
Graph has no createdDateTime filter on appointments, so you can't ask for "new since my last check". The workable pattern:
- Every few minutes, request a rolling window of upcoming appointments:
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/{id}/calendarView?start={now}&end={now+90 days}- Store each appointment's
idwith a hash of the fields you care about. - New
idmeans a new booking. A changed hash means an update. Anidthat disappears from the window before its start time was probably cancelled. - Fire your own webhook for each difference.
Keep requests sequential per booking mailbox: the Graph throttling limits allow four concurrent Bookings requests per app ID and mailbox. The Graph Bookings API only covers shared booking pages, not "Bookings with me".
Calendar-level events#
Bookings appointments land on staff members' Outlook calendars, and Outlook calendar events are a supported Graph change-notification resource. Some teams subscribe to staff calendars, or use an automation tool's Outlook calendar trigger, and treat new events as a signal. You get a generic calendar event, not the Bookings record, so custom answers, service IDs and tracking data are missing unless you look the appointment up in Graph afterwards.
Doing this with BookingsXP#
If bookings come in through the BookingsXP widget on your site and you switch on Store bookings for it, BookingsXP sends signed booking.created and booking.failed webhooks (HMAC-SHA256, with retries and a delivery log) to Zapier, Make, n8n, Power Automate or your own URL, and can post each booking to a Microsoft Teams or Slack channel. No Bookings admin role, flow quota or Graph polling is involved. It only sees bookings made through the widget: not bookings created by staff in the Bookings calendar, made on the booking page Microsoft hosts, or cancelled from the email links. Webhooks are on the Pro and Business plans; see webhooks and pricing. BookingsXP is independent and not affiliated with or endorsed by Microsoft.
Questions people also ask
Sources
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Power automate integration (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookingbusiness list appointments (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Throttling limits (opens in a new tab) · learn.microsoft.com
Related
- Why isn't my Power Automate Bookings trigger firing?
- Is there a Zapier integration for Microsoft Bookings?
- Microsoft Bookings to a CRM with Power Automate
- Microsoft Bookings to HubSpot, Salesforce or Dynamics
- How to get Microsoft Bookings notifications in Slack
- Microsoft Bookings new booking alerts in a Teams channel