Forum Discussion
Does API-Triggered Dataset Refresh Count as Activity to Prevent Inactivity Pause?
- 1 year ago
Hi npolitihhr
This is a great and commonly misunderstood point in Power BI governance. According to Microsoft’s official guidance, Power BI datasets in the Power BI Service are paused after 60 days of inactivity, where inactivity specifically means no user interaction—such as opening a report or dashboard that relies on the dataset. Crucially, programmatic refreshes alone—whether triggered by Power Automate flows or the Power BI REST API—do not count as user activity and therefore do not reset the 60-day inactivity timer. This means that even if your dataset is being refreshed daily via the API or a scheduled flow, it can still be automatically paused by the service if no one is viewing the associated reports or dashboards.
This behavior has been confirmed in official Microsoft documentation and by responses from Microsoft engineers in community forums. The rationale is that refreshes consume compute resources, and Microsoft wants to optimize performance by pausing unused datasets—even if they're still being programmatically refreshed. To keep a dataset active, someone must interact with a report or dashboard that uses it at least once every 60 days. In scenarios like yours, where datasets are kept up to date for downstream processes or alerts, you may want to build a lightweight automation or alert that opens the report URL periodically, or have a service account simulate that access. This ensures the dataset stays active without depending on manual user visits.
Hi npolitihhr
This is a great and commonly misunderstood point in Power BI governance. According to Microsoft’s official guidance, Power BI datasets in the Power BI Service are paused after 60 days of inactivity, where inactivity specifically means no user interaction—such as opening a report or dashboard that relies on the dataset. Crucially, programmatic refreshes alone—whether triggered by Power Automate flows or the Power BI REST API—do not count as user activity and therefore do not reset the 60-day inactivity timer. This means that even if your dataset is being refreshed daily via the API or a scheduled flow, it can still be automatically paused by the service if no one is viewing the associated reports or dashboards.
This behavior has been confirmed in official Microsoft documentation and by responses from Microsoft engineers in community forums. The rationale is that refreshes consume compute resources, and Microsoft wants to optimize performance by pausing unused datasets—even if they're still being programmatically refreshed. To keep a dataset active, someone must interact with a report or dashboard that uses it at least once every 60 days. In scenarios like yours, where datasets are kept up to date for downstream processes or alerts, you may want to build a lightweight automation or alert that opens the report URL periodically, or have a service account simulate that access. This ensures the dataset stays active without depending on manual user visits.