cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
BBIUser
Frequent Visitor

Trigger Power BI refresh only when I receive SUCCESSFUL ETL/DW Email or Trigger Power BI refresh using Delay?

Hello Experts,

 

Here is my scenario - 

-I have a number of Power BI Reports 'schedule refresh' configured in Power BI Service. In the current scenario, if any reports schedule refresh fails, I will get an outlook email with "Refresh Failed" of a specific report.

 

-In this case, I have set up a "Instant- from blank" --> named Power BI Email Trigger (as given in the screenshot below - Please ignore 'Delay until' step for now).

This works fine and on-demand dataset is refreshed in Power BI Service.

 

Now, what I actually want is - I want "Refresh a dataset" to wait until there is another new email arrives which is an email from ETL/DW SUCCESSFUL Build (If the Build is FAILED- it should wait for the SUCCESSFUL Build email) before a dataset is refreshed from Flow??? Is it possible to add this step in my Flow?

So my steps should be: (I am open to switch the steps to make this work)

Step 1: When a new email arrives (V3) [Email from Power BI FAILURE]

Step 2: Refresh a dataset 

Only when-

Step 3: When a new email arrives [Email from ETL/DW SUCCESSFUL]

Then Execute the dataset 

 

If the above step is not possible - Then at least, I should be able to schedule a refresh in the Flow (like we do it in Power BI Service)? 

or

Can I use any other actions such a Delay or Delay until? 

Note: I tried Delay and Delay until but I was not able to provide the From and Subject information like in email.

 

5.png

 

Appreciate your support!

4 REPLIES 4
JohnAageAnderse
Memorable Member
Memorable Member

Hello @BBIUser 

I would split up the processing of the emails using two flows:

1) When the first email arrives and trigger the flow A, the flow just registers the fact that a refresh is needed.

2) When the success email arrives and triger the flow B, the flow check for the above fact and if found, performs the refresh, then clears the above fact!!

Hope this helps you on the way. Kind regards, John

@JohnAageAnderse Thanks John. What actions I should be using?

Please correct me if I am wrong.

1) When the first email arrives and trigger the flow A, the flow just registers the fact that a refresh is needed.

--> "When a new email arrives" action. Should I use just this for the 1st flow?

 

2) When the success email arrives and trigger the flow B, the flow check for the above fact and if found, performs the refresh, then clears the above fact!!

--> I will be using 'Refresh a dataset' action but how can I check the above fact or what action should I use?

 

Can you please point out the actions and its steps?

 

Hello @BBIUser 

The flow A trigger is "When a new email arrives" action - you can use the Subject Filter option to only trigger on the specific emails.

When processing the email, the flow A stores an indication, a flag, in a list (to be created) when the refresh has failed.

 

The flow B trigger is "When a new email arrives" action - subject filter looks for "ETL/DW SUCCESSFUL Build" (or whatever your subject looks like).

When processing the email, flow B checks to see if flow A did store an indication in a list (see flow A) and if it is there, refreshes the BI.

Hope this helps you on the way 🙂

Kind regards, John

@JohnAageAnderse 

Flow A: Is this correct? 

What should I enter in the Message Id? The same subject that is there in the 'When a new email arrives'?

This email will be from Power BI Failure.

9.png

 

Flow B: with subject ETL/DW SUCCESSFUL Build

10.png

flow B checks to see if flow A did store an indication in a list (see flow A) and if it is there, refreshes the BI

How will the flow B check if flow A and then refresh the Power BI dataset? Should I put any other action and condition in between these two steps?

Helpful resources

Top Solution Authors
Users online (4,279)