How to Send Monthly Email Reminder for a Due Date Using Power Automate?

In my recent task, I encountered an interesting scenario where a user wanted to set up an automated email reminder for tasks due in the current month. The idea was to send a single, consolidated email to each assigned person, listing all their tasks with expiry dates within the month.

In this tutorial, I will tell you how to send monthly email reminder for a due date using Power Automate.

Send Monthly Email Reminder for a Due Date Using Power Automate

For example, I created a SharePoint list called Task Tracker with the below data:

Send Monthly Email Reminders in Power Automate

If someone had three tasks due in December, they would receive one email on the first day of the month with a summary of all three tasks.

Now follow the below steps:

1. In the Power Automate, click the Scheduled Cloud flow, enter the Flow name, and provide the following:

  • Starting: Provide the date you want to run your flow, like 1st December.
  • at: Provide the time you want to run the flow, like 10:00 AM.
  • Repeat every: We want to run the flow every Month, so here, select 1 Month.
Send Monthly Email Reminders using Power Automate

2. Add a compose action and provide the below CSS, which we will use later:

<style>
table {
    border: 1px solid #1C6EA4;
    background-color: #EEEEEE;
    width: 100%;
    text-align: left;
    border-collapse: collapse;
  }
  table td, table th {
    border: 1px solid #AAAAAA;
    padding: 3px 2px;
  }
  table tbody td {
    font-size: 13px;
  }
  table thead {
    background: #0602e1;
    border-bottom: 2px solid #444444;
  }
  table thead th {
    font-size: 15px;
    font-weight: bold;
    color: #FFFFFF;
    border-left: 2px solid #D0E4F5;
  }
  table thead th:first-child {
    border-left: none;
  }
</style>
Power Automate Send Monthly Email Reminders

3. Add an Initialize variable action and provide the below parameters to store the current month:

  • Name: varCurrentMonth
  • Type: Select String
  • Value: Provide the below expression:
formatDateTime(utcNow(),'MM')
power automate send reminder email before due date

4. Next, add an Initialize variable action and provide the below parameters to store the current year:

  • Name: varCurrentYear
  • Type: Select String
  • Value: Provide the below expression:
formatDateTime(utcNow(),'yyyy')
power automate reminder email

5. Add again Initialize variable action and provide the below parameters to store Assigned To people email:

  • Name: varAssignedTo
  • Type: Select Array
sharepoint due date reminder email

6. Add Get items action and provide the below parameters to retrieve all tasks from the SharePoint list:

  • Site address: Provide a specific site address from the drop-down.
  • List Name: Select a specific list from the drop-down.
  • Filter Query: Provide the below information:
 ExpiryDate ge '@{utcNow()}'
sharepoint due date reminder in Power Automate

7. Add the Filter array action. For the From field, use the below expression to filter this year data:

outputs('Get_items')?['body/value']

Add a condition in the Filter array:

  • Left-hand side: Use the expression:
formatDateTime(item()?['ExpiryDate'],'yyyy')
  • Right-hand side: Use the expression:
variables('varCurrentYear')
power automate email reminder based on date

8. Add the Filter array action. For the From field, use the below expression to filter this month’s data:

body('Filter_array')

Add a condition in the Filter array:

  • Left-hand side: Use the expression:
formatDateTime(item()?['ExpiryDate'],'MM')
  • Right-hand side: Use the expression:
variables('varCurrentMonth')
power automate send email reminder from sharepoint list

9. Next, add Apply to each action and set the output of the above Filter array action in the Select an output from previous steps parameter.

body('Filter_array_1')

Inside the action, add Append Array variable action to add the Assigned To people email address:

  • Name: Provide the above array variable name(varAssignedTo).
  • Value: Provide AssignedTo email from the dynamic content or below expression:
item()?['AssignedTo/Email']
power automate due date reminder

10. Now, add a Compose action and use the following expression to get the unique email addresses assigned to people:

union(variables('varAssignedTo'),variables('varAssignedTo'))
power automate reminder emails by date

11. Then, add an Apply to each action and set the output of the above Compose action in the Select an output from previous steps parameter.

outputs('Compose')
how to send reminder email in outlook using Power Automate

12. Add the Filter array action. For the From field, use the below expression to filter Assigned To person email:

body('Filter_array_1')

Add a condition in the Filter array:

  • Left-hand side: Use the expression:
items('Apply_to_each_1')
  • Right-hand side: Use the expression:
item()?['AssignedTo/Email']
power automate reminder flow

13. Then add a Create HTML table action and provide the required fields:

  • From: Provide the below expression from dynamic content.
body('Filter_array_2')

Click Show all to display all the advanced parameters.

  • Columns: Select Custom column from the drop-down options.
HeaderValue
Task IDitem()?[‘TaskID’]
Task Nameitem()?[‘TaskName’]
Descriptionitem()?[‘Description’]
Expiry DateformatDateTime(item()?[‘ExpiryDate’],’dd/MM/yyyy’)
how to send a reminder email on outlook using Power Automate

14. Add a Send an email action and provide the below parameters:

  • To: Provide below expression:
items('Apply_to_each_1')
  • Subject: Provide the below subject, or you can modify it according to the requirement:
Task Reminder: Upcoming Expiry Date in @{formatDateTime(utcNow(),'MMMM yyyy')}
  • Body: Provide below body:
Dear user,@{outputs('Compose_|_CSS')}

This is a reminder of the tasks assigned to you that are due in @{formatDateTime(utcNow(),'MMMM yyyy')}. Below is the list of tasks:

@{body('Create_HTML_table')}
How to Send Monthly Email Reminders for Tasks Due in the Current Month Using Power Automate

Run the flow to Send Monthly Email Reminders

Save and test the flow manually. You will see that the assigned people whose tasks expire this month receive an email in Outlook, as shown in the screenshot below.

Send Monthly Email Reminders for Tasks Due in the Current Month Using Power Automate

Conclusion

In this tutorial, we covered how to create a Power Automate flow to send monthly email reminders for tasks due in the current month. We started by setting up a scheduled flow to run on the first day of each month. Using filter actions, we filtered tasks based on their expiry dates. Finally, we created a personalized HTML email summarizing the tasks for each individual and sent it automatically.

Related Power Automate tutorials:

>

Build a High-Performance Project Management Site in SharePoint Online

User registration Power Apps canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App

Power Platform Tutorial FREE PDF Download

FREE Power Platform Tutorial PDF

Download 135 Pages FREE PDF on Microsoft Power Platform Tutorial. Learn Now…