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

How to build basic reminder flow using Power Automate and SharePoint

Posted on November 1, 2020October 11, 2021 by Tom

“I want to setup email “reminder” that goes to the person that needs to do a task, is it possible using Power Automate flow?”

“Users should review a document before expiration date, how can I send them reminder using Power Automate flow?”


Building a flow to send reminder(s) is one of the most common usage of Power Automate. It can be reminder to complete a task, to review a document, input some information or something else. If you want to keep your processes running smoothly, or you just don’t want to think about all the dates, reminder flow is the way. The output of this post will be a reminder flow you can use and reuse in many situations.

Reminder flow

Prerequisites

You must have the date and user information somewhere. It can be a SharePoint list/library, or it can be an Excel file in OneDrive. But for this post let’s take SharePoint list, and this list will contain 2 columns:

  • ‘SendTo’: user, who should get the reminder notification. It could be any people or group column, even the Created By user.
  • ‘Date’: date column, configured as ‘Date Only’, no time. It can be date when a task was assigned, or a review date.

Building the flow

It should be a scheduled flow, running daily. Once a day it’ll filter all items that need the reminder and send it. All notifications will be distributed at the same time.

Start from the scheduled flow trigger.

Daily scheduled flow

The next step is to add ‘Get items’ action, which is the key part of the flow. In this action you’ll filter out all the items that require a reminder with the Filter Query. Since our flow is sending reminders based only on date, the filter will be quite straightforward. You can use utcNow() and addDays() expressions to calculate proper date and format it. You can learn more about the date formatting in this post.

Don’t forget that the filter query needs the internal name of the date column, and that there’s a default limit of 100 items unless you change it.

Date is in the past (e.g. task reminder after 3 days), use negative number
addDays(utcNow(),-3,'yyyy-MM-dd')

Date is in the future (e.g. review reminder 3 days before), use positive number
addDays(utcNow(),3,'yyyy-MM-dd')
Get items based on Date column

Note: if you’re not sure about the date calculation, I went a bit deeper in a post on using SharePoint calculated column for the reminders.

The last step is to process output from the ‘Get items’ action and distribute the emails. The ‘Apply to each’ action will be added automatically once you use any of the ‘Get items’ output in the ‘Send an email’ action.

Send email to filtered items

Summary

As you can see, the flow is quite simple: run each day, get items, send an email. You can take it as a baseline. You can have multiple different reminders for different dates, all with just a small adjustment or extension of the flow above. You can even combine multiple reminders in a single flow or send one reminder per user.

The only point where you can get have problems is the ‘Get items’ step. Your environment could use different time format and then you’d need to adjust it. In such case, try to save the date into variables to see what format you should use.

And if you don’t want to send all emails from your email address, you can change it, e.g. to shared mailbox.


🚀 Master Power Automate

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

No spam. Unsubscribe anytime.

20 thoughts on “How to build basic reminder flow using Power Automate and SharePoint”

  1. Jeremy says:
    May 25, 2021 at 9:08 am

    What if the ‘date’ column has blanks? Meaning some dates are not entered yet but a a later time/date, will this flow still work?

    Reply
    1. Tom says:
      May 28, 2021 at 11:11 am

      Hello Jeremy,
      if the Date column is empty the whole item will be skipped.

      Reply
  2. Mohamed Rashid says:
    July 12, 2021 at 10:50 pm

    Hi Jeremy,
    Trust you are doing well.
    Seeking your guidance while I am motivating young developers in the ICT & QA team in achieving a needful feature in the Weekly Call Tree List, they have created with MS Power Automate. The staff receives an outlook email that has link to the Power Automate List on Sharepoint where one has to create a new listing with certain mandatory information on each Monday which is monitored by the security for the staff welfare during the lockdown working from home.
    As staff members might not act on this mail instantly on a hectic Monday, I understand there is a need to put to “enforced Flag for Recipient Reminders tick marked” just like we can do in Outlook mail under Message > Follow Up tab inputting a certain time like 4PM staff must come open this mail weekly call tree mail and take requested action. I believe this reminder is achievable in Power Automat generated weekly call tree mail. as much I read your articles on the subject. I would be delighted to receive your contextual guidance which will be of great inspiration to my colleagues not to give up.
    Warm Regards,
    Mohamed Rashid
    United Nations-RSC Entebbe Uganda

    Reply
    1. Tom says:
      July 13, 2021 at 7:59 pm

      Hello Mohamed,
      I believe this comment was meant for me, so I’ll reply.
      Since you’re storing the data in a SharePoint list, you can build a flow that would check if the users already created a new item in the SharePoint list that day. The prerequisite is that you must have a list of the users, but I believe you’ve got one since you’re sending them the email. Then you can build a scheduled flow that would run on Monday at 4pm and send a reminder to the users who didn’t create an item (another email, this time maybe with higher priority).

      1. Start from the ‘Scheduled cloud flow’, running 1x per week on Monday, starting at 4pm.
      2. Get all the users who should create the item, e.g. from a SharePoint list with the ‘Get items’ action. I don’t know where you store them, but a SharePoint list would be my choice.
      3. ‘Get items’ from the Weekly Call Tree List, where Created date is greater than today at 00:00:00 (Created gt ‘utcNow(‘yyyy-MM-dd’)’)
      4. Loop through all the users in ‘Apply to each’ and check if they’re in the output from the Weekly Call Tree List. I’d use the ‘Filter array’ action to filter items where the Created By Email is equal to the email of the currently processed user in the loop.
      5. Add a ‘Condition’ to check if the array output from ‘Filter array’ is empty. If it’s empty, the user didn’t create the item, send him a reminder. If it’s not empty, do nothing.

      The points 2, 3 and 4 would look similar to the section ‘Compare the items’ in the post on comparing two lists.

      Reply
  3. ASV says:
    July 22, 2021 at 5:28 pm

    hi i am having failed runs of the flow using below Filter Query. i already used the internal name of the Due Date column and the Status. But i am still having errors.

    Filter Query Formula:
    Due%5Fx0020%5FDate eq ‘@{variables(‘varReminderDate’)}’ and (Status ne ‘Remediated’ or Status ne ‘Resolved’)

    varReminderdate = addDays(utcNow(), variables(‘varNumDays’), ‘yyyy-MM-dd’)
    is the date formating needs to be tied to something? thanks! 🙂

    Reply
    1. Tom says:
      July 24, 2021 at 9:30 am

      Hello ASV,
      without knowing the actual error it shows you it’s hard to guess what’s wrong. My only guess is that the Due Date internal name seems strange, I’d expect it to be Due_x0020_Date.

      Reply
  4. ouss says:
    August 3, 2021 at 8:39 am

    hello Tom,
    i did build flow that remind the user 2 day before the approval date. if the approval date is a Monday or a Tuesday. the would be sent in the weekend. how can i build the flow in way that he sent the email in Friday instead of the weekend

    Reply
    1. Tom says:
      August 4, 2021 at 4:52 pm

      Hello ouss,
      you can check the dayOfWeek(utcNow()) in the flow, and if it’s 5 (=Friday), get also items with due date today+3 and today+4, and send a reminder.
      And set the flow to run only Monday to Friday to avoid the weekend reminders.

      Reply
  5. Anita says:
    September 23, 2021 at 12:39 pm

    Hello Tom,

    I am new to Power automate and coding all together.
    Thank you for this, very helpful. However when sending the reminder email, I want to include link of the original email that was sent ( part of separate flow) and I cant find that option. Please help how I can include the original email link from the other flow to this.

    Reply
  6. Anita says:
    September 23, 2021 at 1:00 pm

    Hi Tom,

    Just went through the post again and looks like you have already called this out that the task email cannot be sent.
    Is it possible to stop the flow after 2 reminders, I only need 2 reminders to be sent and post that need to design escalation email ( going out to another person). Please let me know if thats possible

    Reply
    1. Tom says:
      September 26, 2021 at 7:23 pm

      Hello Anita,
      as you found out, it’s not possible to reference the original email. The reminders are based on a specific days difference so if you want 2 reminders and then escalation then just add another ‘Get items’ with modified Filter Query. ‘Get items’ for 1st reminder -> send it, ‘Get items’ for 2nd reminder -> send it, ‘Get items’ for escalation -> send it.

      Reply
  7. SP says:
    April 28, 2022 at 1:38 am

    Hi Tom,

    How would this work if my data source is dataverse tables? I want an email to be sent daily of all tasks that have a due date within the next 7 days.

    Reply
    1. Tom says:
      May 3, 2022 at 8:01 pm

      Hello SP,
      I didn’t use it over Dataverse, but I think it’ll be the same, filter the rows using the Filter rows field in the ‘List rows’ action and send the reminder for the returned rows.

      Reply
  8. nora says:
    July 20, 2022 at 3:37 am

    Hi. will it work if reminder to be send if the status still pending after certain days of request created?

    Reply
    1. Tom says:
      July 26, 2022 at 9:57 pm

      Hello nora,
      yes, that’s the basic use case for the reminder flow – get items where status = pending and created = few days ago and send a reminder.

      Reply
  9. Chris says:
    January 20, 2023 at 5:01 pm

    Great content Tom!! what is the correct expression to use if I wanted to send a PAST DUE reminder daily until the item is complete?
    Recourrence set for Daily
    Query Filter: (Status_field_value eq ‘Not Started’) and (Date_field eq ‘varPastDue’)
    varPastDue: addDays(utcNow(),-1, ‘MM/dd/yyyy’)

    Reply
    1. Tom says:
      January 26, 2023 at 3:17 pm

      Hello Chris,
      you’re using ‘eq’ = equals condition that means it’ll send the reminder only on that specific day when Date_field = today-1 = yesterday. If you want to send it every day you must use ‘le’ = less or equals operator: Date_field <= today-1. Date_field le ‘varPastDue’ and you should always use the ISO date format yyyy-MM-dd when working with dates. varPastDue: addDays(utcNow(),-1, ‘yyyy-MM-dd’)

      Reply
  10. Pingback: List of functionality for every Power Automate approval process
  11. Mel says:
    January 22, 2025 at 2:00 pm

    I’m stuck with an error and not sure what is wrong.

    The expression “Date of Last Appraisal eq ’21/01/2025′” is not valid. Creating query failed.
    clientRequestId: f82a2ddb-aba4-4a16-ab5e-40e66919dc26
    serviceRequestId: 18047aa1-50e2-b000-6c70-e36cdf39ee60

    Any one have any ideas. I’m trying to set up a reminder to go off a year after the date to say an appraisal is due.

    In my Filter query i have Date of Last Appraisal eq ‘@{addDays(utcNow(),-1,’dd/MM/yyyy’)}’

    Reply
    1. Tom says:
      February 23, 2025 at 12:42 pm

      Hello Mel,
      you must use the column internal name in the filter (https://tomriha.com/what-is-sharepoint-column-internal-name-and-where-to-find-it/), and the filter should always use the ISO 8601 date format ‘yyyy-MM-dd’ if you’re filtering a date column.

      Reply

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.

Working on an Approval process?

Use the Approval Process Template and the Task Delegation App to skip the hard part and deploy a 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