cancel
Showing results for 
Search instead for 
Did you mean: 

Creating a List Reminder Flow

 

I have many requirements over the years to send email reminders based on date fields in SharePoint lists.  One way of accomplishing this task when using a SharePoint Designer workflow was to use a series of "wait until" actions.  This technique is not well suited for Flow - a Flow will not "run" for more than 30 days.  Any Flow that is still running after 30 days will be cancelled.  In many cases that I have encountered, the reminder will need to be sent more than 30 days after an item has been created or modified.

 

If you have been creating SharePoint Designer workflows and are now using Flow, you'll find that Flow often requires you to think differently about how you approach issues - this is no exception.  On way of attacking this issue in Flow is by running a Flow on a schedule which looks for items in your list that meet the conditions for sending a reminder email.  When it finds them, send the appropriate email.

 

Here is my scenario - you have a SharePoint list where your company keeps track of service contracts on equipment used in the business.  At 30 days before the contract expiration, you want to send an email to the POC in your company reminding them that the contract is expiring.  One week before expiration, you want to send a second more urgent email to the POC.

 

My SharePoint list contains the following columns:

  • Title
  • POC (Person or Group column)
  • Expiration (Date Only)

Now for the Flow...

 

My Flow starts with a Recurrence trigger that runs once a day.   The Flow starts and stops once a day and is not subject to the 30 day limitation on Flow durations. 

 

Next, I retrieve items from my Contracts list but I don't want to retrieve all the items - just the ones that meet my criteria.  Technically, I could retrieve all items in the list and use a condition to see if an email should be sent.  One big reason not to do this is that if you have a large list, Get Items may not return all of your list items.

 

To filter what I that I get back from Get Items, I used an OData filter.  More information on OData filters can be found here.

 

My Odata filter looks like this:

RemBlog1.jpg

 

 

Translated, it means that I only want items where the expiration date is 30 days from today.  Also, please note the date formatting (the last paramter).  The reason for the formating is so that the dates I am using are in the same format.  Unless they are formatted in the same manner, my filter condition will never be true.  The format I am using matches the SharePoint date format.

 

Once I retrive the items, I loop through them sending each a reminder email.

 

I finish out my Flow with another Get items action and another send email action.  The primary difference between the two Get Items actionsis that I now only want items that expire 7 days out.

 

RemBlog4.jpg

 

 

Here is a screen shot of my Flow - start to finish:

 

 

RemBlog2.jpg

RemBlog3.jpg 

 

Thats it!

 

 

 

 

 

 

 

Comments

Hi Scott,

 

Thanks for this post! I have a question: will this Flow always send a reminder?

Let's suppose that the Expiration Date column has been changed (extended) in the meantime, will it still send the reminder? Or will it stop the workflow?

 

I am looking for something similar. But I want the e-mail only to be sent if the value of the column hasn't been changed in the meantime?

 

Thanks again :-)

Thank you for your post, it's very helpful, hve you had any success with creating an email with a consolidated list of items from a SharePoint list based on the filter? For example, I need to send one email with all the items that are ocming due for an owner, I tried the create HTML table action but it did not give me the desired result so I was looking for a solution, thank you!

@richa
You ask a very good question - creating a Flow that sends a single email to an individual with all items that pertain the them is not as simple as it might seem.
The steps are:
1) Use Get Items and an OData filter to retrieve a filtered list of items
2) Generate an array of unique email addresses to which emails will be sent
3) Loop through the array and filter the list items so that only the items for an individual are left
4) Inside the loop, create an HTML table and insert it in an email

The syntax required for some of the above is not intuitive.    I did create a working Flow that meets your requirements.  I decided to create a blog post rather than provide it here because of the level of detail required.

Scott
 
 
 

@richa

 

Here is a link to a post that does what I believe you are looking for.

 

I have a similar solution that is not quite as complicated which I will be posting soon as a blog.

 

Scott

Thank you so much @ScottShearer for being so helpful and answering my question, I absolutely look forward to the blog but I was able to resolve one of the issues I had by using the filter query you suggested! Thank you again!

Meet Our Blog Authors
  • Co-founder of https://plumsail.com, Office 365 and SharePoint expert. Passionate about design and development of easy to use, convenient and flexible products.
  • Microsoft Business Apps MVP. Owner of ThriveFast, an Office 365 consulting company.
  • 7x Microsoft Business Solutions MVP (CRM)
  • Solution Architect with Slalom, and organizer of the Boston Office 365 User Group, and long term SharePoint/Office 365 veteren. Find more at http://www.davidlozzi.com. Follow @DavidLozzi
  • I'm keen in MS technologies, SharePoint, Office 365 and development for them
  • Daniel is a Business Productivity Consultant & Microsoft Business Solutions MVP who is very enthusiastic about all things Office 365, Microsoft Flow, PowerApps, Azure & SharePoint (Online). Since the preview, Daniel has been working with Microsoft Flow and later on with Microsoft PowerApps. That led to him being awarded an MVP Award for Business Solutions. He loves to blog, present and evangelize about improving productivity in the modern workspace with these amazing tools!
  • Michelle is an Office 365 solution architect in Twin Cities, MN. She has been delivering business collaboration solutions for years with her focus on SharePoint and Office 365. Michelle is a recent board member of the Minnesota Office 365 User Group and has been a member of the SharePoint community since 2009. She is a frequent speaker at MNSPUG and SharePoint Saturday and co-chaired the Legal SharePoint User Group for 4 years. Her most frequent projects have involved rolling out a large deployment of Office 365, SharePoint Online intranet, build of a "CHAMPS" Office 365 user adoption program and most recently, SharePoint On-Premise to Online Migration. Michelle is very excited about cloud technology as it is shifting her IT Pro focus to collaboration strategy and technical adoption.
  • I'm a Microsoft Office Servers and Services MVP with a special interest in SharePoint, Office 365, Microsoft Flow, Microsoft Teams and PowerApps. I work at Triad Group Plc ( https://triad.co.uk)
>