{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Microsoft Excel 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-excel-integration","__idx":0},"children":["Microsoft Excel integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrating Microsoft Excel with Frontegg allows your application to read and manage the signed-in user's Excel workbooks stored on OneDrive or SharePoint — through Frontegg's integration layer using Microsoft OAuth 2.0 and the Microsoft Graph API. Excel files are accessed through Microsoft Graph drive items, so the integration uses the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files.*"]}," permission set rather than Excel-specific scopes."]},{"$$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, then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New registration"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-excel-1.aa9b6e5864bb7a88d99c9b3eb5700e1d488169ca8ab11c7d00b89bbe3c416899.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":["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 Excel 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) and personal Microsoft accounts"]}," 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-excel-2.25962af5f9a8c7cf1881bdd0bf083daa43e846b9f52ba600389ff93277eb9fcb.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-excel-3.616d26a5230ae7f50a36c66b0887900e160eeecb7f8579efd958e1e21829bf9d.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-excel-4.69f1359a23fef0b76bd482bc67c6bf8dd2a2efbc0d680aeba6902f5c0b353474.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-excel-5.920fc7ab9ef5954bb8cc1a0866e79e802927d792f01ff7704a25dffd086d5151.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-excel-6.c4bb92479d7a08c13da97f16c4c363e22984f869815129ea121ba196448bda51.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-excel-7.9dde11e30228ac6f09ac4478c2c75dadb5bada05ff6732a91f42c96491fc3a7e.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-excel-8.b048ae0a82c0c99d0da5cfa2890cceac3fa7cdf43bb68c95aed4f9bdf3ee1309.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"]},". Use the search box to find the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files"]}," group and expand it, then select the required Files permissions. Repeat for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offline_access"]},", 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-excel-9.7ee7a4292d7390295189fc276086553b1b1900a6c8bb37aad15e3e88bc4f3970.1ce25488.png","alt":"Delegated permissions list with Files scopes 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-excel-10.0504421c02011d1f04d7d92e811bac76b5d3b0fcd618109d33b89529b5e67f34.1ce25488.png","alt":"API permissions page showing the configured Microsoft Excel 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 Excel."]},{"$$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":["User.Read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sign in and read the signed-in user's profile"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files.Read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read the user's files"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files.ReadWrite"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Have full access to the user's files"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read all files that the user can access"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Files.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Have full access to all files the user can access"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offline_access"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maintain access to data the user has granted"]}]}]}]}]},{"$$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/excel"},"children":["Microsoft Graph Excel API documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://learn.microsoft.com/en-us/graph/api/resources/onedrive"},"children":["Microsoft Graph Files 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 Excel integration","id":"microsoft-excel-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","displayName":"Microsoft Excel","seo":{"title":"Microsoft Excel integration"}},"lastModified":"2026-05-19T15:06:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/microsoft-excel","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}