How to automate approval request and reminder in 9 steps (Power Automate)

Introduction

One drawback of the Approval template in Power Automate is that we need to manually chase an approver when there is no response received. It will be ideal if the flow can follow up with the approver after x number of days. In this article, we will be creating a flow that creates the approval and automates the reminder to approve the request.

Overview of Automated Approval Reminders Workflow

Outline

  1. Decide on a trigger event
  2. Create a variable to indicate if the request is approved
  3. Create an approval
  4. Wait for an approval
  5. Update variable on request status
  6. Check if the request is approved or rejected
  7. Delay
  8. Loop to check if the request is approved
  9. Send reminder

In this article, we will be creating 2 parallel flows, one flow focus on the approval process and the other focus on the reminder for approval. We will first start by creating the approval process

1.Decide on a trigger event

In this article, we will be using a trigger from MS Forms. When someone submits a budget request form, it will trigger the approval workflow. The approval workflow will also work well for other forms of triggers (Power Apps, SharePoint etc).

2.Create a variable to indicate if the request is approved

Click on New step and select Initialize variable

Select Initialize variable

Initialize variable as follows:

  • Name: Approved
  • Type: Boolean
  • Value: Click on Add dynamic content and select Expression. In the formula bar, type false and click OK
Under Expression, type false

The Approved variable allows the flow to know if the request has been approved. Thus, by default, we would like to set it as false until an approver has approved the request

Step 2- Create a variable to indicate if the request is approved

3.Create an approval

Click on Add an action and select Create an approval

Under the Create an approval step, select and input the following:

  • Approval Type: Approve/Reject- First to respond
  • Title: {Your email title}
  • Assigned to: {Your approver}
  • Details: {Your request details in markdown language}. For more details on markdown, you can check out this link by Microsoft
  • Requestor: {Your requestor}
Step 3- Create an approval

4.Wait for an approval

Click on Add an action and select the Wait for an approval step. Under dynamic content, select the ApprovalID. This tells Power Automate to wait for an approval from the earlier step (Create an approval)

Select Approval ID under dynamic content
Step 4- Wait for an approval

5.Update variable on request status

Once the approver approves/rejects the request, we would need to set the Approved variable to true to indicate that we have received a response from the approver. Click on Add an action and select Set variable.

  • Name: Select {variable that you created in Step 2} from drop-down
  • Value: Under Expression, input true and click OK
Step 5- Update Approved variable to true

6.Check if the request is approved or rejected

For approval flows, we will usually send an approval email or rejected email. Thus, we are going to add a Condition step:

Step 6- Check if the request is approved or rejected

Under the Yes and No step, select Send an email (V2) and input the approved or rejected details.

Click on the Condition step to collapse it and then select Add an action and search for the Terminate step. Select Succeeded from the drop-down list.

Terminate the flow after the request is complete

The terminate step will stop the flow when the approval request is completed. We have now completed building our approval process.

7.Delay

For the automated reminder process, we would need to create a parallel flow so that it will run the same time as the approval process. After the Create an approval step, click on the + sign and select Add a parallel branch

Add a parallel branch

Search and select the delay step

Add a delay step

For this article, we will set the delay counter to delay running it for 1 day. This means that the flow will start executing the steps after delay only after 1 day. For testing purpose, you might want to change it to 1 minute to test the automated reminders instead of waiting for one day.

Step 7- Delay for 1 day before sending reminders to the approver

8.Loop to check if the request is approved

To check if the request is completed, we will need to loop it through a Do-Until loop to check if the variable, Approved that we created in Step 2 is set to True. If Approved is equals to true, it means that the request is completed. If the condition is not met, we will continue to wait and send reminders.

Step 8- Loop to check if the request is approved

Take note that for some reason, after you added the Approved variable on the left-hand side of the equation, you might not be able to input true on the right-hand side. To work around this, click on Edit in advanced mode and then click on Edit in basic mode to go back to the step above. You will now be able to add the true value on the right-hand side

Power Automate bug that restricts input of true value

9. Send a reminder

In the Do-Until step, click on Add an action and select Send an email (v2).

Send an email reminder

As we are unable to resend the approval email to the approver, we can create an email with the Respond link from dynamic content. This will lead the approver to the approvals page in Power Automate.

After the email reminder step, search for the delay step and initialize it as follows:

  • Count: 1 (or your preferred frequency}
  • Unit: Days (or your preferred frequency)
Step 9- Send a reminder

Save your flow and test your newly created approval flows with automated reminders.

Power Platform Explorer