managed
We hold the credentials
WPIntegrate runs the client-credentials flow for your tenant. Your administrator grants consent once and is not asked again.
Using WordPress? Every integration here is also available as a plugin. Browse the plugin store →
Released component
Bookings shows your live Microsoft Bookings services, staff and open time slots on your own website, and writes the confirmed appointment straight back into Microsoft 365.
The component platform is in pre-launch, so Microsoft Bookings for WordPress is the route open today — the same Microsoft 365 job, delivered as a WordPress plugin. If the web component is what you need, tell us and we will come back to you.
A drawing of Bookings on a fictional site, in our own tokens rather than a customer’s brand. The released component renders live Microsoft 365 data; this frame shows its arrangement only.
Putting it on the page
Two lines, and neither of them is a build step. Everything the component shows is resolved from the key at request time, so the markup on the page is the last markup anyone writes.
What it does
The Bookings component reads a Microsoft Bookings business through Microsoft Graph and renders the whole booking flow — service, staff member, date, time, contact details — inside your page. Availability is fetched at the moment the visitor looks, so the slots offered are the slots Microsoft says are free. The confirmed appointment lands in Bookings exactly as it would from Microsoft’s own booking page.
Microsoft Bookings gives a business a working scheduling engine and a booking page that lives on a Microsoft URL, in Microsoft’s styling, away from the site the visitor was reading. Sending someone off-site to book is where bookings are lost. This puts the same engine on your own page, in your own brand, without anyone having to build a Graph integration.
<wpi-bookings>managed or proxy — the tenant choosesWhere it runs
A custom element needs no build step and no framework, so where your site is built is not a question you have to answer before this one.
Named as examples of places HTML can be pasted. No partnership is implied and none of these are customers. WordPress is the one that gets more than an embed — the same Microsoft 365 jobs also ship as plugins with a Gutenberg block.
In detail
9 capabilities, every one of them resolved from the embed key rather than written into the page.
The service list, prices, durations and staff members are read from the Bookings business itself — nothing is retyped and nothing drifts. Pin a default service and a default staff member and the widget opens straight on the date-and-time step.
Slots come from Microsoft’s availability for the selected service and staff member, then are converted from the timezone the business hours were authored in into the visitor’s own. There is no cached copy of the calendar to go stale.
Vertical, horizontal and compact arrangements, plus a split layout with a business-information panel beside the form. Any of them can render inline in the page, behind a button that opens a modal, or as a floating launcher pinned to a page corner.
Per-service images with left, right or top alignment; per-staff photos and biography text keyed to the staff member so they survive a service-filtered list; one, two or three cards per row; and independent toggles for description, price, duration, email and photo.
Name, phone, address and notes can each be hidden and given a default value that is submitted invisibly. Email is always collected, because Microsoft Bookings needs it to confirm the appointment.
12- or 24-hour time, first day of the week, locale string, and an option to show slots in the visitor’s own timezone. The timezone the business hours are written in is a separate setting, so international visitors see correct times rather than shifted ones.
Show a thank-you message, redirect to a URL of your own, or offer cancel, reschedule and book-again buttons on the confirmation step.
Section headings, button labels, error text and step names all accept overrides, so the widget can speak another language or simply your own house wording.
An embed key only renders on the domains you list. reCAPTCHA v2 or v3 can gate submission, with the secret key held server-side, and a Google Tag Manager container id can be attached for measurement.
Microsoft Bookings for WordPress is on sale in the store now and does this job inside WordPress. The web component is in pre-launch — if that is the delivery you need, tell us and we will come back to you.
Reaching your tenant
Every tenant runs in one mode or the other, and the choice belongs to your IT rather than to us. It is the reason this works inside organisations that will not delegate Graph access to a vendor.
managed
We hold the credentials
WPIntegrate runs the client-credentials flow for your tenant. Your administrator grants consent once and is not asked again.
proxy
You hold the credentials
You supply a base URL and an API key for your own gateway. We store that key encrypted at rest and never hold a Graph token at all.
Questions
If yours is not here, ask it — the answers come back from a person rather than a form.
Yes. This component displays and writes to an existing Microsoft Bookings business, so Bookings has to be available in your Microsoft 365 tenant. If you want appointments taken directly against an Outlook calendar with no Bookings licence involved, use the Outlook Booking component instead.
In Microsoft Bookings, as ordinary appointments. Staff see them in Outlook and customers get Microsoft’s own confirmation mail, exactly as they would if the booking had been made on the Bookings page.
Only if you choose managed mode, where your IT administrator grants one-time admin consent to our Azure application. In proxy mode you supply your own base URL and API key, and Graph traffic never leaves your perimeter.
Yes. Colours, border radius, font family, type scale and per-tier font sizes are per-instance settings, with custom CSS for anything beyond them. The component ships neutral defaults and carries no WPIntegrate branding.
Yes. The button embed opens the flow in a modal and the floating embed pins a launcher to a corner of the page. Both use the same configuration as the inline version, including the modal width.