Streamlining Power BI Tenant Inventory Management Using a REST API Connector
Background & The Challenge
In one of my projects as a Power BI Administrator, a common requirement was to maintain a comprehensive inventory of tenant assets, including workspaces, reports, datasets, dashboards, and capacity metrics.
Historically, my team handled this using a legacy, multi-step extraction process:
- Data Extraction: Running manual PowerShell scripts to call various Power BI REST API endpoints.
- Storage: Dumping the raw JSON outputs into a SQL Server database.
- Analysis: Writing ad-hoc SQL queries against the database whenever we needed specific inventory information.
- Action: Using this queried data to perform quarterly clean-up tasks (e.g., deleting orphaned workspaces, updating capacity assignments, and removing unused reports).
The Pain Point
This legacy approach was highly inefficient. Every time we needed updated inventory data, an admin had to validate the PowerShell scripts, manually execute them to refresh the SQL database, and then write or run SQL queries to get actionable insights. The data was often stale, and the process was too reliant on manual intervention.
The Proposed Solution
To eliminate the manual overhead and the need for external database storage, I designed a streamlined solution: Consolidating the inventory tracking directly into a Power BI report using a Custom Connector.
Instead of pushing API data out to SQL via scripts, the solution pulls the data directly into Power BI:
- Custom Power BI Connector: I developed a custom connector designed specifically to authenticate and call the required Power BI REST API endpoints (Workspaces, Datasets, Reports, etc.).
- Direct Reporting: I built an end-to-end Power BI report that consumes data directly from this custom connector, visualizing all necessary inventory and capacity metrics in one place.
- Automated Refresh: I configured an On-Premises Data Gateway connection to allow the dataset to refresh automatically on the Power BI Service.
The Value Add
- Zero Manual Intervention: No more managing or executing PowerShell scripts. The data stays fresh via standard Power BI scheduled refreshes.
- Self-Service Access: Whenever stakeholders or admins need inventory details for quarterly cleanups, they simply open the shared Power BI report.
- Actionable Insights: Admins can instantly identify unused assets, capacity bottlenecks, and workspace bloat without writing a single SQL query.
- Key highlights:
π Azure AD OAuth2 - no client secrets, no passwords
π Full inline documentation inside Power BI Desktop
π Auto-pagination for large tenant environments
β‘ Works with both Desktop & On-premises Data Gateway
Some Screenshots of POC
I successfully built and tested this approach as a Proof of Concept (POC) end-to-end. I am sharing this idea with the Fabric community for others who might be struggling with tenant inventory management and looking for a more automated, native reporting approach.
Hopefully, This will be help lot of members who is facing similar type issues if Microsoft team can officially launch this connector so everyone can just use and do whatever they need.
Quick Update:
I have created the custom conenctor for the Power BI as well as Fabic REST endpoints. As of not it covers...
-> 56 Power BI REST API functions (Datasets, Reports, Dashboards, Pipelines, DAX execution & more...)
-> 53 Microsoft Fabric functions (Lakehouse, Warehouse, Eventhouse, KQL & more...)
Shoutout / Special Thanks:
Boston Office D365 User Group www.youtube.com/@BostonOffice365UserGroup
Note:
AI was used to assist in formatting and refining this post for clarity.
Recent ideas
Fabric Local Artifact Validation in VS Code
Fabric artifacts can be authored as code through Git, APIs, CLI, and MCP, but they still need to be published to a Fabric Workspace before they can be fully interpreted and validated. This is especi...ryomaru08252 hours agoAdvocate INew10Views1like0CommentsConvert Standard Lakehouse to Schema Based Lakehouse
When Schema based Fabric Lakehouse's come out of Public Preview, it would be AMAZING and gamechanging to be able to convert a standard lakehouse into a Schema based lakehouse. Right now we organ...dbrugger3 hours agoRegular VisitorNew363Views2likes1CommentRemember "Publish to Power BI" destination in Desktop Client.
Add the ability to save the destination locations with the pbix file when using Power BI Desktop. Every time I open and publish a pbix file I must select the same destination location in the "Publish...luettsca6 hours agoNew MemberNeeds Votes336Views8likes6CommentsPower Query Schema View - width of column "Name"
While working with the Schema view in Dataflow, the width of column "Name", which lists the name of the columns in the query, is fixed. Due to this it only shows initial about 19 characters of the c...uttam_shukla7 hours agoNew MemberNeeds Votes385Views4likes3CommentsSync slicer selections across Power BI reports in an Org app
Description: Let Power BI slicer selections carry over when users switch between reports in the same Org app, even across different semantic models. Match filters by table and column name (e.g. share...Maciej_PBI9 hours agoRegular VisitorNew6Views0likes0Comments