Comparison · Integrations
Microsoft Bookings vs Cal.com (2026): features and hosting
Last updated 7 min read18 sources
Choose Cal.com if you want a hosted scheduler whose free plan already includes Stripe and PayPal payments, webhooks, Outlook and Teams connections, and a React embed, or if you need round robin, redirect-on-booking and US or EU hosting on a paid plan. Keep Microsoft Bookings if your organisation already pays for Microsoft 365, wants booking data kept in Exchange Online, and doesn't need payments, routing or a developer-grade embed.
One thing has changed since most comparisons were written: Cal.com announced on April 14, 2026 that it is "going closed source". The open-source code now lives on as Cal.diy, a community fork with enterprise features removed. Older advice that you can "self-host Cal.com for free with team features" is out of date.
Side-by-side comparison#
| Microsoft Bookings | Cal.com | |
|---|---|---|
| How you get it | Included in listed Microsoft 365 and Office 365 plans | Free plan for one user, then per-user plans |
| Paid team plan | No separate charge on an eligible plan | Teams: $12 per user per month, shown as yearly billing |
| Round robin | No; "Anyone" assigns staff randomly, no caps | Teams and above |
| Routing forms | No | Basic on Teams; attribute-based on Organizations |
| Redirect after booking | No native option | "Redirect on booking", Teams and above |
| Website embed | iframe | Inline, floating pop-up, pop-up on click, email embed |
| Embed events | None documented | bookingSuccessfulV2, bookerViewed and others |
| Webhooks | None; Power Automate connector in preview | Ticked on all plans, including Free |
| Payments | Not supported | Stripe and PayPal apps, free plan included |
| Remove vendor branding | No setting documented | Teams and above |
| Data residency | Microsoft 365, Exchange Online | "US & EU hosting" on Organizations |
| Source code | Proprietary | Closed source since April 2026; Cal.diy fork is MIT |
Prices in USD as listed on Cal.com's pricing page in September 2026. Prices change, so check before you buy.
Scheduling and routing#
Bookings organises scheduling around shared booking pages (services plus staff) and personal "Bookings with me" pages. When a customer chooses "Anyone", Microsoft's FAQ says staff are assigned randomly and that there is no way to ensure equal distribution or cap appointments per person. Users on Microsoft Q&A report alphabetical-first assignment instead, so Microsoft's docs and field reports disagree. Microsoft also says there is "no provision to set time zone for staff". The round-robin answer covers what you can do natively.
Cal.com's free "Individuals" plan covers one user with "unlimited event types & calendars". Round robin and basic routing forms start at Teams. Organizations adds attribute-based routing, a company sub-domain and SAML SSO with SCIM. Cal.com's free plan also lists "Email & SMS notifications". Customisable email and SMS notifications start at Teams.
Embedding and branding#
Microsoft's only documented embed is an iframe copied from the Booking page tab of a shared page. Branding is limited to colours and a logo, with no custom CSS or custom domain documented. Personal pages don't offer embed code. Why the iframe is cut off on mobile explains the most common complaint with that approach.
Cal.com offers four embed options: "inline embed, floating pop-up button, pop-up via element click, and email embed". Its help pages include React and HTML examples. On npm, @calcom/embed-react embeds a Cal link as a React component, and @calcom/atoms provides "customizable UI components to integrate scheduling into your product". Custom branding (colour, logo, dark mode) is on the free plan. Removing Cal.com branding starts at Teams.
Tracking and analytics#
Bookings' native attribution is the RefID URL parameter. It appears in a TSV activity report that Microsoft describes as covering "last four months" in one article and "past 120 days" in the FAQ. No GA4, Google Ads or Meta integration is documented, and there is no native thank-you redirect. Redirecting to a thank-you page explains why that matters for conversion tracking.
Cal.com works differently. Its Google Analytics app is published by Cal.com and free. The Google Tag Manager app is published by a third party ("Black Lemon"), and the Meta Pixel app is also third-party. Cal.com notes it "does not endorse or certify these apps unless they are published by Cal.com". For developers, the embed exposes events through Cal("on", {action, callback}), including bookingSuccessfulV2, bookerViewed, bookingCancelled and routed. Cal.com says that "with GTM App enabled for an Event type, these events are automatically sent to GTM". "Insights - analytics" is on Teams and above.
Integrations and webhooks#
Bookings has no webhooks. The Graph Bookings API applies only to shared bookings, and application permissions require tenant admin consent. The Power Automate connector is in preview, is limited to Bookings admins, and allows five flows per Bookings mailbox. Microsoft Bookings webhooks lays out the options.
Cal.com's pricing table ticks webhooks on all four plans, including Free. The free plan also lists Salesforce, HubSpot, Zapier and Make. On the Microsoft side, Cal.com publishes a free "Outlook Calendar" app and a "Microsoft 365/Teams" app that "requires work/school account". Cal.com recommends installing both together "so meetings include a proper online link". "Custom APIs" appear from Teams upward.
Payments#
Microsoft: "No, there's no payment support in Bookings." Cal.com's Stripe and PayPal apps are published by Cal.com, priced as free, and payments are ticked on the free plan.
Data and compliance#
Bookings data is stored in Microsoft 365 and Exchange Online, in shared mailboxes, and Exchange compliance policies for shared mailboxes apply. Bookings is cloud-only and not supported in federated or hybrid environments. You can make a consent checkbox required, and Microsoft records when the customer consents.
Cal.com's Organizations plan lists "US & EU hosting… to meet regional data residency requirements" and a SOC 2, ISO 27001, GDPR and CCPA compliance check. Enterprise adds a dedicated database. HIPAA is shown inconsistently on the pricing page: the plan cards list "SOC 2, HIPAA, ISO 27001 compliant" under Organizations, while the comparison table ticks HIPAA compliance for Teams as well. Whether a BAA is offered is not stated on their site. Confirm the details with Cal.com before you rely on them.
What changed with open source#
- Cal.com's blog post of April 14, 2026 is titled "Cal.com is going closed source".
- The old
calcom/cal.comGitHub path now resolves tocalcom/cal.diy, which is MIT-licensed. - Its README calls Cal.diy "a fork of Cal.com with all enterprise/commercial code removed". It adds that "Teams, Organizations, Insights, Workflows, SSO/SAML, and other EE-only features have been removed", and that it is "strictly recommended for personal, non-production use".
- For commercial use, the README points to hosted Cal.com or invitation-only on-premises enterprise access.
If self-hosting was your main reason to consider Cal.com, the free self-hosted route no longer includes team scheduling or round robin.
Pricing#
Bookings is included in listed plans: Office 365 A3, A5, E1, E3, E5, F1, F3, G1, G3 and G5, and Microsoft 365 A3, A5, E1, E3, E5, F1, F3, Business Basic, Business Standard, Business Premium, Teams Essentials and Teams Premium. It isn't sold on its own. Check Microsoft's site for current plan prices.
Cal.com, as listed on Cal.com's pricing page in September 2026 (USD per user per month):
| Plan | Price shown | Notes |
|---|---|---|
| Individuals | Free forever | 1 user |
| Teams | $12, labelled yearly, "Save 25%" | 14-day trial |
| Organizations | $28, labelled yearly, "Save 25%" | 14-day trial |
| Enterprise | Custom, annual pricing | Dedicated database, SLA |
The page content we read showed only the yearly figures, not the monthly-billing prices.
When to keep Microsoft Bookings#
- You already have an eligible Microsoft 365 plan and want Exchange Online to remain the only place booking data lives.
- Your appointments don't need payment, routing or fair distribution between staff.
- Staff are comfortable managing appointments in the Bookings web app and Outlook.
- Your IT or procurement team would rather not approve another data processor.
When to switch#
- You need payments, webhooks or redirect-on-booking and want them without custom development.
- Developers want to build scheduling into a React product with official packages.
- You need round robin or routing across a team.
- You need a stated US or EU hosting choice, which Cal.com lists on Organizations.
Keeping Bookings and filling the gaps with BookingsXP#
Some teams consider Cal.com only for the embed and tracking. BookingsXP covers those while keeping Microsoft Bookings as the system of record. You paste your public booking page link, with no admin consent, and get a widget with React, Vue, Svelte and Astro components, a redirect-url thank-you page, and dataLayer events for GA4 and GTM. With the optional data layer switched on, paid plans send webhooks for bookings made through the widget. Payments and round robin stay out of scope, so Cal.com is the better choice if you need them.
BookingsXP is independent and not affiliated with or endorsed by Microsoft. Microsoft Bookings, Microsoft 365, Outlook and Teams are trademarks of Microsoft. Other product names are trademarks of their respective owners.
Questions people also ask
Sources
- Microsoft Learn: Bookings overview (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Customize booking page (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Booking api overview (opens in a new tab) · learn.microsoft.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com: Embed events (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com: Adding embed (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com (opens in a new tab) · cal.com
- cal.com: Cal com goes closed source why (opens in a new tab) · cal.com
- github.com (opens in a new tab) · github.com