Integrations
Microsoft Bookings, connected to the tools you already use
BookingsXP puts your Bookings calendar on your own site, then reports each booking to your tags, ad platforms and team tools. Microsoft Bookings stays the system of record.
What each plan covers
- Plan: Free $0
- Every website and framework embed, GTM and GA4 events, and attribution in the booking notes.
- Plan: Pro $19 a month
- Google Ads, Meta and LinkedIn conversions, plus webhooks, Slack and Teams alerts on 5 endpoints.
- Plan: Business $49 a month
- 25 endpoints, 50 widgets and the REST API.
All integrations
Ad platforms
Conversions fired through the pixels already on your site, using IDs you set on the widget. Pro.
- Google AdsPlan: ProA conversion per confirmed booking, with the booking reference as transaction ID and optional enhanced conversions.Setup guide
- Meta PixelPlan: ProSchedule on every confirmed booking and ViewContent when the widget is seen, through your existing Pixel.Setup guide
- LinkedIn Insight TagPlan: ProA LinkedIn conversion on each confirmed booking, fired with lintrk from the Insight Tag already on your page.Setup guide
Alerts & automation
Signed webhooks and chat alerts when a booking is confirmed. Microsoft Bookings has no webhooks of its own. Pro.
- Microsoft TeamsPlan: ProAn Adaptive Card in a Teams channel for each booking: who, what, when, and the campaign that brought them.Setup guide
- SlackPlan: ProA Block Kit message in a Slack channel for each confirmed booking, via a Slack incoming webhook.Setup guide
- WebhooksPlan: ProSigned JSON (HMAC-SHA256) to any HTTPS endpoint when a booking is created, with retries and a delivery log.Setup guide
- ZapierPlan: ProStart a Zap on every website booking with Webhooks by Zapier → Catch Hook, then send it to any of Zapier's apps.Setup guide
- MakePlan: ProA Make scenario that starts from Webhooks → Custom webhook on every booking, with the data structure learned from a real one.Setup guide
- n8nPlan: ProTrigger an n8n workflow from the Webhook node, with room to verify the HMAC signature before anything else runs.Setup guide
- Power AutomatePlan: ProStart a cloud flow from "When an HTTP request is received" and write bookings to SharePoint, Dataverse or Excel.Setup guide
Websites & CMS
Paste one snippet into the HTML or embed block your site builder already has.
- WordPressPlan: FreeA plugin with a block, a [bookingsxp] shortcode and a site-wide floating button, for Microsoft Bookings on WordPress.Setup guide
- WebflowPlan: FreePaste the script and custom element into a Code Embed element; events reach the GTM or GA4 on your Webflow site.Setup guide
- SquarespacePlan: FreeA Code block with the script and element, or Code Injection for a floating button on every page.Setup guide
- WixPlan: FreeEmbed HTML for the widget, or site Custom code for a floating button that keeps events on your page.Setup guide
- FramerPlan: FreeAn Embed component for the widget, and site custom code for a tracked floating button.Setup guide
- HubSpot CMSPlan: FreeThe widget on HubSpot pages via a Rich text embed or HTML module; send bookings to the CRM through webhooks.Setup guide
Frameworks
Thin, typed components that render the same custom element and load the script once.
- ReactPlan: Free@bookingsxp/react: a <BookingsXPWidget> component with onEvent and onBooked, plus a useBookingsXP hook.Setup guide
- Next.jsPlan: FreeUse @bookingsxp/react in the App Router: server-rendered element, client-side loader, redirect to your thank-you route.Setup guide
- VuePlan: Free@bookingsxp/vue: a Vue 3 component with @event and @booked, safe for Nuxt server rendering.Setup guide
- SveltePlan: Free@bookingsxp/svelte: a Svelte 5 component with onevent and onbooked props, for SvelteKit too.Setup guide
- AstroPlan: Free@bookingsxp/astro: a zero-JS server component that renders the element and the script tag once per page.Setup guide
How the pieces fit
One booking, three places it shows up
- 01Every plan
On your page
The widget runs inside your page. As a visitor moves through it, the loader pushes bookingsxp.* events to your dataLayer and, when their IDs are set on the widget, calls the gtag, fbq and lintrk functions your site already loads. Your tags decide what happens next.
- 02Every plan
Inside Microsoft Bookings
The booking is created in Microsoft Bookings, which sends the confirmation, calendar invite and reminders as usual. BookingsXP adds a short block to the booking notes with the source, campaign, first page and a BXP reference, so whoever opens it in Outlook or Teams sees where it came from.
- 03Pro and Business
Out to your tools
Optional. Turn on Store bookings for a widget and BookingsXP sends a signed webhook, a Slack message or a Teams card when a booking is confirmed. Microsoft Bookings has no webhooks, so this is the piece that connects bookings to a CRM or automation tool.
The event your tags see
Ten events cover the funnel, from bookingsxp.widget_viewed to bookingsxp.booking_completed. No names, emails or phone numbers are pushed.
// Pushed on your page by the BookingsXP loader when Microsoft confirms a booking
window.dataLayer.push({
event: "bookingsxp.booking_completed",
bookingsxp: {
name: "booking_completed",
widgetId: "w_8fk2m1qz",
businessName: "Example Consulting",
service: { id: "a1b2…", name: "Initial consultation", durationMinutes: 45, price: 90, currency: "USD" },
staff: { id: "c3d4…", name: "Front desk" },
slot: { start: "2026-10-02T08:30:00Z", end: "2026-10-02T09:15:00Z", timeZone: "Europe/London" },
booking: { id: "BXP-7K2M9Q" }
}
});What your team sees in Bookings
Added to the appointment's notes in Microsoft Bookings, on every plan. It contains no personal data.
— Booked on your website · Ref BXP-7K2M9Q
Source: google / cpc · Campaign: autumn-audit (Paid search)
First page: /audit?utm_source=google&utm_medium=cpc&utm_campaign=autumn-audit
Booked from: /book
Referrer: google.com
Ad click: gclidStart with one widget
The Free plan covers every embed plus GTM and GA4 events, with no card. Add ad conversions and webhooks on Pro when you need them.