{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Power BI 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":"power-bi-integration","__idx":0},"children":["Power BI integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrating Microsoft Power BI with Frontegg allows your application to read and manage datasets, reports, dashboards, workspaces, dataflows, and apps in a Power BI tenant through the Power BI REST API — all via Frontegg's integration layer using Microsoft Entra ID OAuth 2.0."]},{"$$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":["A Microsoft Entra ID (Azure AD) tenant where you can register applications"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Power BI account (Power BI Pro, Premium Per User, or Power BI Premium capacity is required for some endpoints such as dataflows and report export)"]}]}]},{"$$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-open-app-registrations","__idx":2},"children":["Step 1: Open 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 open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App registrations"]}," (you can search for it in the top search bar or open it directly from ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Microsoft Entra ID → App registrations"]},"). Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New registration"]}," at the top of the page."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/powerbi-1.26865dec38c7eb812792589b90f6868b9eae5956ab3bcef9dbb9354c1ff345f3.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 Power BI 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 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Accounts in this organizational directory only"]}," for a single-tenant app."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URI"]},", choose ",{"$$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/powerbi-2.111b93cb12b3e674124aff4b1f563da77fd42964e31da4a2abe73cfb97b40420.1ce25488.png","alt":"New application registration form with name, multitenant account type, Web platform, 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 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["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/powerbi-3.1af9d28e4e608b02c0f01937c20c86ce0173dae9558a6835b731a936bfa80ad8.1ce25488.png","alt":"Application overview page with Application (client) ID and Directory (tenant) 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-open-certificates--secrets","__idx":6},"children":["Step 4: Open Certificates & secrets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the left sidebar, under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manage"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Certificates & secrets"]},". On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client secrets"]}," tab, 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/powerbi-4.2a83409185ef7ca9172442b207755f5d2a1465780c187a9ae27408331a0c65c8.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/powerbi-5.114c86e7930194fe3d448ae4421ea63209b670c595826bb38f0d146d613e090f.1ce25488.png","alt":"Add a client secret panel with description field filled in and Add button highlighted"},"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/powerbi-6.f4a7c97830508c546b2be1b4db660287615443f955ae7210597b9e889824899f.1ce25488.png","alt":"Client secret list showing the new secret with value blurred and highlighted"},"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-open-api-permissions","__idx":10},"children":["Step 7: Open 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/powerbi-7.de2768fad439189adc37b10731b2b7d3924c7fff62f465807840ef4bdbbc59ff.1ce25488.png","alt":"API permissions page with Add a permission button highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-8-select-power-bi-service","__idx":11},"children":["Step 8: Select Power BI Service"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request API permissions"]}," panel, scroll to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Commonly used Microsoft APIs"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Power BI Service"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/powerbi-8.5225043e30c1b7fb4dcf323ab07462ab789d5e71e878fcc31f35917e03db430c.1ce25488.png","alt":"Request API permissions panel with Power BI Service 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"]},". Expand each permission group and select the scopes your application requires. Select the following 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":["App.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View all Power BI apps the user has access to"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dashboard.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read dashboards"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dashboard.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write dashboards"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dataflow.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write dataflows (Premium or Premium Per User required)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dataset.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View all datasets"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dataset.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write all datasets (create, refresh, delete)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Report.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read reports"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Report.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write reports (clone, delete, export)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Workspace.Read.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View all workspaces"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Workspace.ReadWrite.All"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read and write all workspaces and their members"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add permissions"]},"."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"How Power BI scopes are issued","type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Frontegg requests Power BI access using the resource-scoped ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://analysis.windows.net/powerbi/api/.default"]}," scope. Microsoft Entra ID returns the union of all delegated Power BI permissions you have pre-authorized on this app — only the scopes you select here will be included in the issued token."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/powerbi-9.ff77a737f3f59bab6438994f7648290cdc7da481ce7ff97e47e6c8f9f838bb33.1ce25488.png","alt":"Delegated permissions list with selected Power BI Service scopes"},"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 lists all configured permissions under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Power BI Service"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/powerbi-10.2204adca2b2ccb9f17d01ac26243d3f53e7e8422304f45bdc47404363dbf49aa.1ce25488.png","alt":"API permissions page showing all configured Power BI Service 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 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Directory (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 → Power BI."]},{"$$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 set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["common"]}," for multi-tenant applications; use a tenant GUID or domain for single-tenant applications."]},{"$$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/rest/api/power-bi/"},"children":["Power BI REST API reference"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.powerbi.com/"},"children":["Power BI service"]}]},{"$$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":"Power BI integration","id":"power-bi-integration","depth":2},{"value":"Register an application in Azure","id":"register-an-application-in-azure","depth":3},{"value":"Step 1: Open App registrations","id":"step-1-open-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: Open Certificates & secrets","id":"step-4-open-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: Open API permissions","id":"step-7-open-api-permissions","depth":4},{"value":"Step 8: Select Power BI Service","id":"step-8-select-power-bi-service","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":"Analytics","displayName":"Power BI","seo":{"title":"Power BI integration"}},"lastModified":"2026-05-19T15:06:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/powerbi","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}