How to Send 7 or 14 Day Due Date Reminder Emails in Power Automate

A project manager I worked with had a SharePoint task list with a Due Date column, and she was tired of chasing people by email. She wanted the people assigned to each task to get a heads-up 14 days and 7 days before it was due, a reminder on the day, and a nudge when it was 7 and 14 days overdue.

In this tutorial, I’ll show you how to build that with one scheduled Power Automate flow. It runs every morning, checks each task’s due date, and sends the right reminder to everyone assigned to it, with a link to the task and the due date highlighted in color.

Quick answer: Create a Scheduled cloud flow that runs daily. Get today’s date with convertTimeZone(), use Get items to read the SharePoint list, and in an Apply to each loop compare each task’s date columns (due date, 7 and 14 days before, 7 and 14 days after) with today. When a date matches, send a Send an email (V2) reminder to each person in Assigned To.

What the flow sends

Each morning, the flow looks for tasks where one of these dates is today, and sends the matching reminder:

WhenReminderDate color in the email
14 days before the due dateThe task is due in 14 daysGreen
7 days before the due dateThe task is due in 7 daysGreen
On the due dateThe task is due todayOrange
7 days after the due dateThe task is 7 days overdueRed
14 days after the due dateThe task is 14 days overdueRed

You can change the number of days to anything you like, such as 3 or 30, using the same steps.

Set up the SharePoint list

My example uses a list called TaskList with these columns:

ColumnType
Title (renamed TaskName)Single line of text
AssignedToPerson or Group, with multiple selections allowed
TaskPriorityChoice
TaskStatusChoice
DueDateDate and time (date only)
SharePoint TaskList with task name, assigned to, priority, status and due date columns

Add four calculated date columns

To make the comparisons in the flow simple, add four calculated columns that work out the reminder dates from the due date. In the list, select Settings > List settings > Create column, name the column, and choose Calculated (calculation based on other columns).

For DueDateBefore7days, enter this formula and set the data type returned to Date and Time with the Date only format:

=DueDate-7
Calculated column formula =DueDate-7 returning a Date and Time value

Create the other three the same way:

ColumnFormula
DueDateBefore14days=DueDate-14
DueDateAfter7days=DueDate+7
DueDateAfter14days=DueDate+14

The list now shows all five dates for every task:

SharePoint task list showing the due date and the four calculated reminder dates

If calculated columns are new to you, see how to calculate dates in SharePoint calculated columns.

Create the scheduled flow

In Power Automate, select Create > Scheduled cloud flow. Give it a name, set the start date and time, and set Repeat every to 1 Day. I run mine every morning at 10:00 AM.

Build a scheduled cloud flow dialog with the flow repeating every 1 day

Then open the Recurrence trigger and set the Time zone, for example (UTC-05:00) Eastern Time. Without it, the schedule runs in UTC, which can be the wrong day for your users.

Get today’s date in your time zone

Add a Compose action, rename it Today, and enter this expression:

convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time', 'yyyy-MM-dd')
Compose action named Today that stores the current date

My first version of this flow used utcNow() on its own. In the US, a flow that runs in the evening is already on the next day in UTC, so every reminder arrived a day early. Converting to your time zone and formatting the date as yyyy-MM-dd avoids that. Replace Eastern Standard Time with your own time zone name.

Get the tasks

Add the SharePoint Get items action and select your site address and list name.

Get items action with the site address and TaskList list name

Get items returns only the first 100 items by default. If your list has more tasks, open the action’s Settings, turn on Pagination, and set a threshold such as 5,000. See how to get more than 100 items from a SharePoint list for the details.

Add two variables

Add two Initialize variable actions, both of type String with no value: LinktoItem for a clickable link to the task, and DueDate for the colored due date in the email.

Initialize variable action for the LinktoItem string variable
Initialize variable action for the DueDate string variable

Check each task’s dates

Add an Apply to each loop and select value from the Get items action. Inside the loop, you’ll add one Condition for each reminder.

Apply to each loop over the SharePoint items from Get items

Case 1: the task is due today

Add a Condition. On the left, enter this expression, choose is equal to, and on the right select the output of Today:

formatDateTime(items('Apply_to_each')?['DueDate'], 'yyyy-MM-dd')

In the True branch:

  • Add a Set variable action for LinktoItem with this value, which builds a link to the task:
    <a href='@{items('Apply_to_each')?['{Link}']}'>@{items('Apply_to_each')?['Title']}</a>
  • Add a Set variable action for DueDate with the due date wrapped in a colored span. For the due-today reminder, use orange:
    <span style="background-color:Orange;">@{formatDateTime(items('Apply_to_each')?['DueDate'], 'MM/dd/yyyy')}</span>
  • Add an Apply to each over AssignedTo, because the column allows several people, and inside it add Send an email (V2). Set To to the person’s Email, and use the two variables in the subject and body.
Condition for the due-today case with Set variable actions and Send an email (V2)

Cases 2 to 5: before and after the due date

Add four more Conditions, still inside the main loop, the same way. Only the column you compare and the color change:

CaseCompare this column with TodayColorSubject idea
2DueDateBefore7daysGreen (#77ff33)Task due in 7 days
3DueDateBefore14daysGreen (#77ff33)Task due in 14 days
4DueDateAfter7daysRed (#ff6666)Task 7 days overdue
5DueDateAfter14daysRed (#ff6666)Task 14 days overdue

For example, the left side of the Case 2 condition is:

formatDateTime(items('Apply_to_each')?['DueDateBefore7days'], 'yyyy-MM-dd')
Condition for the 7 days before case with a green due date
Condition for the 14 days before case
Condition for the 7 days overdue case with a red due date
Condition for the 14 days overdue case

Here’s the whole flow:

Complete scheduled flow that sends 7 and 14 day task due reminder emails

Test the flow

To test it without waiting, create five tasks whose dates match today. If today is October 5, 2026, set one task’s due date to October 5, one to October 12 (7 days before is today), one to October 19, one to September 28 (7 days after is today), and one to September 21.

Select Test > Manually > Test. Each person assigned to a task gets the matching reminder in Outlook: “due today” with an orange date, “due in 7 days” and “due in 14 days” in green, and the two overdue reminders in red. A task with two people assigned sends one email to each of them.

A faster option for large lists

The loop above checks every task every day. That’s fine for a few hundred tasks, but for big lists it’s faster to let SharePoint find the matching tasks. Use one Get items action per reminder, with a Filter Query like this one for “due in 7 days”:

DueDate eq '@{formatDateTime(addDays(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 7), 'yyyy-MM-dd')}'

Change the 7 to 14, 0, -7 or -14 for the other reminders, and you no longer need the calculated columns. If the filter query is new to you, see how to use the Get items filter query.

Tips

Download the complete flow

If you’d like to skip the build, the ready-made 7 and 14 day reminder flow is available with our other Power Platform and SPFx solutions, so you can import it into your environment and adjust it.

These Power Automate tutorials go well with this flow:

Frequently Asked Questions

How do I send a reminder email before a due date in Power Automate?

Create a scheduled cloud flow that runs daily, get today’s date, and compare it with the due date minus the number of days you want. When they match, send the email. Microsoft explains scheduled flows in its guide to running flows on a schedule.

Why do my reminders arrive a day early or late?

The flow uses UTC by default. Set the time zone in the Recurrence trigger and convert today’s date with convertTimeZone() before you compare it with the due date.

Can I send the reminder to everyone in a multi-person column?

Yes. Add an Apply to each over the Person column and send one email to each person’s Email value inside it.

Do I need calculated columns for the reminder dates?

No. You can compare addDays() on today’s date with the due date instead, or use a Get items filter query for each reminder.

1 thought on “How to Send 7 or 14 Day Due Date Reminder Emails in Power Automate”

  1. Hi thanks for the detailed tutorial. i followed the steps- flow is running successfully but the emailis not triggered

Comments are closed.