Everything BookingsXP does
BookingsXP puts your Microsoft Bookings page on your own site, tracks where each booking came from, and can send the booking on to your other tools. Microsoft Bookings stays the system of record. Every feature is listed below with the plan it starts on.
76 features in 9 groups. Unless a plan is named, a feature is on every plan, Free included.
Booking experience and templates
The booking flow your visitors see. Services, staff, hours and rules still come from your Microsoft Bookings page.
- Eight templates4 on Free, all 8 on Pro
- Classic, Compact, Next available and Profile on every plan; Split, Week view, Guided and Service cards on Pro. Switch any time without changing the code on your site.
- Accent colour and dark mode
- Your brand colour on buttons and selected times, in light mode, dark mode or following the visitor's system setting.
- Full stylingPro and above
- Five font choices, corner radius, comfortable or compact density, solid, soft or outline buttons, and your own or a transparent background.
- No BookingsXP badgePro and above
- Free widgets show a small “Powered by BookingsXP” line; paid plans remove it.
- Business header and logo
- Show or hide your business name and logo from Microsoft Bookings above the calendar.
- Visitor time zone
- Times open in the visitor's own time zone, with an optional zone picker, a 12 or 24 hour clock and your choice of first weekday.
- Staff choice
- Follow your Bookings setting, make choosing a person optional, or hide it, and limit which staff are offered.
- Your wording
- Set the headline, the booking button text and the confirmation title and message.
- Consent checkbox
- An optional required checkbox before booking, for a privacy or marketing consent statement you write.
- Add to calendar and manage link
- The confirmation offers an .ics download and Microsoft's link to change or cancel the booking. Each can be turned off.
- Email verification codes
- If your Bookings page asks for a one-time code, Microsoft emails it to the visitor and the widget asks for it before confirming.
- Keyboard and screen readers
- The calendar is a labelled grid you move through with arrow keys; month changes and the confirmation are announced; reduced motion is respected.
- Built for phones
- Every template adapts below its designed width; Compact and Next available are made for sidebars and small screens.
Embeds and platforms
One script and one element on any page that accepts HTML, or a plugin or package for your platform.
- Inline embed
- The widget sits in your page, resizes to its content on every step and loads when it nears the viewport.
- Popup button
- A button on your page that opens the widget in a dialog.
- Floating button
- A button fixed to the bottom-right corner of every page that includes it.
- Plain iframe
- No JavaScript at all, for locked-down pages. The booking works; page events and attribution need the script.
- Link-only modeNo account needed
- Point the element at your Bookings link with no BookingsXP account: free templates, the badge and dataLayer events only.
- WordPress plugin
- A shortcode and an editor block, with a settings page for your default widget.
- Site builders
- Webflow, Squarespace, Wix, Framer and HubSpot pages through their HTML or embed blocks; a div form for builders that strip unknown tags.
- Framework components
- Typed wrappers for React and Next.js, Vue, Svelte and Astro. Their npm release is pending; the script embed works in every framework today.
- JavaScript API
- Render widgets, pass prefill and listen for booking events from your own code.
- Allowed domains
- Restrict each widget to your own domains so nobody else can embed it.
- Small loader
- The script is about 8 KB gzipped and loads with async, so it does not hold up your page.
Hosted booking pages
Every widget also has its own page, for places that take a link rather than an embed.
- Hosted booking page
- A page at bookingsxp.com/book/<name> with the same template and colours, for email signatures, QR codes, social bios and ads. No website needed.
- Custom address
- Pick the name after /book/, checked for availability as you type. The widget's original link keeps working and redirects to it; Microsoft trademarks and reserved words are not allowed.
- Optional search indexing
- Hosted pages stay out of search engines by default. Turn indexing on per page and it is added to the sitemap.
- Tracked like the embed
- Add UTM tags to the link and they flow into the booking notes and your reports.
Tracking and attribution
The booking happens on your page, so the tags you already use can see it, and the source is written into the booking itself.
- One tracking switch
- Turn every dataLayer, GA4, Google Ads, Meta and LinkedIn event and the source summary in the booking notes off at once, per widget or for the whole workspace. Your IDs are kept for when you turn it back on.
- Tag Manager events
- Every step, from widget viewed to booking completed, is pushed to the dataLayer as bookingsxp.<event>.
- GA4 events
- Add your measurement ID and the widget sends generate_lead and three step events to GA4 through gtag.js on your page.
- DOM events and callbacks
- Listen for bookingsxp:<event> on the window, or pass onBooked to the JavaScript API.
- Source in the booking notes
- UTM tags, which ad click ID was present, the referrer, the first page and a BXP reference are written into the booking's notes in Microsoft Bookings.
- Source as a question answer
- Optionally answer a hidden custom question, such as “How did you hear about us?”, so the source appears in Microsoft's own export.
- 90-day attribution
- The campaign that first brought a visitor is remembered for 90 days, so a booking made from a bookmark next week is still credited.
- Thank-you page redirect
- Send visitors to your own confirmation page after booking, with the booking ID, service and start time in the URL.
- Google Ads conversionsPro and above
- Fires your conversion when Microsoft confirms the booking, with the booking ID as the transaction ID so it is not counted twice.
- Enhanced conversionsPro and above
- Adds the visitor's email, hashed with SHA-256 in their browser, to the Google Ads conversion. Off until you turn it on.
- Meta and LinkedIn conversionsPro and above
- A Meta Schedule event with the booking ID as event ID, and a LinkedIn conversion, when those tags are on your page.
Analytics
Reports in the BookingsXP dashboard, counted without cookies or personal data.
- Views, bookings and conversion rate30 days on Free, 12 months on Pro, 24 on Business
- Visits that saw a widget, confirmed and failed bookings, and bookings divided by views, with a daily chart.
- Missed demand
- Visits that opened the widget and found no open times: the number to show whoever sets staff hours.
- Booking funnelPro and above
- Saw the widget, picked a day, picked a time, started details, booked: where visitors drop off.
- Channels, sources and campaignsPro and above
- GA4-style channel grouping, source and medium, and every utm_campaign, each with views, bookings and conversion rate.
- Pages, services and devicesPro and above
- Which pages, services and device types turn visits into bookings.
- When appointments landPro and above
- A weekday by hour heatmap of booked appointments, in your time zone.
- Event exportPro and above
- Every event in the period as a CSV file.
Data, webhooks and integrations
Optional. Nothing personal is stored until you switch on Store bookings for a widget.
- Store bookings30 days on Free, 12 months on Pro, 24 on Business
- A per-widget switch, off by default, that keeps a copy of each booking with its answers and source.
- Bookings list
- One searchable list across all your widgets: find a booking by name, email, reference, service or campaign.
- Erase by email
- Delete every stored booking for one email address in one step, for data-subject requests.
- Bookings CSV exportPro and above
- Stored bookings with customer, answers and attribution, for spreadsheets and CRMs that import files.
- Signed webhooks5 endpoints on Pro, 25 on Business
- booking.created and booking.failed POSTed as JSON to your endpoints, signed with HMAC-SHA256.
- Retries and delivery logPro and above
- Failed deliveries are retried up to 8 times over about two hours; every attempt is logged and can be resent by hand.
- Microsoft Teams alertsPro and above
- Each booking posted to a Teams channel as a card, through the channel's Workflows webhook. No Microsoft 365 permissions needed.
- Slack alertsPro and above
- Each booking posted to a Slack channel through an incoming webhook, with the source and campaign.
- Zapier, Make, n8n and Power AutomatePro and above
- Start a zap, scenario, workflow or flow from each booking and send it to your CRM, sheet or inbox.
Extras Microsoft Bookings can't do
Settings in the widget that Microsoft's own booking page does not offer. Your Bookings page itself is not changed.
- Prefill
- Fill in name, email, phone and notes from attributes, the JavaScript API or the hosted page URL. Values never go into the widget's iframe URL.
- Daily booking cap
- Stop offering a day once a set number of bookings have come through the widget for it. Microsoft's own page is not capped.
- Help text under questions
- Add a line of guidance under any custom question from your Bookings page, such as what to put in a policy number field.
- Email typo check
- Suggests a fix for common domain typos such as gmial.com before the booking is sent, so confirmations reach the visitor.
- Per-staff and per-service links
- Open the widget or hosted page on one person or one service with an attribute or a URL parameter. Microsoft Bookings has no per-staff link.
Privacy and security
BookingsXP works from your public Bookings link. Microsoft stays the system of record.
- No Microsoft sign-in or admin consent
- No app registration, Graph permissions or tenant approval. If you can copy your Bookings page link, you can set it up.
- No personal data by default
- Names, emails and answers go to Microsoft Bookings and are not kept, unless you switch on Store bookings.
- No cookies
- The loader and the widget set no cookies. Funnel counts use a random ID that lives only in memory.
- Global Privacy Control
- When the browser sends GPC, or your consent tool sets window.bxpConsent = false, attribution is reduced to the page path and referring site.
- No IP addresses stored
- Rate limiting uses a hash salted with the current day; the raw address is never written down.
- Isolated iframe
- The widget runs in its own iframe and talks to your page only through messages checked against both origins.
- Retention by plan30 days on Free, 12 months on Pro, 24 on Business
- Analytics and stored bookings are deleted after your plan's period; webhook delivery logs after 30 days.
Team, billing and API
Plans are per organisation. Prices in US dollars.
- Workspace defaults
- Set brand, time and language, button and confirmation text, tracking, privacy, allowed websites and search indexing once for every widget. Change the brand colour once and every widget that follows updates live, with no re-pasting.
- Per-widget overrides
- Each section has a “Use workspace default” switch in the widget editor. The Bookings link, template, services and staff, headline, daily limit, thank-you page and page address are always per widget.
- Widgets1 / 5 / 50, unlimited on Enterprise
- One widget on Free, 5 on Pro and 50 on Business, each with its own Bookings link, template and tracking.
- Team members1 on Free, 3 on Pro, 10 on Business
- Invite colleagues to your organisation's dashboard.
- Free planFree
- $0 with no card and no time limit: one widget, four templates, events and attribution.
- 14-day trialPro, Business
- Try Pro or Business once, without a card. When the trial ends you are back on Free and nothing becomes read-only.
- Monthly or yearlyPro, Business
- Pro is $9 a month or $90 a year; Business is $29 a month or $290 a year.
- REST APIBusiness and above
- API keys for reading your widgets, stored bookings and analytics from your own systems. Keys are shown once and stored hashed.
- EnterpriseEnterprise
- Custom limits and retention, a DPA, security questionnaire and SLA, and priority onboarding.
A plan name shows where a feature starts, and higher plans include everything below them: Free, Pro at $9 a month, Business at $29 a month, Enterprise on request. Compare plans. BookingsXP is independent and not affiliated with or endorsed by Microsoft.
Start with one widget
The Free plan covers the widget, four templates, GA4 and Tag Manager events and the source in every booking. Upgrade when you need reports, ad conversions or webhooks.
No Microsoft sign-in or admin consent. Free plan, no card.

