I have a request for notifications to be sent out 6 months, 3 months, and 1 month before an event occurs on a SharePoint calendar. I was looking into this issue and every one seems to be saying to have the workflow start on creation and "pause" until a certain time.

Normally I would just go ahead and do this, however with the long time frames I am dealing with I wanted to know if this would cause an impact on performance? Also the calendar currently has 34 items and I am not to sure about having 34 workflows stuck in limbo for that amount of time.

Would setting up a workflow like this for one, let alone 34 items be safe?

I am currently using SharePoint server 2010

3 Answers 3


A different way to doing this is to use retention policies.

You can get them to run off a given date field as well as set it to X days/months/years. No need to pause workflows as you simply run the workflows when needed.

Retention should be under settings for the library/list.

(Please note that I use SP2013 but it should work in SP2010 as well: http://blogs.msdn.com/b/ecm/archive/2011/10/12/policy-and-retention-in-sharepoint-server-2010.aspx)

  • Thanks Roland, This is defiantly something I will explore more. I am up voting as this a great suggestion to my underlying problem. However, I am marking Erin's as the correct answer as it address my specific question. Commented Dec 8, 2015 at 21:00
  • @JeffreyQuinn, Roland's solution is actually a really great idea. I'm going to post a second answer with screenshots to guide you through it, but if you decide to use it, you should accept Roland's answer instead of mine.
    – Erin L
    Commented Dec 9, 2015 at 18:21
  • @Erin L, Actually I already implemented Roland's suggestion, but thank you for taking the time to create/post the screen shots. As per your request I will mark Roland's answer as the correct one. Commented Dec 9, 2015 at 21:05

The retention stages Roland suggested are a great and simple solution to your needs. (I'm in 2010.)

  1. Go to the list or library settings
  2. Select "Information management policy settings" under Permissions and Management
  3. Select your content type, probably Item or Document
  4. Enable retention, then click "Add a retention stage"
  5. Set Time Period to Created Date + 1 months (repeat this entire process for 3 and 6 months)
  6. Under Action, select Start a workflow then identify which workflow to start.

enter image description here


For only 34 items, I wouldn't have any qualms about doing it. Workflow engine performance is affected when large numbers of workflows are paused at the same time because each time the timer job runs, it basically decompresses every paused workflow to check whether it's time to resume the workflow, and if not it then re-compresses the workflow until the next timer job cycle.

However, in my setup, I'd use third party tools. I have SharePoint Boost reminders and InfoWise Smart Actions that can periodically check whether a notification should be send. Additionally, you could write a timer job to check daily whether any items are 1, 3, or 6 months out and send an email. But I don't think a custom timer job is worth it for 34 items.

  • 1
    Last I knew, Sharepoint Boost and the other 3rd parties that provided reminders were just generating timer jobs on the server in an easier to use/configure method. Commented Dec 7, 2015 at 20:45
  • 1
    Right. But they use a separate timer job rather than burdening the workflow timer job. (Boost v2 was using the workflow engine, Boost v3 now has its own timer job.) And I said that someone could write their own timer job if they wanted to.
    – Erin L
    Commented Dec 7, 2015 at 20:53
  • Thank you for your Input Erin, I will look into the applications you listed (doubt I will get funding but I can dream). I will most likely go ahead with the workflows then. Commented Dec 8, 2015 at 20:56

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.