Automating Reminders for Approval Flows

Learn Expert

Microsoft has recently introduced Approvals to Flow.  This functionality provides users with an easy way to look at all their outstanding approval requests and action them. 

 

Approval.PNG

 

But what if you don’t know that you have pending approvals?  In this article, I provide an example how to receive time-based reminders of an outstanding approval until it has been actioned.  In my example, I created a SharePoint list for vacation request that need approvals.  The vacation requests have a requester, approver, start and finish date, and approval status.  When the approval is first created, the Approval Status is set to Pending.  (NOTE:  Due to a current limit in the Flow functionality, I am leveraging a text field for the Approval Status rather than a choice field or other structure data).  Approvals.PNG

Once a vacation request has been submitted, the flow kicks off.  Let’s have a look at how it works.

 

Reminder Overview.PNG

 

The flow is broken into three major sections

 

Flow Initiation

 

During the initiation of the flow, information is captured about the vacation request, such as the name of the requester and approver.  As well, I create a variable Approval Provided, which I use later to determine whether approval has been provided or is still pending.

 

FlowInitiation.PNG

 

The next two sections run in parallel branches.

 

Flow Approval (right branch)

 

In this section, I submit an approval to the approver mentioned in the SharePoint Vacation Request list item.  As this step is synchronous, the right branch will pause until the approval step has been completed by the approver by either approving or rejecting the vacation request.  Once an action has been performed, the original SharePoint Vacation Request list item is updated with the corresponding Approval Status.

 

Approval Branch.PNG

 

 

Reminder (left branch)

 

The left branch is responsible for sending out email reminders to the approver.  The trigger is time based and continues until the Approval Provided variable is set to true (which happens in the Flow Approval branch).  To make things easier for the approver, I am including a link to the Flow Approvals page (https://flow.microsoft.com/manage/environment/<your tenant ID>/approvals/received) directly in the email message.
 Reminder Branch.PNG

 

Caveats

 

There are a couple of caveats with this approach.  The first one is that you cannot target a specific approval for your user.  If the user has several approvals outstanding, you will need to be creating in your messaging to ensure that they address the correct one.  For example, in my email message above, I have included the approval type (Vacation Request), who requested it, and start and end dates.  These can be matched to the Approval information.

 

The second caveat is that unless you put a limit on the reminders, they will continue until the approval has been actioned.  This can possibly a point of annoyance if someone is away for some time and comes back to find a long list of approvals in their mailbox.

 

29 Replies

Hi @Neeraj Bharti,

 

I haven't looked into this scenario yet, but will update the article once I come across it.

@Haniel Croitoruthank you for the helpful tut.

 

I have setup my flow similarly to yours. My 'do until' condition works as scripted and sends the email reminder, however, when the individual then approves the request, the reminder email that was sent during the reminder step, gets sent again.

 

Is there a way to terminate the reminder side of the flow once the notification email has been sent?

Can I use this flow if I have two approvers in my flow, like a manager and supervisor?

@Renee_RicksWhen you first choose the type of approval you want you can select whether it should be the first person that approves it or everyone has to approve it. I believe if you choose the second option, you should still be able to accomplish what you are looking to do.  

@Tim Miller I am attempting to set up an approval with timeout out and escalation, similar to what Jon did in the video. However upon timeout, the requestor receives a Rejection notification. The item is still escalated for a decision (and I added an email notification to the requestor that the request is being escalated). The end result though, is that the requestor receives 1) Rejection notification 2) Escalation notification. They do not receive the final decision (approval or rejection) notification that I was expecting. What I was expecting was 1) Escalation notification 2) Final decision notification. Your thoughts?

The workflow has been approved , But still i got the remainder mail. Please help me to stop the remainder mail once it's approve or reject.

@Arun_kingston  Please post a pic of your DoUntil so we can see what you have going on.  Personally,  I would created a separate flow for the reminders and not make them a part of the dountil as a dountil has its limits and could timeout.  However, you could try putting the email as the first actions in the dountil such that:   

                      email>>delay>>get item>>checks for condition...   email>>delay>>get item>> etc...
If the item is approved during the delay time period, it should not send the email after it 'gets item' and sees the condition is met. 

@Joseph Collins  Hi Jos , I want to stop the remainder mail once the action is done(Approve or Reject).

@Arun_kingston Approval status is equal to "Approve", not "true". 

Thank you !!