Individual Task Reminder Workflow

One of my favorite workflows reminds individual of their Open Tasks. It is easy to set up an alert to remind you about open tasks. That said, if you have 20 overdue tasks, the out of the box reminder will send you 20 separate emails. Instead, you can set up a workflow to send ONE email with a table listing the 20 overdue tasks.

Reminder Email Workflow Step-by-step

Step 1 – Trigger

My workflow runs weekly, so I start with a Recurrence trigger. This is set to run at an Interval of 1 Week on Sunday at 4:00 a.m. Pacific.

Recurrence action screen capture set to 1 Week, Time zone = Pacific, On these days = Sunday, At these hours = 4

Step 2 – Get the SharePoint list items

Add a SharePoint Get list items action.

Choose your Site Address and List Name.

Get list items action screen capture. Displaying the Site Address, List Name and Filter Query = Done ne 'Yes'
Set a Filter Query

Get only items that are not yet done by using a Filter Query. The column in my list is named Done and the values are either Yes or No.

In this example the Filter Query is Done ne ‘Yes’.

  • Column Name = Done
  • Condition = ne (not equal to)
  • Value = ‘Yes’ (in single quotes)
Resource:

In-depth analysis into ‘Get items’ and ‘Get files’ SharePoint actions for flows in Power Automate | Microsoft Learn

Step 3: Get the email addresses for each task

Add a Select action.

Note: In the Select action Switch to text mode instead of key values.

Screen capture of Select action Switch to text mode.

For the From field use the dynamic picker to get the body/value from the Get list items step.

Choose Assigned to Email for the Mapped property.

Step 4: Get the unique users from (Assigned to)

Add a Compose step. Name it Compose – get unique users

Use the Expression creator to set the Input to:

union(body('Select'),body('Select'))

Step 5: Process the list of unique Assigned To users

Add Apply to each action. Set the output value to the Compose step (Step 4) to get unique users.

Step 6: Filter the list of emails

Add a Filter array Data Operation action.

Set the From to the Get list items

Set the Filter Query to the AssignedTo/Email field from your Get list items. Set the condition is equal to. Set the field to Current item from the Apply to each step (Step 5).

Step 7: Add a Style block to style your email message

This step is optional; however, I like a nicely formatted email message.

Add a Compose action and name it Style. Copy and paste the Style CSS below into the Inputs.

<style> p { font-size: 14px; } br { font-size: 12px; } table { border: 1px solid #000034; background-color: #EEEEEE; width: 100%; text-align: left; border-collapse: collapse; font-size: 14px; } table td, table th { border: 1px solid #000034; padding: 3px 2px; text-align: left; } table tbody td { font-size: 14px; } table thead { background: #1C6EA4; border-bottom: 2px solid #000034; text-align: left; } table thead th { font-size: 15px; font-weight: bold; color: #FFFFFF; border-left: 1px solid #D0E4F5; text-align: left; } table thead th:first-child { border-left: none; } </style>

Step 7: Create your HTML table

Add a Compose action, name it Create HTML table

For the From field, select the Body > List of Items from the Filter array.

For the Columns, choose Custom to allow you to define the columns you want to include in the table of the email message.

In my case I want to display the Task, Due_Date, and Description.

Note: Your table headers can’t include spaces. In my SharePoint list, my field is DueDate, but in the table I want it to be separated, so I’ve set that Header to be Due_Date.

For the Task (field name Title) field, I’ve made it a link to the item in the list, I’m combining an HTML href for the link and set it to display the Title field.

concat('<a href="', item()?['{Link}'], '">', item()?['Title'], '</a>')

Step 8: Send the email

Add a Send an email (V2) step to send the email to each person who has open items.

Set the To field to the Current item from the Apply to step.

For the Body of the email I’ve added the following:

  1. The Outputs of the Compose step for the Style of the message.
  2. A link to the full Task Tracker SharePoint list.
  3. The table of Open Tasks. (see the HTML for the table below)
  4. A link to the “My Open Tasks” view in the list.
Building the HTML table

In order to build the table for each open task in the SharePoint list, you need to use a replace expression. Using replace ensures that your HTML content is consistent and standardized for the table.

Here is the code to place in an expression:

replace(replace(replace(body('Create_HTML_table'),'&lt;','<'),'&gt;','>'),'&quot;','"')

The Weekly Open Tasks Email

This is an example of the email the “Assigned To” individuals receive each week.

Leave a comment

Hi, I’m Colleen Parker

Colleen Parker headshot. Woman with long white hair and blue eyes.

M365 Functional Consultant

Are you ready to supercharge your organization’s productivity and efficiency with Microsoft 365? I can help you unlock the full potential of this powerful suite of tools. I bring expertise in understanding your unique business needs and can tailor Microsoft 365 solutions to streamline your workflows, optimize collaboration, and drive innovation. From seamless integration of applications to customized training for your team, I ensure that you harness the full power of Microsoft 365 to drive growth and success.

Let’s connect!