Effective monitoring and reporting of SharePoint Online tenant capacity is essential for maintaining system performance and ensuring efficient storage utilization. While SharePoint Online provides basic storage charts within the Admin Center, not all users, especially leadership teams, have access to these reports. This article explores one of the strategies to extract, store, and visualize tenant capacity details using Power Automate, SharePoint REST APIs, and Power BI.
Understanding Tenant Capacity Monitoring
Why Monitor Tenant Capacity?
- Prevent storage overutilization and performance degradation.
- Ensure compliance with organizational storage policies.
- Provide leadership teams with real-time visibility into storage trends.
Limitations of Built-in SharePoint Storage Reports
- SharePoint Admin Center provides storage details, but access is limited.
- No direct out-of-the-box solution to share reports with stakeholders.
- Lack of historical data visualization.
Building a Custom Storage Reporting Solution
Storing Tenant Storage Data in a Centralized Repository
- Extract storage data and store it in Azure Data Lake (ADL) for long-term analysis.
- Maintain a structured format for easy querying and visualization.
Automating Data Extraction with Power Automate and REST APIs
By leveraging Power Automate, organizations can retrieve tenant storage data automatically and ensure reports remain up to date. While some of the below APIs are not officially documented, it has proven to be valuable for SharePoint administrators and developers who need programmatic access to storage information.
NOTE - The flow connection should have SharePoint Administrator or Global Administrator role.
Key SharePoint REST APIs for Storage Management:
- _api/StorageQuotas()?api-version=1.3.2 – Retrieves storage quota details.
- _api/SPO.Tenant/RenderAdminListData – Fetches administrative storage-related data.
- _api/SPO.Tenant/sites('{SiteID}')?$select=LockState,GroupId – Retrieves site-specific data, such as lock state and associated group IDs.
- _api/SPO.Tenant/sites/GetSiteUserGroups?siteId={SiteID}&userGroupIds=[0] – Retrieves owner group information.
Let us look at the first 2 endpoints in details
_api/StorageQuotas()?api-version=1.3.2 – This is an internal REST API endpoint used in SharePoint Online to retrieve information about tenant storage quotas. This API provides valuable data such as:
TenantStorageMB: The total storage allocated to the tenant
GeoUsedStorageMB: The amount of storage currently in use
GeoAvailableStorageMB: The remaining available storage
_api/SPO.Tenant/RenderAdminListData – This is also an internal SharePoint REST API to retrieve detailed admin information for a SharePoint Online tenant. This endpoint is particularly useful for administrators and developers who need to programmatically access and manage site collections across their SharePoint environment.
This endpoint supports pagination and the params for the next page can be found in the “NextHref” property.
The response includes the storage details for the sites and a lot of other useful admin information.
Workflow for Automating Storage Monitoring
- Schedule Power Automate Flow – Trigger the flow to run periodically.
- Call SharePoint REST APIs – Fetch storage data dynamically.
- Store Data in Azure Data Lake or Dataverse – Enable historical tracking.
- Generate Power BI Dashboards – Visualize trends and anomalies.
Visualizing Storage Data with Power BI
Creating Interactive Dashboards
- Connect Power BI to Azure Data Lake, Dataverse, or SharePoint Lists.
- Build custom reports showcasing storage usage trends.
- Implement alerts for storage threshold breaches.
Key Metrics to Track
- Total tenant storage consumption over time.
- Storage distribution across different site collections.
- Growth trends in storage usage.
- Inactive or underutilized sites that require archiving.
Conclusion
Monitoring and reporting on SharePoint Online tenant capacity is a crucial aspect of governance. By automating data extraction and visualizing insights through Power BI, organizations can maintain efficient storage utilization and ensure compliance with business policies. Implementing these best practices will enhance SharePoint’s long-term performance and accessibility.
How do you manage this in your organization? Share your strategies in the comments!
Comments