“How do I send reminder after X days for assigned approval task in Power Automate? I don’t see such option in the ‘Start and wait for approval’ action.”
Using Power Automate, there’s no direct action nor configuration to send approval task reminder. If you want a reminder, you have to implement it by yourself. And as such, there’re multiple approaches, but each of them having some limitations.
Separate reminder flow
My preferred approach is a separate reminder flow, as described in my other post on building a basic reminder flow. Basically, it’s moving one level up, from the Power Automate flow itself to the whole solution. When you’re developing an approval flow, you need to run it on a data (item, document,…). And as such, maybe you can keep the information directly in it.
For example, let’s consider an approval flow on SharePoint list item. Additionally to the information entered by the user, you’ll have some flow related information. For sure you’ve got some ‘Approval status’ column updated by the flow. So you could add 2 more columns for the flow: ‘Task assigned date’ and ‘Task assigned to user(s)’. Before you assign a task, you update the two column. That gives you information of ‘who’ is responsible for the next task, and since ‘when’.
With this information, you can design a scheduled Power Automate flow that will once a day send the reminders. You’ll filter all requests still in approval with ‘Task assigned date’ before X days, and send a reminder to ‘Task assigned to user(s)’.
But as already said in the beginning, also this solution has limitations. You can’t send an actionable task email and you must be able to store the assigned date and assigned users information somewhere.
Parallel action
You can implement the reminder also in a parallel branch to the approval. While the ‘Start and wait for an approval’ action is waiting for the response, the parallel branch will be sending reminders in a loop. Once the task is completed, the flow will wait for the next loop run and continue. This implementation is nicely explained here.
There’re two downsides for this solution. First, you can’t resend the actionable task email, you can send only normal email. Second, the flow won’t continue right after the response, it’ll wait for the next parallel branch run.
Task create, cancel, create…
Another approach I saw here is to use ‘Do until’ action with time-out setting on the ‘Approval’ action. After the ‘Approval’ action time-outs, it’ll cancel the approval task and create a new one. Do this until the ‘Approval’ is completed.
The benefit of this approach is that users will always receive a new, actionable email. But again, two downsides. First, the canceled tasks will stay in the list of received Approvals, users will see many ‘canceled’ tasks in the Power Automate application. And second, if you delegate a task, the next cancel/create will create a new one again for the original user.
It might be a good solution once Power Automate starts removing expired tasks (and if you don’t use delegation).
Summary
As you can see, there’re multiple options, but none of them is perfect. None of them can handle delegation, and none of them handles ‘all must respond’ approvals well. Even users who already completed their task will get the reminder.
Only the third option, task recreation, can resend the actionable email. But for me the shortcomings with delegation and canceled tasks are bigger than the benefit.
If you can’t store the ‘Task assigned date’ and ‘Task assigned to user(s)’, the second option with parallel branch is the way to go. But if you can store the information somewhere, I’d go with the first option: separate reminder flow.
As the reminder is a separate flow, it won’t block the approval and all tasks will be processed right away. It’ll also send the reminders in a more regular way. Using a scheduled flow will guarantee that all reminders are sent at the same time. When you and your colleagues get all reminders early in the morning, you’ll have more uninterrupted, reminder-free time during the day.
Thanks for this article. It helped me figure out the best approach to sending daily reminders. I went with a separate flow on a custom schedule. I created an API to query the database and return a list of projects and their pending approver emails.