Integrations
Send every Microsoft Bookings booking 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
- Free$0
- Every website and framework embed, GTM and GA4 events, and attribution in the booking notes. No card.
- Pro$9 a month or $90 a year
- Adds Google Ads, Meta and LinkedIn conversions, plus webhooks, Slack and Teams alerts on 5 endpoints.
- Business$29 a month or $290 a year
- 25 endpoints, 50 widgets and the REST API.
- EnterpriseContact us
- Custom limits and retention, a signed DPA and a security review.
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.
- Meta PixelPlan: ProSchedule on every confirmed booking and ViewContent when the widget is seen, through your existing Pixel.
- LinkedIn Insight TagPlan: ProA LinkedIn conversion on each confirmed booking, fired with lintrk from the Insight Tag already on your page.
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.
- SlackPlan: ProA Block Kit message in a Slack channel for each confirmed booking, via a Slack incoming webhook.
- WebhooksPlan: ProSigned JSON (HMAC-SHA256) to any HTTPS endpoint when a booking is created, with retries and a delivery log.
- ZapierPlan: ProStart a Zap on every website booking with Webhooks by Zapier → Catch Hook, then send it to any of Zapier's apps.
- MakePlan: ProA Make scenario that starts from Webhooks → Custom webhook on every booking, with the data structure learned from a real one.
- n8nPlan: ProTrigger an n8n workflow from the Webhook node, with room to verify the HMAC signature before anything else runs.
- Power AutomatePlan: ProStart a cloud flow from "When an HTTP request is received" and write bookings to SharePoint, Dataverse or Excel.
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.
- WebflowPlan: FreePaste the script and custom element into a Code Embed element; events reach the GTM or GA4 on your Webflow site.
- SquarespacePlan: FreeA Code block with the script and element, or Code Injection for a floating button on every page.
- WixPlan: FreeEmbed HTML for the widget, or site Custom code for a floating button that keeps events on your page.
- FramerPlan: FreeAn Embed component for the widget, and site custom code for a tracked floating button.
- HubSpot CMSPlan: FreeThe widget on HubSpot pages via a Rich text embed or HTML module; send bookings to the CRM through webhooks.
- GoDaddyPlan: FreeAn HTML section for the widget, or a GoDaddy button to your hosted booking page when the booking has to reach GA4 and your ad tags.
- Google SitesPlan: FreeInsert → Embed for the widget or its plain iframe, and a button to your hosted booking page when you need the booking in GA4.
- ShopifyPlan: FreeA Custom Liquid section puts the widget in a storefront page; theme.liquid adds a floating button to every page.
- ElementorPlan: FreeThe BookingsXP shortcode in Elementor's Shortcode widget, the HTML widget for the raw embed, and a floating button site-wide or on chosen pages.
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.
- Next.jsPlan: FreeUse @bookingsxp/react in the App Router: server-rendered element, client-side loader, redirect to your thank-you route.
- VuePlan: Free@bookingsxp/vue: a Vue 3 component with @event and @booked, safe for Nuxt server rendering.
- SveltePlan: Free@bookingsxp/svelte: a Svelte 5 component with onevent and onbooked props, for SvelteKit too.
- AstroPlan: Free@bookingsxp/astro: a zero-JS server component that renders the element and the script tag once per page.
Product names and logos belong to their owners and are used only to say which products BookingsXP works with. BookingsXP is independent and is not affiliated with, endorsed or certified by Microsoft, Google, Meta, LinkedIn, Slack or any other company named here.
One booking, three places it shows up
On your page
Every plan
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.
Inside Microsoft Bookings
Every plan
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.
Out to your tools
Pro and up
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. Pro, at $9 a month, adds ad conversions, webhooks and chat alerts when you need them.
No Microsoft sign-in or admin consent. Free plan, no card.