With the current SharePoint in Office 365 (as of 2017), what is the best approach to generate automatic notification emails and/or tasks based on a document's date metadata? For example, say we want to be alerted a few months before a contract stored in a document library is due to expire. Is the correct/best way to use retention policies and workflows, or is best practice now to use Flow, now that SharePoint Designer isn't being updated. Please provide a step-by-step explanation.

  • This kind of rather simple workflows can be done without SharePoint Designer now and in the future, so at least that shouldn't matter in the comparison between options.
    – moe
    May 25, 2017 at 22:25

2 Answers 2


The summary of your requirement is receiving a notification couple of month before the contract expires.

Any approach you choose behind the scene it works same in your case.

  1. There is a daily running job monitor all documents and find documents matches your condition.
  2. If systems find any document sends a notification.

Let me define the solutions

Retention Policy

This is an out of box solution available from 2007. It solves most of the retention policies. The implementation is very easy there will be no additional maintenance efforts.

The implementation as follows

  1. Go to your Library Settings -> Information management policy settings.
  2. Enable Retention
  3. Add a stage. In stage add enter number in years/months/days to meet your condition
  4. Select your action Start a workflow. (Note: In your case, you need to create a workflow on this library to send a notification and it should be "Start workflow manually").
  5. Save changes. It works as expected.

Refer complete example here.

Microsoft Flow

The Microsoft Flows are mainly designed to interact with the multiple applications without worrying about coding and extra maintenance. If you take your scenario you have trigger a flow every day to check the condition and send a notification. It cost a lot. The Flows requires an additional license if you trigger more than 2000 per year.

SharePoint Designer Workflow

You can achieve your scenario using site workflow which can be scheduled to run daily and send a notification when matches your condition. This process is achievable using out of the box retention policy and implementing again is a cost of development.

The summary is Retention Policy is best works for you.

  • Thanks. This aligns with the results of my research and testing so far. SharePoint online seems to restrict what can be done with scheduling jobs, compared to on-premises, or am I mistaken? May 27, 2017 at 6:56
  • You cannot create scheduler jobs. The retention policy timer jobs will be managed by the system. Is this your question? If not, can you explain further? May 27, 2017 at 17:28
  • Yes, that answers it, thanks, and confirmed what I thought. May 27, 2017 at 17:56
  • It looks like, in the long run, MS are pushing things in the direction of Flow, but it's clear that in this usage scenario it would be needlessly expensive. May 27, 2017 at 17:59
  • I bet the out of the box retention feature will not go away as many application are using that. May 27, 2017 at 19:35

There are at least two options to achieve this.

  1. Use Information Management Policy, define retention stages. Under List Setting ==> Information Management Policy Setting ==> Enable Retention and Add Retention Stage. You can start a workflow based on the retention. If you want to define a custom date column, you will need to add a site column. enter image description here

  2. Create Calculated Column with formula e.g. =[Contract Expiry Date] - 120, and create a workflow to send an email based on the status/calculated column.

  • Thank you. I've been looking into this first option, but one potential problem is that non-standard date metadata doesn't seem to be supported as a trigger. I suppose the second option would require use of SharePoint Designer? May 27, 2017 at 6:51
  • What do you mean by non-standard date? If you are talking about custom field not showing up in the dropdown, make you have a site column. May 27, 2017 at 17:15
  • Thanks. I'll try that. Yes, a custom field, rather than one of the default, pre-defined options, like create date. The date metadata I wanted to use was a library/list column, but not defined on a site level. May 27, 2017 at 17:27
  • Yes, it needs to be a site column. I will update my answer May 27, 2017 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.