How to put a Power BI report on a TV screen
Show the reports your teams already rely on, live, on lobby and office screens. The BI Dashboard widget embeds a Power BI report with your own Entra app, so private data stays private, and it can rotate through report pages on its own.
How it works
ScreenTinker uses Power BI’s App owns data embedding with your own Entra ID app, a service principal. An organization owner or admin adds the connection once, in Settings → BI dashboards, and editors pick a report from it.
- Credentials stay on the server. The app secret is encrypted and never sent to a screen.
- Screens get a view-only token for one report, which expires within the hour. The screen fetches a new one before it does.
- Pages rotate. List the pages you want, or tick Rotate through all visible pages, and set how long each one shows.
- Sandboxed. Every dashboard page runs with an isolated origin, so the report can’t reach anyone’s ScreenTinker session.
Set it up
- In Entra ID, register an application and add a client secret. It needs no Microsoft Graph or Power BI API permissions.
- In the Power BI admin portal, under Tenant settings → Developer settings, turn on Service principals can use Fabric APIs (in older tenants, “Allow service principals to use Power BI APIs”). You can limit it to a security group that contains the app.
- In each Power BI workspace whose reports you want on screens, add the app (or that group) as a Viewer or higher.
- In ScreenTinker, open Settings → BI dashboards → Add a connection → Power BI, and enter the tenant ID, the client ID and the secret. Test signs in and counts the workspaces the app can see.
- Add a BI Dashboard widget, choose the connection, Browse for a report, and set page rotation and Refresh every if the dataset refreshes on a schedule.
- Put the widget in a playlist and assign it to a screen.
Full details are in docs/bi-dashboards.md.
The no-credentials option: Publish to web
Power BI’s File → Embed report → Publish to web (public) gives a link like https://app.powerbi.com/view?r=.... Choose A public link in the widget and paste it. No connection is needed.
Security caveat: Publish to web makes the report public
“Publish to web” exposes your report and its data to anyone who has the link: no sign-in and no row-level security. Don’t use it for confidential, personal or financial data. Many organizations turn it off in the Power BI admin portal for exactly this reason. For private reports, use a connection as above.
Limits
- Capacity. Microsoft licenses service-principal embedding for reports in a capacity: an Embedded (A) SKU, Fabric (F) or Premium (P/EM). Outside one, embedding is limited to development and testing.
- Commercial cloud only. GCC and sovereign clouds are not supported.
- Live data needs the network. The page is cached for offline use, but the report itself needs a connection.
- Very old TV browsers may not run the Power BI embedding library. Test one screen first.
- Test before you roll out. Reports always run in a sandbox, so check that each one loads on a screen first.
FAQ
How do I put a Power BI report on a TV screen?
Add a Power BI connection in Settings → BI dashboards with your own Entra app, then add a BI Dashboard widget, browse for the report, and put the widget in a playlist for that screen.
Do I have to make the report public?
No. With a connection, the screen gets a view-only token for one report that expires within the hour, and the report stays private. Publish to web is only an option for data that is meant to be public.
Is there a native Power BI widget?
Yes. The BI Dashboard widget embeds Power BI reports, Tableau views and Grafana dashboards.
What licence does Power BI embedding need?
Microsoft licenses service-principal embedding for reports in a capacity: an Embedded (A), Fabric (F) or Premium (P/EM) SKU. Outside a capacity it is limited to development and testing. Publish to web needs no capacity but makes the report public.
Can the screen rotate through report pages?
Yes. List the pages you want, or tick Rotate through all visible pages, and set how long each page shows.
Put your Power BI reports on a screen
Connect your Entra app once and every editor can pick a report. Start a 14-day Pro trial on hosted ScreenTinker: up to 15 screens, every feature, no credit card.
Or host it yourself, free and open source: self-hosting guide · GitHub