Alerts & automation
Power Automate flows for Microsoft Bookings
Power Automate's Microsoft Bookings connector reacts to appointments, but it cannot tell you which ad, email or page produced them. BookingsXP sends a webhook for every widget booking with that attribution included, and Power Automate can receive it with its HTTP request trigger and pass it to the rest of Microsoft 365.
- Plan
- Plan: ProNeeds Pro ($19 a month) or Business ($49 a month).
- In short
- Start a cloud flow from "When an HTTP request is received" and write bookings to SharePoint, Dataverse or Excel.
- Microsoft Bookings
- Stays your system of record. Bookings land in Outlook and Teams and Microsoft sends the invites and reminders.
How it works
What happens with Power Automate
- The flow starts with the Request connector's "When an HTTP request is received" trigger. After you save the flow, Power Automate generates a URL with a signature (sig) in its query string.
- BookingsXP posts the booking.created envelope to that URL. A JSON schema on the trigger turns fields such as data.booking.customer.email into dynamic content.
- From there you can add a SharePoint list item, a Dataverse row or an Excel table row, send an Outlook email, or post to Teams.
Setup
Set up Power Automate
Step 1: Turn on Store bookings
Dashboard → widget → Data & access → "Store bookings in BookingsXP".
Step 2: Create the flow
Create an instant cloud flow and choose the trigger "When an HTTP request is received". Set "Who can trigger the flow?" to Anyone: BookingsXP authenticates with the URL's signature, not with a Microsoft Entra token.
Step 3: Generate the schema from a sample
Click "Use sample payload to generate schema" and paste a booking.created sample from the webhook docs. This makes every field available as dynamic content.
Trimmed sample { "type": "booking.created", "data": { "booking": { "reference": "BXP-7K2M9Q", "start": "2026-10-02T08:30:00.000Z", "service": { "name": "Initial consultation" }, "customer": { "name": "Sam Example", "email": "sam@example.com" } }, "attribution": { "source": "google", "medium": "cpc", "campaign": "autumn-audit" } } }Step 4: Save, copy the URL, add the endpoint
Save the flow so the HTTP URL appears, copy it, then in BookingsXP go to Integrations → Add an endpoint → Webhook (JSON) and paste it.
Step 5: Add actions and test
Add a Condition on type equal to booking.created, then your actions. Make a real test booking to run the flow end to end, and check the run history.
Outcomes and caveats
What you get
The result
- Website bookings flowing into Microsoft 365 with the campaign, source and click IDs attached.
- A way to log every booking to a SharePoint list or Excel table for reporting.
- The BXP reference in both places, so rows match the notes on the appointment in Bookings.
Good to know
Limits and caveats
- "When an HTTP request is received" is a premium connector in Power Automate, so the flow owner needs a premium licence.
- BookingsXP Pro is needed for webhooks.
- If "Who can trigger the flow?" is restricted to your tenant, requests without an Entra token are rejected and deliveries fail.
- For a simple channel alert you do not need a flow at all: use the native Microsoft Teams endpoint.
FAQ
Power Automate questions
Start free, no card
Start on Free with the widget and GA4 events, then move to Pro when you want ad conversions, webhooks and chat alerts.