Power BI Requirements
Required Power BI plan
Kroo uses the embed for your customers pattern with a service principal. This requires your Power BI workspace to be assigned to one of the following capacity types:| Capacity type | SKUs | Purchase via |
|---|---|---|
| Microsoft Fabric | F2 and above | Azure portal |
| Power BI Embedded | A1 (EM1) and above | Azure portal |
| Power BI Premium | P1 and above | Microsoft 365 admin center |
Premium Per User (PPU) is not supported. While PPU gives individual users access to Premium features, Microsoft does not support it for the embed token API or the export API that Kroo uses for PDF exports.
What won’t work
- Power BI Pro only — Pro is a per-user license. The embed token API returns a
403 Forbiddenwhen the workspace is not backed by a dedicated capacity (source). - Power BI Free — No embedding capability.
- Premium Per User (PPU) — Not supported for embed token generation or PDF export (source).
Prerequisites
- Admin role in your Kroo organization
- A Power BI workspace backed by a Premium, Embedded, or Fabric capacity (see above)
- A published Power BI report in that workspace
- An Azure AD administrator who can grant consent to the Kroo application
First-Time Azure Setup
Before embedding your first report, your Azure AD admin must authorize the Kroo application and grant it access to your Power BI workspace. This only needs to be done once per organization.Grant admin consent to the Kroo app
Your Azure AD admin must visit the link below and approve the permissions. This authorizes the Kroo service principal to access Power BI APIs in your tenant.Grant admin consentFor background on why this is needed, see Microsoft’s service principal embedding guide.
Enable service principal API access (if not already enabled)
In the Power BI Admin portal, go to Tenant settings → Developer settings and verify these are enabled:
- Embed content in apps
- Allow service principals to use Power BI APIs
Embedding a Power BI Report
Paste your report URL
Copy the full URL from your Power BI report and paste it into the Power BI report URL field. Kroo will automatically extract the workspace and report IDs.The URL should look like:
https://app.powerbi.com/groups/{workspaceId}/reports/{reportId}Then fill in the remaining fields:| Field | Description |
|---|---|
| Power BI report URL | The full URL of your published Power BI report |
| Display name | The name shown for this dashboard inside Kroo |
| Report description | A short description of what the report contains |
Managing Dashboard Permissions
By default, all admin users have access to every embedded dashboard. To control access for other users:Open dashboard options
From the Dashboards list, find the dashboard you want to manage and click the three-dot menu (
⋯) on its card.Troubleshooting
| Symptom | Likely cause |
|---|---|
| Report fails to load with a 403 error | Workspace is not assigned to a Premium/Embedded/Fabric capacity, or the Kroo service principal has not been added as a workspace Member |
| ”Unable to create the report” on submit | The report URL is invalid, the report doesn’t exist, or the Kroo app doesn’t have access to the workspace |
| PDF export fails | Workspace is not backed by capacity, or the report uses unsupported visuals (R visuals, Python visuals, PowerApps). See Microsoft’s export limitations |
| Admin consent link returns an error | Your Azure AD admin may need to enable third-party app consent in Azure AD settings |