> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consile.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Power BI

> Approve Consile at Microsoft with your work account. All permissions are read permissions for Power BI. The access is renewed automatically and can be revoked.

*[Læs siden på dansk](https://docs.consile.ai/connect/forbind-power-bi.md)*

You connect Power BI by logging in at Microsoft with your work or school account and
approving Consile. Consile stores the resulting access encrypted per customer. Your
AI never sees the access itself, only answers to your questions. See
[Power BI](https://docs.consile.ai/en/connectors/power-bi.md) for what the connector can do.

> [!NOTE]
>
> You need an active Power BI subscription in the [portal](https://app.consile.ai),
> or the system must be included in your plan
> ([the free edition](https://docs.consile.ai/en/portal/free-edition.md) or
> [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md)). You must log in with a
> Microsoft work or school account that has access to Power BI and to the workspaces
> your AI should be able to read. Your AI ([Claude](https://docs.consile.ai/en/connect/connect-claude.md) or
> [ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md)) can be added before or after.

> [!NOTE]
>
> The connection applies to your whole Consile account. All users with access to
> Power BI in Consile read through the Microsoft user that is connected, and so see
> the same workspaces and data, even if a colleague connected it. Anyone on the team
> can connect an agreement that is not connected yet. Only an administrator can
> reconnect it or disconnect it, because that changes the connection for everyone.
> If an administrator reconnects with a different Microsoft account, it replaces the
> existing connection.

## Choose the right Power BI user

The Microsoft user you log in with decides what your AI can see: the workspaces the
user is a member of, the user's own "My workspace" and the apps the user has
installed. For your AI to fetch numbers with DAX queries, the user needs Build
permission on the datasets in question. Talk to the owners of the workspaces if the
user's access needs to change before you connect.

## How to connect

**1. Open the connector in the portal**

Go to Power BI in the [portal](https://app.consile.ai). Click **Connect now** at
the top of the page, or **Connect** next to the agreement on the **Connections**
card. The portal calls each connection to the system an agreement. Right after
the purchase, the **Connect Power BI** button on the **Subscription activated**
page takes you to that page. If you have not accepted Consile's terms yet, you
are asked to do so first.

**2. Authorise access**

In the **Connect Microsoft** step, the portal shows the permissions Consile asks
Microsoft for: `Workspace.Read.All`, `Report.Read.All`, `Dataset.Read.All`,
`Dashboard.Read.All`, `App.Read.All`, `Dataflow.Read.All` and `offline_access`.
Click **Authorise access**. You are sent to Microsoft's login.

**3. Log in with your work account**

Log in with the Microsoft work or school account that has access to Power BI.
Microsoft refuses a login with a personal Microsoft account.

**4. Confirm with Microsoft**

Microsoft shows that Consile is asking for read access to Power BI on your behalf
and to keep that access. Confirm to continue. You are then sent back to the
portal. If Microsoft asks for an administrator's approval, see
[the section below](#if-microsoft-asks-for-administrator-approval).

> [!TIP]
>
> The portal shows **Power BI is connected**, and the agreement shows as
> **Connected**. On the connector's page, the agreement is named after the
> connected user, for example `<name> (<name>@example.com)`. Your AI can now read
> your Power BI. If you have not already added the address
> `https://mcp.consile.ai/power-bi/mcp` in your AI, do it now.

> [!TIP]
>
> The connection is shared by the whole company, so colleagues do not have to
> connect Power BI again. An administrator gives them access under **Team**, and
> each colleague adds the address in their own AI and logs in with their own Consile
> login. See [Team](https://docs.consile.ai/en/portal/team.md).

## If Microsoft asks for administrator approval

In many organizations, a regular user may not approve the Power BI permissions
themselves. Microsoft then shows that an administrator must approve the app, and you
cannot continue. There are two ways forward:

* **A Microsoft administrator connects.** An administrator in your Microsoft
  organization follows the steps above and ticks **Consent on behalf of your
  organization** on Microsoft's consent screen. Keep in mind that the agreement then
  reads with the administrator's Power BI access. If the agreement should read with
  another user's access, a Consile administrator reconnects the agreement afterwards
  (see [The access is renewed, but the connection can stop](#the-access-is-renewed-but-the-connection-can-stop))
  and logs in at Microsoft as that user.
* **Approval by request.** If your organization has turned on Microsoft's requests
  for administrator approval, you can send a request from Microsoft's screen. When an
  administrator has approved it in the Microsoft Entra admin center, start over in
  the portal.

Contact your Microsoft administrator, or write to [support@consile.dk](mailto:support@consile.dk), if you are in
doubt.

## What exactly am I approving?

> [card] Read permissions only
>
> All six Power BI permissions are read permissions (`*.Read.All`): workspaces,
> reports, datasets, dashboards, apps and dataflows. `offline_access` gives the
> renewable access that keeps the connection alive. Consile has no write tools for
> Power BI, and DAX queries can only read.

> [card] Power BI only
>
> The approval applies to Power BI, not to Outlook, Teams or other Microsoft
> services. Apart from the Power BI permissions and `offline_access`, Consile only
> accepts Microsoft's standard login details (`openid`, `profile`, `email`). If the
> approval contains permissions for anything other than Power BI, the connection is
> refused.

> [card] Encrypted per customer
>
> Consile stores the access encrypted with a key that applies only to your
> account, and never logs it. It is renewed automatically in the background. Data
> from Power BI is not stored.

> [card] Your AI never sees it
>
> Your AI is never given the access itself, only answers to your questions.

## The access is renewed, but the connection can stop

Consile renews the access automatically, so you do not have to reconnect during
normal use.

> [!WARNING]
>
> If the renewal fails, or Microsoft refuses the access (for example because Consile
> has been removed in your Microsoft organization), your AI is told that the
> connection must be set up again from the Consile portal. The portal can still show
> **Connected**, because the stored access is still there.

How an administrator reconnects:

* If the agreement says **Access revoked**, click **Reconnect**, and follow the
  steps above.
* Otherwise: click the menu (the three dots) next to the agreement on the
  **Connections** card, choose **Disconnect**, and confirm with **Disconnect**. Then
  click **Connect**, and follow the steps above.
* You can also ask your AI for a new connection link. Ask in the connector that
  belongs to the agreement (for example `power-bi-2`), so the link connects exactly
  that agreement.

> [!NOTE]
>
> If your AI is instead told that Power BI answered 403, the connected user lacks
> access to the workspace or Build permission on the dataset. Reconnecting does not
> help. Ask the owner of the workspace to give the user access.

## If the connection fails

If the approval does not succeed, the portal shows **Connection was not completed**
and a technical reason. The most common ones:

* `token_exchange_failed`: Microsoft did not send back a valid approval. Try again,
  and approve the access.
* `unexpected_scope`: the approval contained permissions for something other than
  Power BI. Try again.
* `no_refresh_token`: Microsoft did not return renewable access. Try again.
* `unknown`: for example if Microsoft did not grant all six Power BI permissions.
  Try again, and approve all the permissions. If that requires an administrator, see
  [the section above](#if-microsoft-asks-for-administrator-approval).
* `state_expired`, `invalid_state` or `state_unknown_or_consumed`: more than 10
  minutes passed, or the same approval was used twice (for example with the
  browser's back button). Start over in the portal.

Click **Try again** to get back to the connector's page, and start over with
**Connect now** or **Connect**. If that does not help, write to [support@consile.dk](mailto:support@consile.dk)
and include the technical reason.

## Multiple Microsoft users and tenants

One agreement is one connected Microsoft user and covers the workspaces that user
has access to. There are two reasons to add another agreement:

* **Another user's access.** If your AI should also read workspaces that only
  another user has access to, connect the new agreement with that user.
* **Another Microsoft tenant.** Connect the new agreement with a work account in the
  other tenant.

**1. Add an agreement**

Open Power BI in the portal. On the **Connections** card, an administrator clicks
**Add agreement (149.50 kr/mo.)**. The agreement is added to the existing
subscription and charged pro rata for the rest of the period.

**2. Connect the agreement**

When the new agreement is ready (typically after a few seconds), click
**Connect** next to it and complete the steps above with the other Microsoft
user.

**3. Add the address in your AI**

Each agreement has its own address, for example
`https://mcp.consile.ai/power-bi-2/mcp`. Copy it from the card, and add it as an
extra connector in your AI.

If you log in with a Microsoft user that is already connected on another agreement,
Consile updates the connection on that agreement instead. The page after the
connection says *Note: This account was already connected as another portal, so that
connection was refreshed instead. The new slot is still free.* The word portal here
means agreement. Connect the free agreement with another Microsoft user.

Under [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md#one-more-agreement-in-a-system)
and in [the free edition](https://docs.consile.ai/en/portal/free-edition.md), other rules apply to adding an
agreement. The **Connections** card shows what applies to you.

An administrator removes an agreement with the menu next to it: choose **Remove the
agreement**, and confirm with **Remove agreement**. If you remove an agreement that
is not the last one, the last agreement moves up into the free slot and takes its
address (for example `https://mcp.consile.ai/power-bi-2/mcp` instead of
`https://mcp.consile.ai/power-bi-3/mcp`). You must update the address in your AI.
You remove the last agreement by cancelling the subscription under
**Subscription**.

## Revoke access

You can remove the access again at any time:

* **In the portal:** an administrator clicks the menu (the three dots) next to the
  agreement on the **Connections** card, chooses **Disconnect** and confirms with
  **Disconnect**. The stored access is deleted at Consile right away. The
  subscription continues until an administrator cancels it under **Subscription**.
  If you have several agreements, an administrator can also remove an agreement
  entirely with **Remove the agreement**. Its access is then deleted too.
* **At Microsoft:** the approval stays in your Microsoft organization until you
  remove it yourselves. If you also want to remove it, an administrator does so
  under **Enterprise apps** in the Microsoft Entra admin center. Shortly after, the
  connector stops working, but the portal can still show it as **Connected** until
  you disconnect it in the portal.
* **When the subscription ends:** if you cancel Power BI under **Subscription**,
  Consile automatically deletes the stored access when the subscription ends. If a
  payment is only late, the tools do not work in the meantime, but the stored access
  is kept, so the connection works again without a new approval once the payment is
  in place.

More about data processing in [Security & data](https://docs.consile.ai/en/essentials/security-and-data.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.