User Self-Serve Refresh Utility

I built this tool to enable some end-users to refresh their Power BI data without granting them membership to the workspace. They needed to upload files at inconsistent times and wanted a way to trigger a refresh without being dependent on another team. I ended up building this into a solution that could easily be parameterised and deployed for any report.


The app offers a straightforward experience – a single button triggers the refresh. This starts a timer which runs a check every 15 seconds on a SharePoint list that is written to by the Power Automate flow that managed the refresh. Once triggered, the flow does the following:

  • Checks if the report is already refreshing
  • If not, trigger a refresh
  • If it is, check every 30 seconds for a completion status
  • Once refreshing, check every 30 seconds
  • Log updates to the SharePoint list
  • Log the final result


The users get updates from SharePoint displayed in the app. They can also see a progress bar that shows the time until the next update. A loading spinner helps show the user that things are still progressing.


The app can be embedded in Power BI apps – in my use case, I created a separate audience that could only see this app. The configuration is all baked into the URL and read in the app using the Param() function. To help other developers, I created a quick form in the app that builds the URL for them:


The flow handles dataflow dependencies via pre-mapped records that are built using the Power BI REST API. These are populated in lists that are referenced across multiple solutions for orchestration purposes.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *