I found that using Power Automate to refresh Power BI Datasets allowed for refreshes to happen at the exact time I needed them to. This was because my underlying data warehouse load would vary, by using Power Automate it allowed me to have the Power BI Dataset refresh to happen as soon as my data was ready.

By using Power Automate and Power BI, it allowed me to quickly and easily create the process that has been successfully running for over a year now.

Below is how I got it all working together.

Creating the Flow

The first thing I had to do when creating the new flow was to identify a specific email which would kick off the dataset refresh.

In my example I did it in Power Automate by doing the following:

  • I clicked on Create and then selected Automated Flow

  • I then was prompted with the Build an automated flow window and I put in the following name: Refresh My Dataset
  • I then searched for Outlook and choose the flow called “When a new email arrives (V3)

  • I then clicked on Create

  • I was then into my Flow.
  • My next step was to go into the Advanced Options, this would enable me to only create a trigger on a specific email which contained the details I was looking for in the Subject.
  • I clicked on Show advanced options

  • In the section where it said Subject Filter, I put in the email subject I would get when the data warehouse has completed loading

  • I now had my trigger setup, which was when an email arrived with the Subject of “DW Load completed successfully” I wanted Power Automate to do something.
  • My next step was to configure the dataset refresh.
  • I clicked on New Step

  • In Choose an action I searched for Power BI, and I then selected “Refresh a dataset (Preview)

  • It was my first time signing into Power BI, so I was prompted to Sign in (If you had used other Power BI Services it would sign you in automatically.

  • Next, I was prompted which App Workspace I wanted to connect to in which I wanted to refresh the dataset.

  • I selected my App Workspace called “Testing Things”

  • Then from the Dataset I clicked on the drop down and selected my dataset I wanted to refresh, which in this example is called “Trello Reporting”

  • I now was done with my flow, so I clicked Save

  • On the top right hand side, I could then see that my flow was saved

Testing the Power Automate Flow

Next, I always test my Power Automate flow to make sure that it will work as expected.

  • To do this I sent an email with the subject “DW Load completed successfully” to myself
  • In Power Automate I then went to My Flows and clicked on the flow I just created “Refresh My Dataset”

  • I then looked at the Runs and I could see that the Status had Succeeded

  • The final check was to make sure that in the Power BI Service the dataset had refreshed successfully.
  • I went into the Dataset settings in the Power BI Service and clicked on Refresh History. I could then see that it has refreshed successfully.


In this post I have shown how easy it can be to create a Power BI Dataset refreshing using Power Automate to monitor my Inbox. Along with this to quickly and easily connect to the Power BI Dataset and refresh it when it is needed. This has really enabled the report consumers of the reports to get their data as soon as it is refreshed.

Not only that if the report consumers have got email subscriptions set up on the Power BI reports and dashboards those too will be sent as soon as the data has been updated.

Using Power Automate and Power BI has enabled the report consumers to make better data driven decisions.