Power BI Report Page
The demo's sales report opened on one page with its page tabs hidden, for a portal page that needs that view alone: <PowerBIReport ReportKey="client-demo" PageName="pipeline" PageNavigationVisible="false" />.
This is a screenshot, in the theme you are viewing the site in; we show it live in the demos we give.


How it works
- No Power BI license for portal users. The portal asks Power BI for a token for each viewer, as its own identity — the one it already connects to Dataverse as — so customers see reports without an account in your tenant.
- Each viewer sees their own rows. The token carries the viewer's contact id, and the report's row-level security filters on it: a contact would see only their opportunities (the
PortalContactrole) or their company's (PortalAccount). Staff, as here, see everything (AllRows). - Configured as data, set up by the MCP server. Which reports a portal may show, and to whom, is two Dataverse tables. The MCP server creates the workspace, gives the portal access, writes the row-level security role, registers the report and checks it end to end.
- Reports, pages, dashboards and tiles. One component shows whichever a key's registration names, each filtered by the same row-level security.
