{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Microsoft Calendar integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"microsoft-calendar-integration","__idx":0},"children":["Microsoft Calendar integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrating Microsoft Calendar with Frontegg allows your application to create and manage calendar events, read and write calendars, query availability, and access mailbox settings — all through Frontegg's integration layer using Microsoft OAuth 2.0 and the Microsoft Graph API."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Microsoft account with access to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.azure.com/"},"children":["Azure portal"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An Azure Active Directory (Microsoft Entra ID) tenant"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"register-an-application-in-azure","__idx":1},"children":["Register an application in Azure"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-go-to-app-registrations","__idx":2},"children":["Step 1: Go to App registrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.azure.com/"},"children":["Azure portal"]}," and search for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App registrations"]}," in the top search bar. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App registrations"]}," in the results."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-1.f115a331c871d01a80f9b87c2c1fdc783a54b4fadfff4aeff6bcf09291dfa1f1.1ce25488.png","alt":"App registrations page in Azure portal"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-register-a-new-application","__idx":3},"children":["Step 2: Register a new application"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New registration"]}," at the top of the page. Fill in the registration form:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter a name for your application (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported account types"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Accounts in any organizational directory (Any Microsoft Entra ID tenant — Multitenant)"]}," for multi-tenant apps, or the appropriate option for your use case."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URI"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web"]}," as the platform and enter:",{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://YOUR_MCP_GATEWAY_URL/integration-callback\n"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register"]},"."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-2.86f0eb789723d5916f47f56cb2e1dd3d4b09f07feebe8cce9364612771bff010.1ce25488.png","alt":"New application registration form with name, account type, and redirect URI filled in"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-copy-the-application-client-id-and-directory-tenant-id","__idx":4},"children":["Step 3: Copy the Application (client) ID and Directory (tenant) ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After registration, you are taken to the application overview page. Copy both the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application (client) ID"]}," and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (tenant) ID"]}," — you will need them when configuring the Frontegg portal."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-3.1a085e6482c2d99aa92b8f27d6847762f7739aaae028370a4a97d631e0de66e7.1ce25488.png","alt":"Application overview page with Application ID and Directory ID highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-client-secret","__idx":5},"children":["Create a client secret"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-4-go-to-certificates--secrets","__idx":6},"children":["Step 4: Go to Certificates & secrets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the left sidebar, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Certificates & secrets"]},", then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New client secret"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-4.8e2daedeecde97e923eabf2d9590f1f0db0b35c1e6c981871278f6b887923a87.1ce25488.png","alt":"Certificates and secrets page with New client secret button highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-5-add-a-description-and-expiry","__idx":7},"children":["Step 5: Add a description and expiry"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a client secret"]}," panel, enter a description (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},") and choose an expiry period. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-5.c3afe83ce5f9d85f3e85fc0c508eeabe1585dde95a1673f132362f6fec51795f.1ce25488.png","alt":"Add a client secret panel with description field filled in"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-6-copy-the-client-secret-value","__idx":8},"children":["Step 6: Copy the client secret value"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The new secret appears in the list. Copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," immediately — it is only shown once. After you navigate away, you cannot retrieve it again."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Save your Client Secret now","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Client Secret value is only displayed once. After you leave this page, you can only see the secret ID — not the value. Store the value securely before continuing."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-6.0f6c66eeab66e8f7748add881f824c913f48ac31cc1eeb4b3905904b5b72d13a.1ce25488.png","alt":"Client secret list showing the new secret with value blurred"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-api-permissions","__idx":9},"children":["Configure API permissions"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-7-go-to-api-permissions","__idx":10},"children":["Step 7: Go to API permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the left sidebar, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API permissions"]},", then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a permission"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-7.2587af8cf16d921ee1cb6447e2002ddeb816966ed12f1356bffc69f07184f678.1ce25488.png","alt":"API permissions page with Add a permission button highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-8-select-microsoft-graph","__idx":11},"children":["Step 8: Select Microsoft Graph"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request API permissions"]}," panel, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Microsoft Graph"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-8.0561f4ec0d891df21fffaee7ce048e03a294777906fd664e8edde373459e8804.1ce25488.png","alt":"Request API permissions panel with Microsoft Graph highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-9-select-delegated-permissions","__idx":12},"children":["Step 9: Select delegated permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delegated permissions"]},". Search for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars"]}," and expand the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Calendars"]}," group. Select the permissions your application requires, then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add permissions"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-9.d0dcaacb5c55534cd7eba5775748fdaec4f76dd10909bd7729c346ea4594c94b.1ce25488.png","alt":"Delegated permissions list with Calendars.Read and Calendars.ReadWrite selected"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-10-verify-configured-permissions","__idx":13},"children":["Step 10: Verify configured permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After adding permissions, the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API permissions"]}," page shows all configured permissions under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Microsoft Graph"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-calendar-10.3c756ebe813eec605e51650dfedf9ef5e772b830f82aff3bfb3c1e3829fac14c.1ce25488.png","alt":"API permissions page showing the configured Calendars and User.Read permissions"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":14},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},", and optionally the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tenant ID"]},", enter them in the Frontegg portal:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → Microsoft Calendar."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," in the corresponding fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optionally, enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (tenant) ID"]},". Leave blank or use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["common"]}," for multi-tenant applications."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the required ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scopes"]},":"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars.Read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read-only access to user calendars and events"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars.ReadWrite"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create, read, update, and delete events in user calendars"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars.Read.Shared"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read events in all calendars the user can access, including shared calendars"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars.ReadWrite.Shared"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Full access to all calendars the user can access, including shared calendars"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Calendars.ReadBasic"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read basic calendar details, excluding body and attachments"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MailboxSettings.Read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read user mailbox settings"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MailboxSettings.ReadWrite"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write user mailbox settings"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Place.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read all company places (rooms and facilities)"]}]}]}]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":5},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your credentials secure","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never share or commit your Client Secret to version control."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":15},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://learn.microsoft.com/en-us/graph/api/resources/calendar"},"children":["Microsoft Graph Calendar API documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.azure.com/"},"children":["Azure portal"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow"},"children":["Microsoft identity platform and OAuth 2.0"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]},"headings":[{"value":"Microsoft Calendar integration","id":"microsoft-calendar-integration","depth":2},{"value":"Register an application in Azure","id":"register-an-application-in-azure","depth":3},{"value":"Step 1: Go to App registrations","id":"step-1-go-to-app-registrations","depth":4},{"value":"Step 2: Register a new application","id":"step-2-register-a-new-application","depth":4},{"value":"Step 3: Copy the Application (client) ID and Directory (tenant) ID","id":"step-3-copy-the-application-client-id-and-directory-tenant-id","depth":4},{"value":"Create a client secret","id":"create-a-client-secret","depth":3},{"value":"Step 4: Go to Certificates & secrets","id":"step-4-go-to-certificates--secrets","depth":4},{"value":"Step 5: Add a description and expiry","id":"step-5-add-a-description-and-expiry","depth":4},{"value":"Step 6: Copy the client secret value","id":"step-6-copy-the-client-secret-value","depth":4},{"value":"Configure API permissions","id":"configure-api-permissions","depth":3},{"value":"Step 7: Go to API permissions","id":"step-7-go-to-api-permissions","depth":4},{"value":"Step 8: Select Microsoft Graph","id":"step-8-select-microsoft-graph","depth":4},{"value":"Step 9: Select delegated permissions","id":"step-9-select-delegated-permissions","depth":4},{"value":"Step 10: Verify configured permissions","id":"step-10-verify-configured-permissions","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Productivity","seo":{"title":"Microsoft Calendar integration"}},"lastModified":"2026-05-19T15:06:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/microsoft-calendar","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}