Answer · Notifications
How to get Microsoft Bookings notifications in Slack
Last updated 5 min read8 sources
“How do I get a Slack notification when someone books in Microsoft Bookings?”
Asked in stackoverflow.com (opens in a new tab), Microsoft Learn (opens in a new tab) and Microsoft Learn (opens in a new tab)
Short answer
Microsoft Bookings can't post to Slack on its own. As of October 2026 it has no Slack integration, no webhooks and no Zapier trigger, and Microsoft Graph change notifications don't cover Bookings. The workable routes are a Power Automate flow that uses the Bookings connector and Slack's Post message (V2) action, forwarding the Bookings notification email to a Slack channel's email address, or Slack's Outlook Calendar app for one person's own calendar.
What people have asked#
The question usually starts as "how do I get an event out of Bookings?". A 2021 Stack Overflow question asks for an event "FROM Bookings TO our App" when a new appointment is scheduled, so it can be passed on to Teams or a web app. Two Microsoft Q&A threads, from 2022 and 2023, ask for webhooks or Graph subscriptions on Bookings appointments, and Microsoft staff answered that Bookings resources aren't supported. Slack is just another destination, so the same limits apply. Does Bookings support webhooks? covers the event side in more depth.
Compare the three routes#
| Route | What reaches Slack | Needs | Main catch |
|---|---|---|---|
| Power Automate flow | Your own message with customer, service, time and staff | Administrator role on the booking calendar | Preview connector, 5 flows per booking mailbox |
| Email to a channel | Microsoft's notification email, as an email post | A paid Slack plan; the business notification switched on | Fires on changes too; external forwarding is often blocked |
| Outlook Calendar app | A calendar event notification | Each person connects their own calendar | One person's calendar only, no Bookings details |
Route 1: Power Automate to Slack#
This route gives you a proper message with the fields you choose. Both connectors involved are Standard on Microsoft Learn, so the free Power Automate use that comes with a work account covers them; you don't need Premium.
- Open the booking calendar in Bookings, go to Staff, and check that your account has the Administrator role. The connector only lets Bookings administrators create appointment flows. Being a tenant admin doesn't count.
- In Power Automate, create an Automated cloud flow with the Microsoft Bookings trigger When a appointment is Created (that's Microsoft's spelling). Pick your booking page. If it isn't listed, choose Enter custom value and paste the page's SMTP address, which Bookings shows under Integrations → Power Automate.
- Add the Slack action Post message (V2) and sign in to Slack when asked. The old Post message action is deprecated.
- Set Channel Name to the channel, for example
#bookings, and build Message Text from the trigger's dynamic content:CustomerName,CustomerEmail,ServiceName,StartTime, plus the staff member'sDisplayName.StaffMembersis a list, so Power Automate may wrap the step in Apply to each; use the expressionfirst(triggerBody()?['StaffMembers'])?['DisplayName']to avoid that. - Save, then make a real booking on the public booking page. Check the time format in the run history, and convert it with
convertTimeZone()if it isn't in your local time.
Before you rely on it:
- The Bookings connector is still Preview, and each booking mailbox allows five flows across all its admins. One Slack flow per page is usually fine; put any other actions into the same flow.
- For group services, only the first attendee fires Created. Later attendees fire When an appointment is Updated.
- It isn't available in GCC, GCC High, DoD or 21Vianet.
- If the flow never runs, work through why the Bookings trigger isn't firing. The usual causes are the admin role, the SMTP address and the five-flow limit.
Route 2: forward the notification email to Slack#
This needs no flow, but you get Microsoft's email as-is.
- In Slack, open the channel, click its name in the header, open the Automations tab, choose Send emails to this channel, then Get Email Address. Slack says channel email addresses are only on paid plans, and workspace owners can stop members creating them.
- In Bookings, go to Booking page → Scheduling policy, tick Notify when a booking is created or changed, and select Save and publish.
- Microsoft says this email goes to "the mailbox specified on the Business information page". The only address field there is Send customer replies to, and customers' replies go to it too. Don't paste the Slack address into it. Point it at a mailbox you control, such as a shared mailbox, then add an Outlook inbox rule there that forwards these notifications to the Slack address.
- Make a test booking and check the channel.
Many Microsoft 365 tenants block automatic forwarding to outside addresses by default. If the forward bounces with 5.7.520 Access denied, an admin has to allow external forwarding for that mailbox in an outbound spam policy. Some admins won't, which leaves Route 1. Also expect a post for every change and cancellation, not only new bookings, because that's what the Bookings switch sends.
Route 3: Slack's Outlook Calendar app#
Bookings puts each appointment on the assigned staff member's Outlook calendar. Slack's Outlook Calendar app connects one person's Microsoft 365 calendar to Slack. It notifies them about invitations, updates and cancellations, and can also send notifications for a calendar to a channel, under the app's Settings → Channel Notifications.
That's fine for "tell me in Slack when I get booked". It doesn't make a team-wide booking feed. Each person connects only their own account's calendars, the notification is a calendar event rather than a Bookings record (no custom answers or service details), and Slack doesn't say whether a Bookings page's own calendar can be connected. Test it with your own bookings before you rely on it.
Doing this with BookingsXP#
If customers book through the BookingsXP widget on your website, the Pro plan can post each new booking to a Slack channel through a Slack incoming webhook (a hooks.slack.com URL). The message has a fixed layout: a headline, then Service, When, With, Source, Customer and Ref, so the channel also sees the campaign behind each booking. There's no Bookings admin role or flow limit involved. It needs Store bookings switched on for the widget, because the message includes the customer's name and email, and it pauses while Zero data retention is on. Limits: it covers only new bookings made through the widget, not bookings on the booking page Microsoft hosts or added by staff, and it doesn't post cancellations or reschedules. Failed posts are retried up to 8 times over about two hours. Each Slack channel uses one endpoint, with 5 on Pro and 25 on Business. Setup is on the Slack integration page and in the webhooks docs; plans are on 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 (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Power automate licensing (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Set scheduling policies (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Enter business information (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Outbound spam policies external email forwarding (opens in a new tab) · learn.microsoft.com
- slack.com: 206819278 Send emails to Slack (opens in a new tab) · slack.com
- slack.com: 360020134853 Microsoft Outlook Calendar for Slack (opens in a new tab) · slack.com