Intellus Accelerator · Technical Preview

Your tenant already knows what is broken. Nobody has read it back to you.

The Power BI Environment Agent connects to a tenant with a read-only service principal, walks every workspace through the admin APIs, and turns the metadata into two things: a queryable inventory and a prioritised findings report. It says what is wrong, why it matters, and what to fix first. It changes nothing.

For Power BI tenant admins and BI leads Maturity Prototype Platform Power BI / Microsoft Fabric
The problem

Tenants grow faster than anyone governs them

A few workspaces become a few hundred. Semantic models get cloned instead of reused. Someone shares a report with the whole organisation because it was the quickest way to unblock a colleague, and the capacity starts throttling on Monday mornings. Nobody made a bad decision on purpose. The environment simply became too large to hold in one person's head, and the admin portal shows you settings, not consequences.

🗂️

No single inventory

Workspaces, semantic models, reports, dataflows, gateways, capacities and their owners live in different screens and different APIs. Answering "what do we actually have" becomes a project rather than a question.

⚠️

Best practices exist but are not enforced

Auto date/time still on, calculated columns doing work the source should do, no RLS on models shared broadly, production content in personal workspaces, gateway clusters with a single member. Each is well documented, and each is invisible until it breaks.

📉

Reviews do not repeat

A manual audit is a consultant, a spreadsheet and three days of clicking. Six weeks later the findings are stale, and there is no cheap way to check whether the remediation actually happened.

How it works

Deterministic rules first, language model on top

The rule engine runs before the model, not underneath it, so the same tenant always produces the same findings. The language layer clusters related findings, writes the explanation in the client's own vocabulary, and drafts the remediation order. Every finding carries the object it came from, the rule it failed, a severity, and the owner it should route to.

1

Scan the tenant

The metadata scanning APIs walk every workspace including personal ones, capturing datasets with their tables, columns, measures, expressions, data sources and lineage, plus reports, dataflows, apps, gateways and capacities.

2

Add usage and reliability

Activity events give who opened what and how often, what was exported, and what has not been touched in ninety days. Refresh history and capacity endpoints give failure patterns, refresh windows colliding with peak load, and throttling signals.

3

Go deeper where XMLA allows

Where a read-only XMLA endpoint is available on Fabric or Premium capacity, the agent reads the model itself for storage sizes, cardinality and relationship design. Pro-only workspaces get the shallower metadata view.

4

Run the rule set

Model design rules in the spirit of the Tabular Editor Best Practice Analyzer, plus tenant governance rules: broad sharing, missing RLS, orphaned artefacts, workspaces with a single admin, no dev/test/prod separation or deployment pipeline.

5

Report in priority order

Findings come out with severity, affected objects, a plain-language explanation of the impact, a concrete remediation step and a suggested owner. Exported as markdown or PDF, and as a CSV backlog that drops straight into a work tracker.

6

Scan again and compare

Because the scan is repeatable, the next run shows what moved: which findings closed, which reopened, and what appeared since last time. A recurring health check instead of an annual audit.

Built on

Documented APIs, a read-only identity, and nothing exotic

A Microsoft Entra ID service principal with Tenant.Read.All, enabled through the read-only admin API tenant setting and scoped to a dedicated security group, with the secret or certificate in Key Vault. No write scopes are requested, so the agent runs against production without a change window. Raw payloads and the parsed inventory land as Delta tables in a Fabric Lakehouse, delivered as a semantic model and report plus a generated document.

Power BI Admin REST API Fabric Admin REST API Metadata scanning APIs Activity events Microsoft Entra ID service principal Azure Key Vault Fabric notebooks (Python & PySpark) semantic-link Fabric Lakehouse & Delta XMLA read endpoint TOM Claude / Azure OpenAI Power BI semantic model & report Fabric pipelines / Data Factory

Bring a tenant you are unsure about

The fastest way to evaluate this is a scoped read-only scan of one real environment, with the findings report walked through together so you can judge whether the priorities match your own instinct. Get in touch to arrange it, or to discuss running it as the discovery phase of a Power BI governance engagement.