Skip to main content

Power BI via Screenshot Service

This page describes how to display Power BI reports on Wallboard devices using the Power BI Export API — a method that renders reports as static images delivered through Wallboard's datasource system.

Wallboard calls Microsoft's Export API on a configured schedule to generate a static snapshot image of your Power BI report. The API returns an image URL which is stored in the datasource — this URL can then be bound to an Image widget via data binding to display the report on screen.

Widget vs Screenshot — which should I use?
Screenshot MethodPowerBI Widget
Wallboard license requiredProfessional or higherProfessional or higher
Device compatibilityAny deviceWebview 94+ required
Interactivity❌ Static image only✅ Fully interactive
Real-time data❌ Periodic refresh only✅ Live
Microsoft capacity required✅ Yes✅ Yes
Per-user license required✅ Pro or PPU✅ Pro or PPU
Proof of Play✅ Via Image widgetVia PowerBI widget

Use this method when: devices don't meet the Webview 94+ requirement, interactivity is not needed.

How It Works

  1. Wallboard authenticates with Microsoft using a dedicated account with Power BI scope
  2. Wallboard calls the Power BI Export API with the target report pages and page configuration
  3. Power BI renders the report server-side and returns a static image file
  4. Wallboard stores the image (if there are multiple pages selected from the report, then multiple images) and makes it available as a datasource URL
  5. An Image widget bound to the datasource displays the image on screen
  6. The datasource refreshes on a configured schedule to pull updated snapshots

Requirements

Wallboard License

Professional or higher.

Microsoft Licensing

Two Microsoft components are required — a capacity license for the workspace, and a per-user license for the dedicated account that calls the Export API.

Capacity License (Workspace)

The Power BI workspace must be assigned to a dedicated capacity. The Export API is not available on shared/Pro capacity — it will return a permanent error message.

Capacity TypeSKUsProduction ReadyNotes
Microsoft FabricF2–F2048Recommended. Current standard, replaces P SKUs
Power BI EmbeddedA1–A6Azure-based, hourly billing, can be paused
Shared/Pro capacityExport API not available
SKU Statuses

P SKU Retirement Power BI Premium P SKUs have been retired as of 2024–2025. New customers cannot purchase P SKUs — see Microsoft's official retirement announcement. F SKUs are the recommended replacement.

A SKU Status Microsoft originally planned to retire A SKUs alongside P SKUs but reversed this decision. A SKUs remain available for purchase.

Per-User License (Dedicated Account)

A paid per-user license must be assigned to the Microsoft account used to authenticate with Wallboard. This dedicated account is used solely for Wallboard's Power BI integration and calls the Export API on behalf of all screens.

LicenseSuitable for Wallboard?Notes
Fabric (Free)Cannot access the Export API
Power BI ProRecommendedSufficient for Export API access — see pricing
Premium Per User (PPU)Same Export API capabilities as Pro when workspace is on dedicated capacity — see pricing
Premium Per User clarification

PPU behaves identically to Pro for Export API access purposes when the workspace is on dedicated capacity. The PPU restriction that is commonly documented applies to PPU workspaces (Microsoft's shared infrastructure) — not to a PPU user accessing a Fabric or dedicated capacity workspace. With a Fabric F2 or equivalent workspace assigned, either Pro or PPU works fine.

Pro is recommended simply because it costs less.

Minimum Production Cost Summary

ComponentOptionNotes
Wallboard licenseProfessional screen license (minimum)Per your contract
Microsoft capacityFabric F2 (minimum)See Fabric pricing
Microsoft userPower BI Pro (1 dedicated account)See per-user pricing

Workspace Requirements

  • Shared workspace required — personal workspaces ("My Workspace") are not supported for the Export API. The workspace must be a shared collaborative workspace accessible to the dedicated account.
  • The workspace must be assigned to a paid capacity (Fabric F2 or equivalent) by a Power BI admin.
How to verify your workspace capacity

Before setting up, confirm your workspace has a capacity assigned:

  1. Open Power BI Service (app.powerbi.com)
  2. Go to your workspace
  3. Click Settings (gear icon) → Premium
  4. Check if a capacity is assigned — if it shows "Shared" or nothing, the Export API will not work

Power BI Admin Settings

The following tenant settings must be configured in the Power BI Admin portal → Tenant settings:

  • Export reports as PowerPoint presentations or PDF documents — enabled by default, no action needed
  • Export reports as image filesdisabled by default, must be manually enabled for PNG export to work
danger

If "Export reports as image files" is not enabled in the Power BI Admin portal, the datasource will fail. This is the most commonly missed setup step.

The dedicated account must also have at least Viewer access to the report workspace.

Setup Steps

  1. Connect Power BI Account
    • Go to Settings > Cloud Integration > Microsoft credentials > Add new
    • Select Scope: Power BI and Type: Work or School Account
    • Authenticate using the dedicated Microsoft account (must have a Pro or PPU license)
    • Advanced users can opt for Service Principal. Contact support for details

pbi1

  1. Create a Power BI Datasource
    • Go to Datasources > External datasources > Add new > Power BI
    • Select the Microsoft credential created above
    • Select the Workspace, Report, and optionally specific Pages
      • Multiple pages can be selected to retrieve in one datasource
    • Configure the refresh interval — hourly or daily is recommended (see limitations)

pbi-datasource

Example of the returned data

{
"pages": [
{
"id": "ReportSection",
"displayName": "Sales Overview",
"order": 0,
"media": {
"url": "URL"
},
"exportedAt": timestamp
},
{
"id": "ReportSection",
"displayName": "Win/Loss Ratio Overview",
"order": 1,
"media": {
"url": "URL"
},
"exportedAt": timestamp
},
{
"id": "ReportSection",
"displayName": "Industries Overview",
"order": 2,
"media": {
"url": "URL"
},
"exportedAt": timestamp
}
]
}
  1. Bind to an Image Widget
    • In the content editor, add an Image widget
    • Bind the widget to the Power BI datasource
    • The widget displays the exported report image and refreshes automatically on the datasource schedule

Limitations

  • Not real-time — the Export API renders server-side and Wallboard queues requests sequentially. Frequent refresh intervals increase queue depth and delay. Hourly or daily refresh is recommended.
  • Static image only — no interactivity, no drill-through, no filters. The report is a snapshot.
  • Custom fonts — fonts must be available in the Power BI cloud environment. Device-installed fonts have no effect on this method.
  • Max 50 pages per export — the Export API processes a maximum of 50 pages per job, with 5 pages rendered concurrently.

Troubleshooting

Permanent Failures

Power BI Export API errors can be permanent failures — errors that will not resolve by retrying. When a permanent failure occurs:

  1. The export stops immediately (no retry)
  2. The datasource is deactivated automatically
  3. You must fix the underlying issue first, then manually re-activate the datasource
ScenarioError CodeCauseFix
No Premium capacityFeatureNotAvailableErrorWorkspace is on Shared/Pro capacity with no dedicated capacity assignedAssign workspace to Fabric F2 or equivalent in Power BI admin
Capacity not availableNotOnDedicatedCapacityWorkspace exists but no capacity is assigned to itAssign workspace to a dedicated capacity in Power BI admin
All pages invalidInvalidPageNamesConfigured page names no longer exist in the report (e.g. renamed or deleted in Power BI)Update the datasource page configuration to match current report pages
Some pages invalidN/A — not a failureSome (but not all) configured pages renamed or removedWarning in audit log only — valid pages still export successfully
Re-activation required

Fixing the underlying issue alone is not enough — you must also manually re-activate the datasource in Wallboard by clicking the Refresh button on the datasource after resolving the problem.

Useful Resources