{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Microsoft Planner integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"title":"Frontegg Developer Documentation","description":"Authentication, authorization, and user management for Customer Identity, plus Agen for SaaS and Agen for Work. Guides, SDKs, and API references.","sections":[{"title":"Customer Identity (CIAM)","description":"Auth, SSO, SCIM, entitlements, and user management — guides, SDKs, and APIs.","includeFiles":["ciam/**/*.md"],"excludeFiles":[]},{"title":"Agen for SaaS","description":"Agentic access and authorization for SaaS products.","includeFiles":["agen-for-saas/**/*.md"],"excludeFiles":[]},{"title":"Agen for Work","description":"Agentic access and authorization for internal and workforce use.","includeFiles":["agen-for-work/**/*.md"],"excludeFiles":[]},{"title":"Platform","description":"Shared platform overview.","includeFiles":["platform/**/*.md"],"excludeFiles":[]}],"excludeFiles":["internal-docs/**","ciam/guides/env-settings/inject-client-ip.md","CLAUDE.md",".claude/**","**/images/**"],"hide":false}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"microsoft-planner-integration","__idx":0},"children":["Microsoft Planner integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Microsoft Planner is Microsoft 365's task and work-management app for teams. Integrating Microsoft Planner with Frontegg lets your application read and manage plans, buckets, and tasks on behalf of your users — all through Frontegg's integration layer, backed by Microsoft Graph. Microsoft Planner authenticates with OAuth 2.0 (Authorization Code flow) via Microsoft Entra, so you register an app in the Microsoft Entra admin center to obtain a Client ID and Client Secret."]},{"$$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 ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.microsoft.com/microsoft-365"},"children":["Microsoft 365"]}," account with Microsoft Planner, and access to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://entra.microsoft.com/"},"children":["Microsoft Entra admin center"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Permission to register applications in your Microsoft Entra directory (and, for organization-wide use, to grant admin consent)"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-to-microsoft-planner","__idx":1},"children":["Connect to Microsoft Planner"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You register an application in Microsoft Entra. The app provides the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application (client) ID"]}," and a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},", and defines the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["redirect URI"]}," that Microsoft returns users to after they authorize access. For single-tenant apps you also provide your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (tenant) ID"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-register-an-application","__idx":2},"children":["Step 1: Register an application"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://entra.microsoft.com/"},"children":["Microsoft Entra admin center"]}," and go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Entra ID → App registrations"]},". Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New registration"]},", enter a name (for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},"), choose the supported account types that match your use case, and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-copy-the-application-client-id-and-directory-tenant-id","__idx":3},"children":["Step 2: Copy the Application (client) ID and Directory (tenant) ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the app's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Overview"]}," page, copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application (client) ID"]}," — this is your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]},". If your app is single-tenant, also copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (tenant) ID"]},". For multi-tenant apps, you can leave the tenant ID as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["common"]}," in Frontegg."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-planner-1.2c745c85ca08577cc209dc4d0ecce785cfa0877cda45db11a27cf671acb52797.1ce25488.png","alt":"Microsoft Entra app Overview page showing the Application (client) ID and Directory (tenant) ID"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-add-the-redirect-uri","__idx":4},"children":["Step 3: Add the redirect URI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authentication"]},", add a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web"]}," platform (if not already present), and set the redirect URI to your Frontegg Redirect URL: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://YOUR_MCP_GATEWAY_URL/integration-callback"]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-planner-2.f992a5cdeddc09eb0c11f034171e6c81c2b343b606c132423f3a58bc309a9c51.1ce25488.png","alt":"Microsoft Entra Authentication page with a Web redirect URI"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-4-create-a-client-secret","__idx":5},"children":["Step 4: Create a client secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Certificates & secrets → Client secrets"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New client secret"]},". Add a description and an expiry, then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add"]},". Copy the secret ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," immediately."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Copy your Client Secret now","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The secret ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," is shown only once, right after you create it — Entra masks it afterward and shows only the Secret ID. Copy it immediately and store it securely; treat it like a password. If you lose it, create a 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-planner-3.f9759049d34c963ddbebbf019f8e74fe9a4eab1d45b1da9c7f38b7df29e6624c.1ce25488.png","alt":"Microsoft Entra Certificates & secrets page with a client secret"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-5-configure-microsoft-graph-permissions","__idx":6},"children":["Step 5: Configure Microsoft Graph permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API permissions"]},". Frontegg requests the Microsoft Graph delegated permissions it needs during authorization, but for organization-wide use an administrator may need to click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Grant admin consent"]}," so users are not prompted individually. Use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a permission → Microsoft Graph → Delegated permissions"]}," if you want to pre-configure them."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/microsoft-planner-4.6dff54f70d3c4b9bad6854aecaaad89e85868a94d211d0564f3583a3d9c5fa54.1ce25488.png","alt":"Microsoft Entra API permissions page for Microsoft Graph"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":7},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},", configure the integration 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 Planner."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," (Application (client) ID) and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (tenant) ID"]}," for a single-tenant app, or leave it as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["common"]}," for a multi-tenant app."]},{"$$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":"scopes","__idx":8},"children":["Scopes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Frontegg requests the following Microsoft Graph delegated permissions, plus the OIDC basics (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["openid"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["profile"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]},") and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offline_access"]}," for refresh tokens:"]},{"$$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 user's basic profile"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tasks.Read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read the user's Planner plans, buckets, and tasks"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tasks.ReadWrite"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create and update the user's Planner plans, buckets, and tasks"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":9},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app"},"children":["Register an application with the Microsoft identity platform"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://learn.microsoft.com/en-us/graph/api/resources/planner-overview"},"children":["Planner API overview (Microsoft Graph)"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]}]},"headings":[{"value":"Microsoft Planner integration","id":"microsoft-planner-integration","depth":2},{"value":"Connect to Microsoft Planner","id":"connect-to-microsoft-planner","depth":3},{"value":"Step 1: Register an application","id":"step-1-register-an-application","depth":4},{"value":"Step 2: Copy the Application (client) ID and Directory (tenant) ID","id":"step-2-copy-the-application-client-id-and-directory-tenant-id","depth":4},{"value":"Step 3: Add the redirect URI","id":"step-3-add-the-redirect-uri","depth":4},{"value":"Step 4: Create a client secret","id":"step-4-create-a-client-secret","depth":4},{"value":"Step 5: Configure Microsoft Graph permissions","id":"step-5-configure-microsoft-graph-permissions","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Scopes","id":"scopes","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Project Management","seo":{"title":"Microsoft Planner integration"}},"lastModified":"2026-07-28T15:15:47.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/microsoft-planner","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}