Skip to main content
Julian contacts prospects, qualifies them over the phone, and books meetings with your representatives. When your team schedules through Microsoft Bookings, Julian can read availability and book directly into it during a live call. There are three ways to integrate, each with different tradeoffs around IT involvement, reliability, and call experience. You can start with the lightest option and graduate to a deeper integration as you scale.

Integration options

Choosing an option

Browser Automation

No IT involvement and available immediately. Best as a bridge while admin consent is still being approved.

Cal.com + Outlook

Sub-second booking with production-grade reliability behind a lightweight admin consent. The fastest path to a reliable launch.

Microsoft Bookings API

The enterprise-grade production path: fully deterministic, centrally controlled by your IT team, with no third-party token custody.
For most teams, Option 2 (Cal.com + Outlook) is the quickest way to a reliable launch. It delivers sub-second booking and requires only a narrowly scoped admin consent: it accesses the calendars of users who explicitly authenticate, and 11x never stores Microsoft tokens directly. If admin consent is still in progress when you are ready to start calling, Option 1 (Browser Automation) can serve as a bridge. It needs no IT involvement and can run while consent is under review. The ~15 second booking window is handled inside the natural call flow. Because it depends on Microsoft’s public booking page staying consistent, it is not recommended for long-term production use. For production at enterprise scale, Option 3 (Microsoft Bookings API) provides the deepest reliability, fully deterministic behavior, and centralized IT control. It requires registering an 11x application in your Azure tenant and granting Bookings API permissions, and keeps all credentials inside your tenant.

Permission details by option

Option 1: Browser Automation

No permissions, credentials, or IT involvement required. Julian navigates the public Microsoft Bookings page on behalf of the prospect, the same page any external visitor would use. There is no access to internal systems, calendars, or org data.

Option 2: Cal.com + Outlook (delegated permissions)

These are delegated permissions: they act on behalf of the individual user who authenticates and do not grant access to other users’ data. Admin consent is required if your tenant has disabled user self-consent.
Token custody: Cal.com (hosted SaaS) brokers the Outlook OAuth connection and stores and manages the Microsoft OAuth tokens for the authenticating rep. 11x does not store or have direct access to Microsoft credentials.

Option 3: Microsoft Bookings API (application permissions)

These are application permissions: they allow the registered 11x app to act without a signed-in user. They require registering an 11x application in your Azure tenant and granting admin consent. They are scoped to the minimum required for reading availability and creating appointments.
Not requested: Bookings.Manage.All. Julian does not create, modify, or delete businesses, staff members, services, or custom questions. Only read access to those resources and write access to appointments is required.
Token custody: 11x stores the application credentials for the registered Azure app. Access can be revoked at any time by removing the app registration or revoking admin consent in your Azure tenant.

Security notes (Options 2 and 3)

  • OAuth flow and Microsoft Graph API calls for Option 2 are handled by Cal.com’s backend. 11x does not store Microsoft OAuth tokens.
  • Access is scoped to the individual user who authenticates. There is no access to other users’ calendars, mailboxes, or org data.
  • Admin consent can be granted tenant-wide (for all users) or per-user. To limit which users the app applies to, use group-based app assignment (require user assignment, then assign the relevant group) as a separate access control.
  • If your org has disabled user self-consent (a common enterprise policy), an Azure AD admin must grant consent.

What happens during a call

When a caller reaches a point where a meeting should be booked, Julian uses Microsoft Bookings in real time:
  1. Julian reads live availability for the relevant booking business and service.
  2. Julian offers open time slots to the caller.
  3. Julian books the caller into the selected slot and creates the appointment.
In short:

Reference documentation for IT review

Option 2: Cal.com + Outlook (delegated permissions via Microsoft Graph) Delegated scopes used: User.Read, Calendars.ReadWrite, offline_access. 11x uses Cal.com as a hosted SaaS and does not self-host it; Microsoft OAuth tokens are stored and managed by Cal.com’s infrastructure, not by 11x. Option 3: Microsoft Bookings API (application permissions) Application permissions required: Bookings.Read.All, BookingsAppointment.ReadWrite.All. Azure AD / Entra ID admin consent (Options 2 and 3)