What it does
Custom visuals are chart types outside the core set, packaged as .pbiviz files. They arrive from AppSource, from an organisational store the tenant admin curates, or as a file someone hands you. They render data using their own code inside the report.
Key facts
- Three sources: core visuals in the pane, AppSource downloads, and your own
.pbivizfiles imported directly. - Microsoft tests and approves AppSource visuals for functionality and quality before publication.
- Certified visuals are a separate, stricter bar — the certification tests check that the visual doesn't access external services or resources. Certification is not the same thing as being on AppSource.
- Microsoft warns explicitly that a visual built with the SDK may send data to, or import data from, a third party outside your tenant's geography, compliance boundary or national cloud.
- Once imported from AppSource, visuals may update automatically with no notice.
- Licensing is set by each publisher: free, licensed through the Microsoft 365 admin centre with purchase in AppSource, or free-with-paid-features where licensing happens outside Microsoft's platforms.
- Licensed visuals aren't supported in Power BI Report Server, sovereign and government clouds, PaaS embedded app-owns-data, or publish to web. In those environments Power BI can't tell the publisher whether a user is licensed, and won't block the visual either.
- Admins can approve, deploy, version, enable and disable visuals through the organisational store, reachable from Get more visuals > My organization.
- Microsoft's own warning: a custom visual could contain code with security or privacy risks — trust the author and source before importing.
When to use / skip
Reach for a custom visual when the core set genuinely can't express the thing and the thing matters — Sankey flows, complex Gantt charts, certain statistical plots. Refuse when the driver is aesthetic preference, because you're trading a permanent support and governance liability for a nicer-looking chart. If you do go ahead, insist on certified, and check the publisher is a company that will still exist in three years. A custom visual is a third-party dependency embedded in the client's reporting estate, and it should get the same scrutiny any other third-party component would.
Configuration decisions
- Whether custom visuals are allowed in the tenant at all, and whether that's restricted to certified only — a tenant admin setting, not a report decision.
- Whether the organisational store is used, which turns "anyone can import anything" into "admins approve a version".
- Which specific visuals are on the approved list, with a named business justification each.
- How versions get updated and who tests before they go into production.
- Whether visuals that fail the certification bar are acceptable given the client's data residency and compliance position.
Gotchas
- Auto-update means a visual can change behaviour, or break, without anyone deploying anything. Reports fail on a Monday for no traceable reason.
- Uncertified visuals may call out to external services. On regulated client data that's a conversation with compliance, not a design choice.
- Custom visuals and bookmarks don't always get along — Microsoft's guidance is to contact the visual's author and ask them to support bookmarks, which is exactly as useful as it sounds.
- Accessibility is usually poor. Check the accessible Show Data table on any custom visual before you commit to it, and if the data there is thin, pick something else.
- A visual whose publisher stops maintaining it isn't a bug you can fix. Every report using it needs rebuilding.
- Publish to web and embedded scenarios silently change licensed-visual behaviour, so what works internally may not work externally.
Consultant notes
- Have the custom visuals conversation with the client's IT and security function early, before a maker has fallen in love with one. Retrofitting a policy is much harder than setting one.
- Certified-only plus organisational store is the position to recommend by default. It's defensible, it's administrable, and it still leaves room for the genuine exceptions.
- Keep a register of every custom visual in use, with publisher, version, why it's there and what the fallback is. Two years on, that document is worth more than the reports.
- If a client insists on an uncertified visual, get the decision recorded in writing with the data-egress risk stated plainly. That's not defensiveness, it's the point at which they'll actually think about it.
Revisit whenever a visual's publisher changes hands, or if the tenant's certified-only setting is loosened.