What it does
Puts Power BI dashboards and tiles onto Dynamics 365 dashboards alongside — or instead of — native charts, lists and views. Sales, Customer Service and the rest of the first-party apps are model-driven apps, so the same embedding surfaces apply.
Key facts
- Users add Power BI dashboards and tiles to their own personal dashboards via Dashboards > New > Power BI Dashboard or the Power BI Tile toolbar option. Administrators create system-level ones as Power BI embedded dashboards in a solution.
- Personal dashboard embedding is off by default and has to be enabled for the organisation. System dashboards and form embedding bypass that setting entirely.
- Third-party cookies must be allowed in the browser or authentication to Power BI fails.
- Auth uses the user's Microsoft Entra token for Dataverse, exchanged with the Power BI service under an implicit grant, so the user isn't prompted twice. Turning the setting off stops existing tiles and dashboards rendering.
- Tiles and dashboards can be flagged Enable for Unified Client / Enable for mobile to make them available on Dynamics 365 for phones and tablets.
- Clicking the title of an embedded Power BI dashboard opens a modal with Refresh and Open in Power BI.
- Sharing a personal dashboard containing Power BI content means configuring sharing in both Dataverse and Power BI, with matching identities and access in each.
- Dataverse security roles don't filter what the embedded content shows. Row-level security in the semantic model is the only control.
When to use / skip
Native charts and dashboards win on almost every operational question: they inherit Dataverse security automatically, they read live data, they respect the user's current view, and there's no second product to licence. Bring in Power BI when the answer needs data Dynamics doesn't hold, needs time intelligence, needs a proper star schema behind it, or needs to be the same number the finance team sees. The failure mode to avoid is rebuilding the pipeline view in Power BI because it looks nicer — you've swapped live, secured, in-context data for a stale, unsecured, out-of-context copy.
Configuration decisions
- Native or Power BI, decided per question rather than per project. Most Dynamics dashboards end up as a mix.
- System dashboards versus personal dashboards, which is really a decision about whether you want this governed and shipped in a solution or left to users.
- Whether the personal-dashboard org setting is on at all — leaving it off is a defensible governance position if you want all analytics to come through solutions.
- How the underlying semantic model gets its Dataverse data: the Dataverse connector for smaller volumes, Synapse Link or Fabric for anything serious.
- Which security roles or business units need matching RLS roles in the model, and who signs that mapping off.
Gotchas
- Users in Dynamics assume anything on their dashboard obeys their security role. Embedded Power BI doesn't, and the first time somebody sees another region's numbers it's a serious conversation.
- The refresh gap catches people out. A native chart updates the moment a record is saved; the embedded tile shows whatever the last scheduled refresh loaded.
- Dynamics 365 licences don't cover Power BI content consumption. Check what the user population actually holds before demoing anything.
- Third-party cookie blocking — increasingly a browser default and a common enterprise policy — breaks embedded Power BI with an unhelpful failure.
- Personal dashboards are per-user artefacts with no ALM story. Anything the business depends on should be a system dashboard in a solution.
Consultant notes
- Have the "why is this not a native chart?" conversation in every design workshop. It's the single most useful filter for keeping a Dynamics analytics scope from doubling.
- Bundle the RLS design into the Dynamics security design, not into the BI workstream. The people who know the business unit model are in the CRM sessions, not the reporting ones.
- Get one system dashboard shipped in a solution early to prove the ALM path. Personal dashboards demo well and deploy badly.
- If the client is heading towards Fabric, flag that Synapse Link or Fabric Link changes the freshness story materially and may reopen decisions you made on the connector.
Revisit if the Dataverse-to-Power-BI security story changes, or once the client's Fabric Link plans firm up.