Comparison · Integrations

Microsoft Bookings vs Cal.com (2026): features and hosting

Last updated 8 min readPart of Microsoft Bookings: what it is and how it works18 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 BookingsCal.com
How you get itIncluded in listed Microsoft 365 and Office 365 plansFree plan for one user, then per-user plans
Paid team planNo separate charge on an eligible planTeams: $12 per user per month, shown as yearly billing
Round robinNo; "Anyone" assigns staff randomly, no capsTeams and above
Routing formsNoBasic on Teams; attribute-based on Organizations
Redirect after bookingNo native option"Redirect on booking", Teams and above
Website embediframeInline, floating pop-up, pop-up on click, email embed
Embed eventsNone documentedbookingSuccessfulV2, bookerViewed and others
WebhooksNone; Power Automate connector in previewTicked on all plans, including Free
PaymentsNot supportedStripe and PayPal apps, free plan included
Remove vendor brandingNo setting documentedTeams and above
Data residencyMicrosoft 365, Exchange Online"US & EU hosting" on Organizations
Source codeProprietaryClosed source since April 2026; Cal.diy fork is MIT

Prices in USD as listed on the Cal.com pricing page in September 2026. Prices change, so check before you buy.

Scheduling and routing#

Cal.com's free "Individuals" plan covers one user with "unlimited event types & calendars", and also lists "Email & SMS notifications". Round robin and basic routing forms start at Teams, as do customisable email and SMS notifications. Organizations adds attribute-based routing, a company sub-domain and SAML SSO with SCIM.

Bookings has no round robin: "Anyone" assigns a staff member at random according to the FAQ, with no balancing or caps, and there is "no provision to set time zone for staff". The round-robin answer covers what you can do natively.

Embedding and branding#

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.

Bookings gives you one iframe, copied from the Booking page tab of a shared page, and colour and logo settings. Personal pages have no embed code. Why the iframe is cut off on mobile explains the most common complaint.

What we saw when testing (September 2026)#

Developers sometimes plan to skip the iframe and build their own form against the public Bookings page instead, the way @calcom/atoms lets you on Cal.com. We captured that page and the calls it makes, and the public booking API returns no CORS headers, so browser code on your site can't call it. Any custom front end needs a server in between, and creating a booking took about 5.5 seconds in our tests. The supported alternative, Microsoft Graph, needs tenant admin consent (see iframe wrappers and Graph plugins).

Tracking and analytics#

Cal.com's 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.

The nearest Bookings equivalent is a RefID value on the page URL, visible in the activity export. There's no documented analytics integration and no redirect after booking, which Cal.com offers on Teams; redirecting to a thank-you page explains why that matters for conversion tracking.

Integrations and webhooks#

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.

Webhooks are one of the clearest gaps on the Bookings side. There are none; the closest thing is a Power Automate connector that is still in preview, open only to Bookings admins, and capped at five flows per Bookings mailbox. Microsoft Bookings webhooks lays out the options.

Payments#

Cal.com's Stripe and PayPal apps are published by Cal.com, priced as free, and payments are ticked on the free plan. The Bookings FAQ answers the same question with "No, there's no payment support in Bookings."

Data and compliance#

Hosting is where the two differ in kind. Bookings has no region choice of its own: data sits in the Exchange Online shared mailboxes of your tenant, under your existing Microsoft 365 policies.

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#

  • The Cal.com blog post of April 14, 2026 is titled "Cal.com is going closed source".
  • The old calcom/cal.com GitHub path now resolves to calcom/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 isn't sold on its own; it comes with the education, enterprise, frontline, government and business plans Microsoft lists (licence requirements). Check current Microsoft 365 prices with Microsoft.

Cal.com, as listed on the Cal.com pricing page in September 2026 (USD per user per month):

PlanPrice shownNotes
IndividualsFree forever1 user
Teams$12, labelled yearly, "Save 25%"14-day trial
Organizations$28, labelled yearly, "Save 25%"14-day trial
EnterpriseCustom, annual pricingDedicated database, SLA

The page content we read showed only the yearly figures, not the monthly-billing prices.

When to keep Microsoft Bookings#

  • You want Exchange Online to remain the only place booking data lives, with no US or EU hosting decision to make.
  • Your appointments don't need payment, routing or fair distribution between staff.
  • Nobody plans to build scheduling into your own product, so an iframe or a link is enough.
  • Your IT or procurement team would rather not approve another data processor, or reassess Cal.com after its licence change.

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 embed the widget with a script tag that works in any framework today (its React, Vue, Svelte and Astro packages are awaiting npm release). You get a redirect-url thank-you page and dataLayer events for GA4 and GTM, and our server handles the proxying the missing CORS headers require. 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, Microsoft 365, Microsoft Bookings, Outlook and Teams are trademarks of the Microsoft group of companies. Other product names are trademarks of their respective owners.

Questions people also ask

Sources

  1. Microsoft Learn: Bookings overview (opens in a new tab) · learn.microsoft.com
  2. Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
  3. Microsoft Learn: Customize booking page (opens in a new tab) · learn.microsoft.com
  4. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  5. Microsoft Learn: Booking api overview (opens in a new tab) · learn.microsoft.com
  6. cal.com (opens in a new tab) · cal.com
  7. cal.com (opens in a new tab) · cal.com
  8. cal.com (opens in a new tab) · cal.com
  9. cal.com (opens in a new tab) · cal.com
  10. cal.com (opens in a new tab) · cal.com
  11. cal.com (opens in a new tab) · cal.com
  12. cal.com: Embed events (opens in a new tab) · cal.com
  13. cal.com (opens in a new tab) · cal.com
  14. cal.com: Adding embed (opens in a new tab) · cal.com
  15. cal.com (opens in a new tab) · cal.com
  16. cal.com (opens in a new tab) · cal.com
  17. cal.com: Cal com goes closed source why (opens in a new tab) · cal.com
  18. github.com (opens in a new tab) · github.com