How to Get Power BI Application ID

Cody Schneider••9 min read

Getting your Power BI Application ID is the first critical step toward embedding reports in your own applications or automating workflows with the Power BI REST API. This process, which happens inside Microsoft Azure, provides your application a unique identity so Power BI knows who is asking for data. This article provides a straightforward, step-by-step guide to registering your application and getting the ID you need.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

What is a Power BI Application ID and Why Do You Need It?

Think of the Application ID (often called the "Client ID") as a username for your application. When your custom app wants to connect to the Power BI service to display a report or refresh a dataset, it presents this ID to authenticate itself. It’s part of a secure handshake that ensures only authorized applications can access your data visualization resources.

You’ll need an Application ID for several common scenarios:

  • Embedding Analytics for Your Customers: If you're a software developer building an application for external users (a multi-tenant environment), you need an App ID to allow your app to embed Power BI reports and dashboards for your customers to see, often without them needing their own Power BI license. This is often referred to as the "app owns data" model.
  • Embedding Analytics for Your Organization: For internal applications used by your colleagues (a single-tenant environment), the App ID allows you to embed Power BI content within your company’s internal portals, SharePoint sites, or other line-of-business apps. This is the "user owns data" model.
  • Automating with the Power BI API: If you want to write scripts or build services to manage your Power BI environment programmatically - like automating dataset refreshes, managing workspaces, or exporting reports - your code will use the Application ID to authenticate with the Power BI REST API.

In every case, the Application ID is the cornerstone of the authentication process that underpins these powerful features.

Prerequisites: What You'll Need Before You Start

Before jumping into the Azure portal, make sure you have a few things ready. This will save you time and prevent hitting any permission-related roadblocks.

  • A Power BI Pro or Premium Per User (PPU) account: You need a professional account to access the developer features required for embedding and API access.
  • An Azure Subscription: App registration is managed through Azure. You don’t necessarily need a paid subscription if you're just using the Free tier of Azure Active Directory, which is typically included with Microsoft 365 or Office 365 subscriptions.
  • Proper Permissions: This is the most common hurdle. You need permissions within Azure Active Directory (now called Microsoft Entra ID) to register applications. If you are not a tenant administrator, you might see a grayed-out "New registration" button. If that's the case, you'll need to contact your organization's IT or Azure administrator for assistance.

Step-by-Step Guide: Registering an Application in Microsoft Entra ID

The Application ID is generated when you register a new application. This entire process takes place in the Azure portal, not Power BI. Let’s walk through it step by step.

Step 1: Sign in to the Azure Portal

Open your web browser and navigate to the Azure portal. Sign in with the work or school account associated with your Power BI tenant.

Step 2: Navigate to Microsoft Entra ID

Once you are logged in, you can find Microsoft Entra ID in a few ways:

  • Use the main search bar at the top of the portal and type in "Microsoft Entra ID".
  • Click the portal menu icon (three horizontal lines) in the top-left corner and select "Microsoft Entra ID" from the list of services.

This is the central hub for managing your organization's users, groups, and application identities.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 3: Access App Registrations

Inside the Microsoft Entra ID blade, look at the left-hand navigation pane under the "Manage" section. Find and click on "App registrations". This is where you’ll see a list of all applications currently registered in your tenant and where you will add yours.

Step 4: Create a New Registration

At the top of the App registrations page, click the "+ New registration" button. This will take you to the "Register an application" form where you'll define the basics of your new application identity.

Step 5: Configure Your Application Details

This form has a few important fields you need to fill out correctly.

Name

Give your application a descriptive name that you and your colleagues will easily recognize. For example, "Sales Dashboard Embedding App" or "Nightly Data Refresh Service." This name is for your reference only and is shown to users during consent screens.

Supported account types

This is an important setting that determines who can use your application.

  • Accounts in this organizational directory only (Single tenant): This is the most common option for internal company apps or for the "app owns data" embedding model. It restricts access to users within your organization's Azure AD tenant.
  • Accounts in any organizational directory (Multitenant): Choose this if you are building a SaaS application that will be used by multiple organizations.
  • Accounts in any organizational directory and personal Microsoft accounts: This is a broader option that is less commonly used for Power BI scenarios.

For most Power BI use cases, the first option, "Accounts in this organizational directory only," is the correct choice.

Redirect URI (Optional but recommended)

A Redirect URI is the location where the authentication server sends the user after they have successfully signed in. Even if your application doesn’t use a sign-in flow right away, it's good practice to add one.

  • Select Web from the dropdown menu.
  • For testing purposes, you can enter a simple placeholder like http://localhost:1410 or use the official Power BI redirect address: https://app.powerbi.com/consentredirect. If you are building a real application, you'll use its actual URL here.

Don't worry too much about getting this perfect right now, you can always add or change it later.

Step 6: Register the Application

Once you’ve filled out the form, click the blue "Register" button at the bottom. Azure will now create your application identity and redirect you to its main overview page.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Locating Your Application (Client) ID

Success! As soon as the application is created, you’ll land on its primary management page. Right at the top, in the "Essentials" section, you will see a field labeled "Application (client) ID".

This long string of letters and numbers is the ID you’ve been looking for. This is the value you will copy and paste into your application's source code or configuration files. Go ahead and copy it to your clipboard and save it in a secure location.

Next Steps: Granting API Permissions

Just having the ID isn’t enough. You now need to tell Azure what level of access this new application should have to the Power BI service. Without permissions, any API call you make will be denied.

Step 1: Go to API Permissions

In the application’s left-hand navigation menu (under "Manage"), click on "API permissions".

Step 2: Add a Permission

Click the "+ Add a permission" button. A new pane will slide out, asking you to select an API.

Step 3: Select the Power BI Service API

In the list of "Commonly used Microsoft APIs," you should see "Power BI Service." If it's not immediately visible, scroll down or use the "APIs my organization uses" tab and search for it. Click on it to proceed.

Step 4: Choose a Permission Type

You’ll be asked to choose between "Delegated permissions" and "Application permissions."

  • Delegated permissions: The application acts on behalf of the signed-in user. It can only do what that user is allowed to do. This is required for the "user owns data" embedding model.
  • Application permissions: The application runs with its own permissions, without a signed-in user. This is necessary for the "app owns data" model or daemon services and almost always requires an administrator to grant consent.

Select the type that matches your embedding or automation model.

Step 5: Select Specific Permissions and Grant Consent

You'll now see a long list of permissions (scopes) like Report.Read.All or Dataset.ReadWrite.All. Select only the permissions your application absolutely needs to function. For example, if your app only displays reports, grant it Report.Read.All but not Report.ReadWrite.All.

After selecting your permissions, click "Add permissions". Back on the API permissions screen, you may see a message under the "Status" column saying "Not granted for..." If this happens, you (or a tenant admin) need to click the "Grant admin consent for [Your Tenant Name]" button to approve the permissions. The status should then change to a green checkmark.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Using Your New Application ID

With your Application ID copied and permissions granted, you're ready to use it. You'll typically place this ID in a configuration section of your code when initializing an authentication library like Microsoft Authentication Library (MSAL).

Here’s a conceptual example in JavaScript of what that might look like:

// Your application's settings or configuration file
const msalConfig = {
  auth: {
    clientId: "e1f1a23b-xxxx-xxxx-xxxx-c2d1e3f4e5a6", // Paste your copied Application (client) ID here
    authority: "https://login.microsoftonline.com/YOUR_TENANT_ID",
    // You may also need a client secret or certificate for server-side
  }
},

Remember, depending on your authentication flow, you may also need to create a "Client secret" from the "Certificates & secrets" section of your app registration. Always treat secrets like passwords and store them securely.

Final Thoughts

Registering an application in Azure and retrieving a Power BI Application ID is the foundational skill for unlocking the full potential of embedded analytics and API automation. By following these steps, you create a secure identity that acts as the bridge between your custom applications and your powerful Power BI data visualizations.

For many marketing and sales teams, the process of registering apps, managing APIs, and writing code for embedding can feel like a steep and unnecessary technical hurdle when you just want quick insights. We ran into this problem ourselves - spending hours on configuration instead of analysis - which is why we built Graphed. It's a much faster path to the same goal: getting live, interactive reports where you need them. Instead of navigating Azure AD, you can connect your data sources in a few clicks and use simple English prompts to instantly build and share the reports your team needs, entirely code-free.

Related Articles