Guide to embed Power BI reports, dashboards in WordPress. Integrate Microsoft Power BI with WordPress using miniOrange Embed Power BI WordPress plugin. This setup guide will demonstrate the steps on how to embed PowerBI reports, dashboards, tiles, datasets / semantic model in WordPress pages and posts so users can view the interactive Power BI artifacts from the WordPress site itself. You can also enable row level security (RLS) for a granular view of the Power BI charts in WP.
Pre-requisites : Download And Installation
To configure Embed Microsoft Power BI reports on your site you would need following pre-requisites:
You will need Azure AD Global Administrator Access.
You will be represented with the home screen of Azure Active Directory.
Under the Azure Services section, select Microsoft Entra ID.
In the left tab, under the Manage section, select App registrations.
Click on New registration.
Assign the Display Name in the name field and choose the account type.
In the Redirect URI field, provide the URL of your WordPress site and click on the Register button.
After the registration of an application, Azure AD assigns an unique application ID to your application.
Navigate to the Overview tab, in the left pane.
Copy the Application ID and the Directory ID, this will be your Client ID and Tenant ID.
From the left navigation pane, navigate to the Certificates & secrets tab.
Click on New client secret. Enter the description and expiration time and click on the ADD option.
Copy the Secret Value as shown in the below screenshot. Once you navigate to any other page this value will be hidden so copy and paste it somewhere handy.
Note: Make sure you have copied the value of Client Secret and not the Secret ID as shown in the below image.
Add API Permissions to your Azure AD Application:
Go to API Permissions from the left navigation pane and click on Add a permission option.
Select Microsoft Graph under the Microsoft APIs tab.
Select Application Permissions and search for the User.
Under User select User.Read.All permission and click on the Add Permissions button.(Microsoft Graph)
Again, click on the Add a permission option.
Now select Power BI Service.
Select the Delegated Permissions option and search for your Report.
Under Report, select Report.Read.All permission and click on the Add Permissions button.
Now click on Grant admin consent for Default Directory.
In the popup that opens, click on Yes.
You can refer to the below image to verify if all the permissions that you have configured are correct and the same as the given image.
Now in the Azure AD Portal, navigate to Home > Users tab, then select a specific user from the list.
In the user details, you'll find two fields - User principal name and Object ID as shown in the screenshot below keep it handy for testing the plugin. You can also use your own office365 email in the UPN field.
Now you have successfully configured the Azure AD application.
2. Configure the Power BI Dashboard
Go to the Power BIdashboard and login as an administrator.
You will be represented with the home screen of the Power BI.
On the top right corner, click on settings icon as shown below.
Under the Settings pane as displayed, click on the Admin portal option.
In the Admin Portal section, under the Tenant settings, scroll down to the Developer settings.
Click on Service principals can use Fabric APIs.
Enable the toggle, select the option Apply to the entire organization and then proceed by clicking on Apply.
Now click on Allow service principals to create and use profiles.
Enable the toggle, select the option Apply to the entire organization and then proceed by clicking on Apply.
Scroll down to the Admin API settings, enable the toggle and then choose the option of Specific security groups.
Note: If you don’t have created Security Group, please refer to this FAQ guide for detailed steps.
Search for your security group (in this setup guide, we've created Allow PowerBI Admin APIs as a security group) then click on Apply.
Navigate back to the Home page. Select the Workspaces tab from the left pane and then select your workspace from the list.
Navigate to the Manage Access option in the navbar as shown in the screenshot below.
When you click on Manage Access, you will be presented with a screen showing the current users and security groups having access to the workspace.
You can then click on Add people/groups and search for the Azure AD application you created. Select the Azure application (in the setup guide, the application name is Test_application replace this with your own application name) to grant access.
After that, select Admin from the dropdown and add the application.
After you have completed configuring the access for the workspace, select the report that you want to embed in WordPress page or post.
Then copy the Workspace_ID and Report_ID from the URL as shown in the below image and keep it handy as you will need it further.
3. Configure and View Power BI Content using SSO
Navigate to the Embed Power BI Reports plugin.
Under the Manage Application tab, provide the below information.
Application ID
Paste the Application ID from Azure AD App.
Client Secrets
Paste the Client Secret from the Azure AD App.
Redirect URI
Enter the URL of your WordPress site.
Tenant ID
Paste the Directory ID from Azure AD App.
Now perform Test Connection to check if the connection is established by passing UserPrincipleName value, enter the UserPrincipalName or Object ID of the user in the Test UPN/ID field, then click on Save and check the connection.
On successful configuration you will be to able to view the attributes recieved from Azure AD for the user.
Now you can enable Azure AD SSO into WordPress so that the users in your organization can view the Power BI content.
To activate SSO on your WordPress site you need to enable the toggle Add a Single Sign-On button on the WordPress login page.
4. Embed your Power BI report into the WordPress
Navigate to the Embed Power BI tab in the plugin.
Under the option Select resource type to Embed select the appropriate resource type from the dropdown.
Additionally enter the Workspace ID, Report ID, Height and Width as per your requirements and click on the Generate Shortcode button.
Now after successful generation of shortcode, you can access the shortcodes in the ShortCodes Generated tab as shown in the below image.
Copy the shortcode using the copy button provided with the shortcode.
Note : You can generate multiple shortcodes in order to embed on your WordPress site.
In order to embed the shortcode you can Add a new page or Edit the existing page as shown in the below image.
Once the page editor is open then click on + symbol and then search for the Shortcode option.
Now paste the Shortcode that you copied previously and click on the Publish / Update button.
To view the reports on your WordPress, you would need to initiate SSO from the Azure AD end.
Also, if a user is not logged in via Azure AD SSO, the user will see a notice to login via SSO in the embed container as shown below.
With this, you have successfully connected Power BI with WordPress allowing you to embed interactive PowerBI reports, charts, and dashboards in WordPress. With additional support for row level security, you can enable a granular view of your Power BI visualizations in your WordPress site.
5. Additional configurations for your Embedded Resources
Navigate to the Settings tab of the plugin in order to configure additional settings for the embedded resources.
Filter Pane : This feature enables or disables the display of filter pane on the embedded resource.
Page Navigation : This feature enables or disables the display of the page navigation bar below the embedded content.
Language : If you wish to view the embedded content in any specific language then you may configure it from this option.
Format Locale : By this feature, you may change the locale format for embedded resources.
Mobile Breakpoint : This is the value which will be considered for embedding reports in mobile layout. Any width less than the entered amount will trigger the Mobile Report Embed functionality.
Mobile Height : This is the height for the mobile layout when width is less than the value entered in Mobile Breakpoint.
Mobile Width : This is the width for the mobile layout when width is less than the value entered in Mobile Breakpoint.
You may configure any of the settings above as per your requirements.
Now you have successfully embedded your Power BI report into the WordPress page and provided access to the Power BI report via Azure AD SSO.