Approvals often stall because the approver misses the first email. In this tutorial, I’ll show you three ways to handle that in Power Automate: remind the approver when an approval isn’t answered in time, send daily reminders for requests that are still pending, and notify the requester when a decision is made.
Quick answer: Set a timeout on the Wait for an approval action, for example P2D, and add a Send an email (V2) reminder that runs only when the wait has timed out, then wait again. For requests that stay open longer, use a scheduled flow that finds pending items every day and emails their approvers.
At the end, I’ll also show how to send one approval request to multiple approvers.
Method 1: Send a Reminder When the Approval Isn’t Answered in Time
This is the approach I recommend for most approval flows. The flow sends the approval, waits for a set time and, if the approver hasn’t responded, emails a reminder and keeps waiting. It uses the action timeout and the Run after setting instead of a loop, so it can’t send the same reminder again and again.
- Add Create an approval. Set Approval type to Approve/Reject – First to respond, enter a Title, and in Assigned to enter the email address of the person who approves the request, for example the Manager Email from your SharePoint list.
- Add Wait for an approval directly after it and select the Approval ID from Create an approval. Keep these two actions next to each other: Microsoft notes that a flow can get stuck in the wait step if the approver responds before the flow reaches it.
- Open the Settings of Wait for an approval and set the Timeout to how long the approver has before the reminder, as an ISO 8601 duration. For example,
P2Dis two days andPT12His twelve hours. - Add a Scope and name it Remind approver. In its Settings, under Run after, clear Is successful and select Has timed out for Wait for an approval. The scope now runs only when the approver hasn’t answered in time.
- Inside the scope, add Send an email (V2) to the approver with a short reminder and the item link. Then add a second Wait for an approval with the same Approval ID and a longer timeout, for example
P5D. - Add a Condition after the scope and set its Run after to Is successful and Is skipped, so it runs whether or not a reminder was needed. In the condition, check the outcome from whichever wait finished:
coalesce(body('Wait_for_an_approval')?['outcome'], body('Wait_for_an_approval_2')?['outcome'])
Compare it with Approve. For Approve/Reject approvals, the outcome is Approve or Reject, so a condition that checks for “Approved” never matches. Then add your approved and rejected actions to the two branches, as in Method 3 below.
Plan your timeouts within the approval limit: an approval flow can wait for up to 28 days. After that the flow fails, and the approval stays in the Approvals center. Microsoft also recommends a condition or switch instead of a Do until loop for approvals, because a loop that doesn’t handle Approved, Rejected and Canceled can run forever, which is why reminder loops often send far too many emails. See Microsoft’s known issues for approvals.
Method 2: Send Daily Reminders for Pending Requests (Scheduled Flow)
For requests that stay open for days, a separate scheduled flow works better. For example, in an Expense Claims app built with Power Apps, approvers should get a reminder every morning for claims that are still In Progress and due today or earlier.
Before creating a scheduled flow in Power Automate to send email reminders, here is the SharePoint list that contains employee expense claims.

Here are the SharePoint list column details:
| Column Name | Data Type |
|---|---|
| Title | Default field |
| Employee Name | Person |
| Expense Category | Choice |
| Approver | Person |
| DueDate | Date and Time |
| Approval Status | Choice |
| Department | Choice |
| Expense Date | Date and Time |
Now, follow the steps below to create a scheduled flow:
- Open Power Automate -> Click on +Create on left nav ->Choose Scheduled cloud flow ->Provide the details below:
- Flow name = Provide flow name.
- Starting = Select the date when the flow needs to start running.
- at = Choose time.
- Repeat every
- Frequency = Provide a number.
- Choose Day from the options [Second, Minute, Hour, Day, Week, Month]
Then click on Create.

- Add a SharePoint ‘Get items‘ action and apply the filters as specified below.
- Site Address = Choose site address.
- ListName = Choose list name.
- Filter Query :
ApprovalStatus eq 'In Progress'
Here, ApprovalStatus is the field’s internal name, and ‘In Progress‘ is the status value.

- Then add a condition action and provide the condition as given below:
- Choose AND condition, and select the DueDate field dynamically from the ‘Get Items’ action.
- Then, choose the comparison “is less or equal to” and provide the right-side placeholder with the utcNow() function from the expression.

- On True condition, add the Send an Email (V2) action.
- To = Take approver email dynamically from “Get items” action.
- Subject = Provide subject.
- Body = Provide body and, in between, dynamically choose the required information.

Once it is done, the For each loop will be automatically created on top of the condition. Save the changes and test it manually once. Then, based on the time you choose, the flow will run daily and check if there are any records with a status of ‘in progress’ and a due date within today; then, a reminder will be sent to the approver.
Here you can see, I got a reminder email for the expense claim, where the status is in progress and the due date is today.

Tip: you can move the date check into the Filter Query, so the flow only loops through the items that need a reminder:
ApprovalStatus eq 'In Progress' and DueDate le '@{utcNow()}'
Method 3: Notify the Requester When a Request Is Approved or Rejected
In this flow, the manager gets an approval request, and the requester gets an email and an updated list item once the manager responds. For due-date reminders to task owners instead, see send 7 or 14 day task due reminder emails.
Scenario:
The below image represents the SharePoint list [Travel Requests] with a few columns:

When a user creates an item in the SharePoint list, an approval request should be sent to the Manager.
- If the Manager approves the request -> Send a reminder email as approved to the requester and update the status as Approved.
- If the Manager rejects the request -> Send a reminder email as rejected to the requester and update the status to Rejected.
To create a Power Automate flow, check out the below steps:
1. Browse the Power Automate Home page, click + Create, select the Automated cloud flow, provide the flow name, choose the flow trigger (When an item is created), and click the Create button.
- Inside the trigger, select the Site Address and List Name.

2. Next, take Create an approval flow action and set the below-provided parameters:
- Approval Type: Select the option Approve/Reject – First to respond from drop-down.
- Title: Provide the Title from dynamic content.
- Assigned To: Take Manager Email from the dynamic content.
- Item Link: Give the Link to the item.

3. Then, add Wait for an approval flow action, take the parameter as below:
Approval ID: select the Approval ID under Create an approval of dynamic content.

4. After that, select a Condition control action and give the condition expression:
| Choose Value | Operator | Choose Value |
| @body(‘Wait_for_an_approval’)?[‘outcome’] | is equal to | Approve |
Type Approve, not “Approved”: for Approve/Reject approvals the outcome is Approve or Reject. The screenshot below still shows “Approved”.

5. Under True condition, select Send an email(v2) flow action.
- To: Take Requester Email from dynamic content.
- Subject: Provide a subject line for a mail.
- Body: Enter a detailed description of the mail along with taking dynamic content.

6. Take Update item flow action, configure the details like Site Address, List Name, Id, Title.
- Status Value: Take the value as Approved from the drop-down.

7. Under False condition, take the Send an email(v2) condition and set the parameters as To, Subject, and Body as shown in the screenshot below:

8. After that, take the Update item action to update the status value to Rejected.
Set the details like Site Address, List Name, Id, and Title, and select the Status value to Rejected from the drop-down.

9. Once the flow is created -> Click on Save and Test the flow manually.
10. When the flow starts running, now add an item to the SharePoint list as shown in the below image:

11. Now, the flow will send the approval request to the Manager in the Microsoft Teams Approvals or Outlook.
You can refer to the image below!

12. If the Manager approves the request, then the True condition is satisfied.
- Sends an email of approval for the requester
- Updates the status value as Approved in the SharePoint list


13. If the Manager Rejects the request, then the False condition is satisfied.
- Send a reminder email of Rejection to the requester.
- Updates the SharePoint list item value as Rejected.


This is how to send a reminder email for approval using Power Automate workflow.
Power Automate Approval Reminder Multiple Approvers
To send an approval reminder to multiple approvers in Power Automate, follow the below steps.
Scenario:
Here, I have taken an example of another SharePoint list [Vacation Tracking Sheet] having a person column[HR Manager] allowing Multiple selections.

When an item is created in the SharePoint list, it will send an approval reminder request to multiple approvers [HR Manager].
- If the approvers accept the request -> Update the SharePoint list column [Vacation Approved?] to Yes.
- If the approvers Reject the request -> Update the SharePoint list column [Vacation Approved?] to No.
Go through the below steps:
1. Take the trigger When an item is created and provide the parameters like Site Address and List Name.
2. Next, take Create an approval flow action and set the below-provided parameters:
- Approval Type: Select the option Approve/Reject – Every one must approve from drop-down.
- Title: Provide the Title from dynamic content.
- Assigned To: Select the HR Manager Email from the dynamic content and separate it with a semicolon.
For each loop, it will be added automatically by taking the Body of the HR Manager.

5. After that, add the Wait for an approval flow action and take the Approval ID under Create an approval from dynamic content as the parameter.

6. After that, select a Condition control action and give the condition expression:
@{body('Wait_for_an_approval_2')?['outcome']} is equal to Approve

7. Under the True condition, select the Update item flow action and provide the Site Address, List Name, and ID.
- Vacation Approved: Select Yes from the drop-down.

8. Under False condition, select Update item flow action, provide Site Address, List Name, Id.
- Vacation Approved: Select No from the drop-down.

9. Now, save and run the flow manually. At this point, add an item to the SharePoint list.

10. When the flow starts running, it will send an approval request to multiple approvers, as shown in the below figure.


11. If everyone approvers approve the request, update the SharePoint list item value to Yes, as shown below.

12. If one of the approvers rejects the request, it will update the SharePoint list item value to No.
It won’t update anything in the SharePoint list column [Vacation Approved?]
Refer to the image!

This is how we can send approval reminders to multiple approvers using Power Automate.
Frequently Asked Questions
How long can a Power Automate flow wait for an approval?
Up to 28 days. After that the flow fails, but the approval stays in the Approvals center. For longer processes, Microsoft recommends storing approvals in Dataverse and using two flows based on the Create an approval (v2) action.
Can I send the reminder in Microsoft Teams instead of email?
Yes. In Method 1 or Method 2, replace Send an email (V2) with the Microsoft Teams action Post message in a chat or channel and post the reminder to the approver as the Flow bot.
Why shouldn’t I use a Do until loop for approval reminders?
A Do until loop has to handle every final state of an approval: Approved, Rejected and Canceled. If it doesn’t, the flow can loop forever and keep sending reminders. Microsoft recommends a condition or switch instead, which is what Method 1 uses.
Can the approver hand the request to someone else?
Yes. The approver can open Approvals in Power Automate, select the three dots next to the request and choose Reassign. The requester can’t reassign it, but can cancel it from the Sent tab and send a new request.
Also, you may like:
- Send Birthday Email using Power Automate
- Post Image to Microsoft Teams Channel Using Power Automate
- Delete Files Older than 3 Years from SharePoint Document Library Using Power Automate
- Sort Array in Power Automate
- Power Automate Send Email With Attachment
- Create HTML Table in Power Automate
Conclusion
I hope this helps you pick the right reminder for your approvals: a timeout reminder inside the approval flow (Method 1), a daily scheduled reminder for pending requests (Method 2), and outcome emails to the requester (Method 3). For requests that need more than one approver, use the multiple approvers example above.
Additionally, we saw how to work with Power Automate approval reminder multiple approvers with an example.

I have worked with Microsoft technologies for more than 18 years, including SharePoint, Microsoft 365 and the Power Platform (Power Apps, Power Automate and Power BI), at companies like HP, TCS and KPIT. I started EnjoySharePoint in 2011 to share the solutions I build in real projects with readers in the United States, Canada, the United Kingdom, Australia, New Zealand and beyond. Microsoft has recognized this work with the Microsoft MVP award 13 times since 2014.
Hi, am trying to send approval reminders for multiple approvers based on your approval remainder but however its not working, could you please help me?
Hi, I made it by adding just couple things. Here is how it goes:
1. I have a “person” column with multiple selection. It is called “Reviewers”.
2. In the flow is Variable: Name: “Approvers”; Type:String.
3. Then I have a block “Apply to each”: output is “Reviewers”
3. Inside that block is a Variable: Name:”Approvers”; Value: Reviewers Emails.
This last “Approvers” variable I use to assign the approval request.
Hi, having an automated approval reminder for multiple reviewers how to set a remined only for people that did not respond to my PowerAutomate Approval request?
At the moment my flow sends out reminder emails to all reviewers until all respond which leads to confusion and annoyance…
Never work for me , may be i am doing something stupid but how come it will be even go further , it keeps wait for Approval flow and does not go further to check for remainder , Sorry may be i am doing something stupid but this does help me 🙂
Hi, Do-Until loop checks condition after execution of actions inside loop, so if manage has approved then also they will receive reminder email and then flow will wait for 1 day delay and finally check the condition and found out it’s approved.
So with this process flow will wait for minimum 2 days to completed, ignoring manager has already approved in 10 minutes.
Hi Brijendra, this is something that I’ve noticed here and on several solutions from other sources as well. This issue is hardly noticeable during testing with delays of a couple minutes but will become apparent as a bug if the delay is set with a magnitude of a couple days. Hopefully someone will address this and come up with a more thorough solution…
I did ‘do until’ but i got so many emails for same thing within those 2 minutes. it generated email for every second looks like.