Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
im trying to get refresh activity for all datasets in the organization using service principal utilizing the get activity events
However this does not include scheduled events. You can use get refresh history, but it only works for workspaces you have access to.
But im trying to get all the scheduled refresh events of all datasets in the organization. Are there other ways to access that without being part of every workspace?
if no, then how could you get all scheduled refresh dataset activities of the org's datasets? Do you need to programmatically set yourself as a workspace user temporarily then remove when done?
Hi @ledd_25 ,
Thank you for reaching out to the Microsoft Community Forum.
The Get Activity Events API from Power BI’s Admin REST API returns audit log events for a tenant, but it does not include scheduled refresh events. This is a known limitation.
please refer below for alternative workaround.
1. Use the Get Refresh History API, but it requires access to each workspace. Power BI Service Admin can use the Admin APIs to enumerate all datasets across the tenant using GetDatasetsAsAdmin, then loop through each dataset to call Get Refresh History.
Note: This still requires that the service principal has access to each workspace.
2. Audit logs for Power BI can be captured through the Microsoft 365 Audit Log . This includes scheduled refreshes if audit logging is enabled in the Power BI Admin Portal.
3. When the service principal is not a member, If you want access refresh history for workspaces try the below workaround.
Temporarily assign the service principal to each workspace. Fetch the refresh history and then remove the service principal, this can be automated using the Power BI REST Admin APIs.
Please refer below microsoft official document for your reference.
Admin - Get Activity Events - REST API (Power BI Power BI REST APIs) | Microsoft Learn
If my response has resolved your query, please mark it as the "Accepted Solution" to assist others. Additionally, a "Kudos" would be appreciated if you found my response helpful.
Thank you
You would need read access to the semantic models.
Alternatively you can set log analytics integration on each workspace. This will give all refreshes, plus you get the benefit of knowing how long the refreshes take and the cpu cost, plus you get stats for individual tables and partitions etc
I have over 1000 workspaces, is there any way to programmatically do that? if no, what other alternatives do i have?
Yes. Use GetGroupsAsAdmin to get the workspace then run AddUserAsAdmin for each. Pick you favourite scripting language of choice
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
59 | |
31 | |
27 | |
22 | |
22 |
User | Count |
---|---|
63 | |
49 | |
31 | |
24 | |
21 |