Here is the complete guide to sending an email reminder to multiple users from the SharePoint list using Power Automate. I have explained how to send email reminders from a SharePoint list using Power Automate.
Scenario:
Recently, I got a requirement to send email reminders for the assigned task users, based on the Due Date column presented in the SharePoint Online List. The requirement is to send an email for the following points:
- If the DueDate is Today – The assigned users will be reminded that the task expires today.
- 1 day before – The assigned users will be reminded that the task will expire Tomorrow.
- 1 day after – The assigned users will be reminded that the task has already expired for 1 day.
- 3 days before – The assigned users will be reminded that the task will expire in 3 days.
- 3 days after – The assigned users will be reminded that the task has already expired from 3 days
To meet this requirement, follow the exact steps mentioned below. I’m sure that you can also achieve it.
Send Email Reminders from a SharePoint list using Power Automate
Let us see how to send email reminders from a SharePoint list using Power Automate flow,
Step-1:
Create a SharePoint Online List. Here, I’m going to use the below SharePoint Online TaskList consisting of,
- TaskName – default title column
- AssignedTo – Person or Group type
- TaskPriority – Choice type
- TaskStatus – Choice type
- DueDate – Date and Time type
Now, we will create four calculated columns to calculate the date values for DueDateBefore1day, DueDateAfter1day, DueDateBefore3days, and DueDateAfter3days based on the DueDate column.
- To create a calculated column, Go to list settings -> create column -> Enter a column name and choose the Calculated option.
- Under Formula, enter the formula below, choose the return data type as Date and Time, and click the OK button. Here, I have calculated and created a column DueDateBefore1day.
=DueDate-1
In the same way, create another three calculated columns in my SharePoint list by using the below formulas:
To calculate DueDateAfter1day, use the below formula:
=DueDate+1
To calculate DueDateBefore3days, use the formula below:
=DueDate-3
To calculate DueDateAfter3days, use the below formula:
=DueDate+3
Once all the date values have been calculated, our SharePoint Task List looks as follows:
Now, we can create a flow to send email reminders from the SharePoint list.
Step-2:
- Log in to Power Automate flow using the credentials, and select +Create -> Scheduled cloud flow.
- Enter the flow name, choose the Starting Date, Time, and Repeat frequency, and click the create option. I want to run the flow daily, so I have selected every 1 day.
Step-3:
Select +new step and add a compose data operation to get today’s date value. Pass the below utcNow() expression as an input, which returns the current date value.
utcNow()
Step-4:
Add a new step and select Get items action from action triggers. Configure the SharePoint site Address and List Name to retrieve all the items from the SharePoint list.
Step-5:
Select the initialize variable action from the action triggers; later we will use it in our flow. Enter the variable name, and choose the variable type as String.
Step-6:
Now, we will add conditions to check if the date values presented in the SharePoint list are equal to Today’s date value. If Yes, then we will send an email to notify the assigned users; if no, leave it blank.
Add a new step and select Apply to each control, select the output from the previous steps, and pass the values from dynamic content.
Inside the apply to each loop, add the below cases:
Case-1: (DueDate is equal to Today)
- Select a new step and add the Condition control to check if the DueDate is equal to Today.
- If Yes, we will apply to each control and Pass the Assigned To the dynamic content value to get the dynamic content value of the Display name of assigned users.
- Select the set variable action and generate a dynamic URL to send an email with the assigned task item. In the Name field, select the initialized variable from the dropdown. In the value section, pass the below value.
<a href='@{items('Apply_to_each')?['{Link}']}'>click here to view the assigned task</a>
- Add a Send an email(V2) action and Pass the To as AssignedTo Email, Subject, and Body from Dynamic content values.
formatDateTime(outputs('Today'),'yyyy-MM-dd')
Case-2: (DueDateBefore1day is equal to Today)
- Select a new step and add the Condition control to check if the DueDateBefore1day is equal to Today.
- If Yes, select apply to each control and Pass the Assigned To the dynamic content value. Select the set variable action and generate a dynamic URL to send an email with the assigned task item.
- In the Name field, select the initialized variable from the dropdown. In the value section, pass the below value.
<a href='@{items('Apply_to_each')?['{Link}']}'>click here to view the assigned task</a>
- Add a Send an email(V2) action and Pass the To as AssignedTo Email, Subject, and Body from Dynamic content values.
formatDateTime(items('Apply_to_each')?['DueDateBefore1day'],'yyyy-MM-dd')
formatDateTime(outputs('Today'), 'yyyy-MM-dd')
Case-3: (DueDateAfter1day is equal to Today)
- Select a new step and add the Condition control to check if the DueDateAfter1day is equal to Today.
- If Yes, choose apply to each control and Pass the Assigned To the dynamic content value. Select the set variable action and generate a dynamic URL to send an email with the assigned task item.
- In the Name field, select the initialized variable from the dropdown. In the value section, pass the below value.
"<a href='@{items('Apply_to_each')?['{Link}']}'>click here to view the assigned task</a>"
- Add a Send an email(V2) action and Pass the To as AssignedTo Email, Subject, and Body from Dynamic content values.
formatDateTime(items('Apply_to_each')?['DueDateAfter1day'],'yyyy-MM-dd')
formatDateTime(outputs('Today'), 'yyyy-MM-dd')
Case-4: (DueDateBefore3days is equal to Today)
- Select a new step and add the Condition control to check if the DueDateBefore3days is equal to Today.
- If Yes, we will add apply to each control and Pass the Assigned To the dynamic content value.
- Select the set variable action and generate a dynamic URL to send an email with the assigned task item.
- In the Name field, select the initialized variable from the dropdown. In the value section, pass the below value.
<a href='@{items('Apply_to_each')?['{Link}']}'>click here to view the assigned task</a>
- Add a Send an email(V2) action and Pass the To as AssignedTo Email, Subject, and Body from Dynamic content values.
formatDateTime(items('Apply_to_each')?['DueDateBefore3days'],'yyyy-MM-dd')
formatDateTime(outputs('Today'), 'yyyy-MM-dd')
Case-5: (DueDateAfter3days is equal to Today)
- Select a new step and add the Condition control to check if the DueDateAfter3days is equal to Today. It will automatically apply to each control to loop through all items presented in the SharePoint list.
- If Yes, Add apply to each control and Pass the Assigned To the dynamic content value. Select the set variable action and generate a dynamic URL to send an email with the assigned task item.
- In the Name field, select the initialized variable from the dropdown. In the value section, pass the below value.
<a href='@{items('Apply_to_each')?['{Link}']}'>click here to view the assigned task</a>
- Add a Send an email(V2) action and Pass the To as AssignedTo Email, Subject, and Body from Dynamic content values.
formatDateTime(items('Apply_to_each')?['DueDateAfter3days'],'yyyy-MM-dd')
formatDateTime(outputs('Today'), 'yyyy-MM-dd')
Step-6:
Our complete flow looks like the below: Save the Flow.
- The Scheduled Flow Runs based on the Scheduled date and time and Repeat frequency. My Current Date is (23/08/2023). My Flow rans at 10:30 AM.
- Below displayed is my SharePoint list which has a current date value on all the five list items.
- 1st item assigned users will get a reminder of the Due date after 1 day
- 2nd item item-assigned users will get a reminder for the Due date
- 3rd item assigned users will get a reminder for the Due date before 1 day
- 4th item assigned users will get a reminder for the Due date before 3 days
- 5th item assigned users will get a reminder for the Due date after 3 days
Once the scheduled flow runs successfully, The assigned users will receive an email in Outlook.
1st SharePoint list item falls under Case-3 in our flow (DueDateAfter1day is equal to Today). So two assigned users(Adele Vance and Patti Fernarndez) will get an email reminder that the Task Already Expired for 1 Day.
Similarly, the 2nd SharePoint list item falls under Case-1 in our flow (DueDate is equal to Today). So, two assigned users(Adele Vance and Miriam Graham) will get an email reminder that the Task Expires Today.
3rd SharePoint list item falls under Case-2 in our flow (DueDateBefore1day is equal to Today). The assigned user, Miriam Graham will get an email reminder that the Task is Expiring Tomorrow.
In the same way, the 4th SharePoint list item falls under Case-4 in our flow (DueDateBefore3days is equal to Today). The assigned user, Patti Fernandez will get an email reminder that the Task is Expiring in 3 days.
5th SharePoint list item falls under Case-5 in our flow (DueDateAfter3days is equal to Today). So, two assigned users( Miriam Graham and Adele Vance) will get an email reminder that the Task Already Expired for 3 Days.
This is how to send email reminders from the SharePoint list using Power Automate flow.
Conclusion
In this Power Automate tutorial, I have clearly explained how to send reminder emails from a SharePoint list using Power Automate or Microsoft Flow. And how to generate dynamic links to items using Microsoft Flow within the Send an email flow action.
I have sent reminder emails in the following dates:
- Send a reminder email if today is the due date
- Send a reminder email three days before the due date
- Send a reminder email one day before the due date
- Send a reminder email one day after the due date
- Send a reminder email three days after the due date
You may also like:
- Send an Email with Attachments from Local Folder using Power Automate
- How to Send an Email with Attachments in Power Automate?
- How to Send an email with options in Power Automate?
- Create a Word Document from HTML using Power Automate
I am Bijay a Microsoft MVP (10 times – My MVP Profile) in SharePoint and have more than 17 years of expertise in SharePoint Online Office 365, SharePoint subscription edition, and SharePoint 2019/2016/2013. Currently working in my own venture TSInfo Technologies a SharePoint development, consulting, and training company. I also run the popular SharePoint website EnjoySharePoint.com