Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Outlook
    • Planner
    • Power Apps
    • SharePoint
    • Teams
  • Triggers
  • Ready to use solutions
    • Approval Process Template
    • Task Delegation App
    • The Ultimate Power Automate expressions cheat sheet
    • Power Automate HTTP requests to SharePoint cheat sheet
    • Power Automate HTTP requests to Graph API cheat sheet
  • ABOUT ME
  • Get help with your flow
  • POWER PLATFORM SERVICES
Menu

Sending reminders for parallel tasks in Power Automate

Posted on September 17, 2023September 18, 2023 by Tom

“I have a Power Automate flow with multiple parallel tasks where I’d like to add reminders, but only for the tasks that weren’t completed yet.”


Every time you build an approval flow in Power Automate, you should consider adding a reminder flow as well. While it’s easy to overlook a task if you get the notification only once, it’s much harder if you get it every day…

There’re already a few articles on building reminders – a basic reminder and an optimised one. But these reminders are meant for a single approval task. What about parallel approval tasks? Different tasks that must be completed by different groups of users at the same time? How do you prepare a flow to send reminder only to the relevant users?

Store the recipients in a column

As mentioned in the previous articles, I prefer building reminders using additional columns, mostly SharePoint columns. One column to store the current approvers, another column to store the task assignment date. If your flow creates only a single task at a time, it can be people picker and a date column.

For parallel tasks it must be a bit different though as you need more than the assigned people. You need also the information which of the users are assigned to which of the parallel tasks. A multiple lines of text column will be more helpful in this case.

Add such column and store the tasks information in the format below.

<Task1Name>:<Approvers1Emails>||<Task2Name>:<Approvers2Emails>||<Task3Name>:<Approvers3Emails>

Since these are parallel tasks the assignment date will be the same.

power automate reminders parallel tasks

Continue by creating all the parallel tasks, e.g. in a parallel loop to handle various number of tasks.

split(outputs('Compose'),'||')   - for each task:approvers combination

split(item(),':')[0]             - get task name
split(item(),':')[1]             - get approvers emails
power automate reminders parallel tasks

Update the column after each task

Once one of the tasks is completed you should remove the approvers from this column. But before you do that, reload the item to get the latest values. You don’t want to keep working with the trigger action as the other approvals could’ve changed the column already.

As you’re using fixed characters to separate task:approvers combinations, turn it into an array by split(…)ing it by a separator.

split(outputs('Get_item_-_reload_item')?['body/Approvers'],'||') 

And keep only the items that don’t start with the current task name using the ‘Filter array’ action.

item()
<does not start with>
split(items('Apply_to_each'),':')[0]
power automate reminders parallel tasks

Note: be careful here to use the whole items(‘<loopName>’) reference on the right side of the filter. If you used just item() it’d reference the currently processed item in the filter and it won’t work.

Turn the result back into a string using the same separator and update it to the item. It will contain only the remaining tasks:approvers combination.

join(body('Filter_array_-_remove_approvers_for_current_task'),'||')

Use the information to build a reminder

At this point you’ve got everything you need to build a reminder. You have a date when the task was assigned, and you have also the task name and emails of the approvers. Create a scheduled flow as explained in the previous articles to get the relevant requests.

Using a few more split(…) expression ‘Select’ the list of emails from each open task.

split(items('Apply_to_each')?['Approvers'],'||')   - from all combinations
split(item(),':')[1]                               - select approvers

Join(…) them all together using semicolon to turn them all in a single string.

join(body('Select'),';')

Since there can be multiple items with multiple approvers, optimise the flow a bit by using a ‘Compose’ after the loop to get them all. Join(…) them into a single string across all the items and split(…) it again to get an array with all the email addresses.

split(join(outputs('Compose'),';'),';')

Follow up with union(…) on the outcome to get only unique emails and continue with the reminder flow to send them a link to their task.

Summary

Once you start working with parallel tasks in Power Automate, the reminders get a bit more complicated. You don’t want to send an email to all the tasks, you want to know which tasks were already finished and which not. That’s why you must store the information somewhere, and in this solution you could see how it’s done with 2 SharePoint columns.

One column to keep the task names and approvers, another one to keep the assignment date. Once a task is completed, this solution will remove the task information from this reminder column. And since the reminder is based on this column, only the users with open task will get a notification.

Just keep in mind that here we’re talking about multiple tasks in parallel, if you’re using a single task with multiple approvers it’s a different approach.


πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Still exchanging emails to get things approved?

Use the Approval Process Template and the Task Delegation App to skip the hard part and deploy an automated, fully functional approval solution on a SharePoint list in minutes! And then the next one, and the next one...

Approval Template Preview ✨ Learn more ✨

Turn ideas into flows with ease!

Grab the complete Power Automate Cheat Sheet Bundleβ€”everything you need to master expressions, SharePoint HTTP calls, and Graph API in Power Automate.

Cheat Sheet Bundle Preview ✨ Get the Cheat Sheets

Didn't find what you were looking for?
Need to adjust a solution to fit your needs?
Or would you just like to get an assistance from somebody with thousands of hours of experience with Power Automate?

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2025 Let's POWER Automate | Theme by SuperbThemes