MARKETPLACE
PLUGINS
POWER BI ENTERPRISE
Power BI Enterprise logo

Power BI Enterprise

Published May 2023
   •    Updated November 2025

Plugin details

Sponsored by Anisoptera.io and developed by Genstate.com, the Power BI Embedded plugin allows Bubble.io developers to embed Power BI reports into their applications. This plugin is intended for applications to host their Power BI reports through a Bubble interface.
The plugin is a faithful thin wrapper around the Power BI REST API and the Power BI JavaScript Client; implementing Microsoft's development guidelines and recommended best practices for securely embedding Power BI components in web applications. For security, the plugin supports the App Owns Data Azure AD Service Principal authentication use case, and optional inclusion of Row Level Security Identities in token generation.

The Power BI Report element is designed to support both immediate embedding through the Embed action, and phased loading through the combination of Load and Render actions, with the Loaded and Rendered events. Phased loading is particularly useful when you need to filter the data before it is displayed.

For more information see the forum announcement:
https://forum.bubble.io/t/new-plugin-power-bi-embedding/261106

Support Notes:

1. Only "App Owns Data" Azure AD Service Principal authentication is supported.
2. Only "Report" embedding is supported.
3. Master and Mobile layout are supported. However, Mobile layout is currently still being tested.
4. Only "Basic" table-column value filtering is supported.
5. Only the default save dialog is supported.
6. Only view mode is supported. Report editing and creation is not supported.
7. For best responsive display we recommend resizing the report with the display by NOT enabling "fit to content".

$100

Per month

5.0 stars   •   1 ratings
34 installs  
This plugin does not collect or track your personal data.

Platform

Web & Native mobile

Contributor details

Genstate logo
Genstate
Joined 2022   •   2 Plugins
View contributor profile

Instructions

For a minimal implementation see the demonstration editor: https://bubble.io/page?type=page&name=powerbi&id=littlelambdas.  *NOTE* - the report it refers to is no longer in production so you will not see a functioning embedded chart.
1. In the Plugins tab, add the plugin to your application.
2. In the Power BI plugin, enter the keys in the environment variables.
3. In the Design tab, add the Power BI Report element to your page.
4. In the Workflow tab, add the element's Initialized event.
5. In the event, add the Get Report action passing a Report Identifier, remembering to save the Dataset Identifier in a state for use in token requests.
6. In the event, add the Get Token action, passing the Report Identifier and the Dataset Identifier.
7. In the event, add the element's Embed action passing the Embed URL, Token, Report Identifier, Dataset Identifier, and calculated token renewal time.
8. In the Workflow tab, add the element's Expiring event.
9. In the event, add the Get Token action, passing the Report Identifier and the Dataset Identifier.
10. In the event, add the element's Update Token action passing the new Token and the calculated renewal time.

Plugin Keys:

"Azure Tenant" - Unique identifier of the Azure account tenant.
"Azure Client" - Unique identifier of the Azure client or application within the account tenant.
"Azure Secret" - confidential and private secret of the specific client or application
"Azure Authority" - URL of the authority providing credentialing services. Trim any trailing backslashes.
"Azure Scopes" - A comma delimited list of URLs that are within the scope of granted privileges. Trim any trailing backslashes.
"Power BI Endpoint" - Base URL of the Power BI API endpoint for constructing REST requests. Trim any trailing backslashes.

Server-Side Actions:

"Get Report" - Calls the Get Report REST API endpoint. Requires a report identifier and optionally a workspace identifier. Returns the report web URL and embedding URL along with the dataset identifier.

"Get Token" - Calls the Generate Token REST API endpoint. Requires a report identifier and a dataset identifier, optionally supports a workspace identifier and a token lifetime in minutes. Returns the token and the time of expiration.

Hints:

1. Calculate the token renewal time in seconds using "expiration - current time: formatted as seconds - 300". Microsoft recommends renewing tokens 5 (300 s) to 10 (600 s) minutes before expiry.
2. To wrap a single string in a list use the "Split by" operator and specify a delimiter that is NOT found in the string.
3. All the usual provisos apply for handling responses from third party services. The Bubble developer needs to consider cases where either Azure or Power BI servers return invalid or unusable responses, particularly when requesting Tokens and secure report URLs.

Types

This plugin can be found under the following types:
Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:
Analytics   •   Data (things)   •   Web Scraping   •   Productivity   •   Technical   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

Average rating (5.0)

Excellent
April 14th, 2023
Easy to set up, and a powerful analytics engine which can now be used with ease
Bubble