File repositories are like weeds–they grow fast, are difficult to control and can choke the life out of everything around them. It’s easy to wish the weeds of your SharePoint environment didn’t exist, but let’s be realistic: People love creating documents, and SharePoint stores documents. This means that file repositories are a part of your SharePoint future (whether you like it or not).
Not all file repositories are bad, though. Well-organized document libraries that make use of content types, metadata tagging, customized views and information policies do exist. The problem is, these well-managed document libraries don’t get much press. So let’s take a look at a solution you can implement to build a content review/retrieval strategy for your document library. It uses information management policies and workflows to send automated reminder (aka nuisance) emails to document owners once a document review/expiration date is reached.
The ABC Company uses a SharePoint document library to store all of our help desk support documents. When one of our help desk support representatives resolves a new (previously undocumented) issue, we create and upload a new support document. Since we want support documents to be reviewed regularly to ensure they remain current, we’ve added a required Date for Review field to our document library. Now when support reps upload a document, they’re prompted to specify a date when the document should be reviewed. The tricky part is enforcing the review date. We want SharePoint to automatically email the document’s creator when the review date is reached, advising the author that they should review their support document and either delete it or reset its Date for Review.
We’ll be using an out-of-the-box information management policy and a SharePoint workflow to build out this solution. The information management policy controls the timing of your solution. It watches the clock and fires off a SharePoint workflow when the Date for Review is reached. The SharePoint workflow is responsible for sending the review notification emails to your document creators. You have two options for creating this review notification workflow–you can use an out-of-the-box SharePoint workflow (a built-in SharePoint workflow that provides limited configuration options) or a custom SharePoint Designer workflow that you build to your specifications. There are pros and cons for using either approach:
Out-of-the-box SharePoint workflow advantages:
- Can be set up/configured within the SharePoint web interface
- Only requires admin privileges for your document library–not site admin privileges
Out-of-the-box SharePoint workflow disadvantages:
- Pre-configured workflows are fairly limiting. You take what is offered, with little ability to customize
SharePoint Designer workflow advantages:
- Enables you to customize who your email is sent to
- Enables you to dictate the verbiage that goes in your email
- Enables you to tailor your workflow to run under specific conditions
- Enables you to take a wide variety of actions, from sending emails and updating document metadata fields to performing calculations and logging workflow history messages
SharePoint Designer workflow disadvantages:
- Requires knowledge and use of SharePoint Designer, which is not available to all power users or site collection administrators
- Requires site owner permissions
Choosing which type of SharePoint workflow to use requires 2 key elements–an understanding of each workflow’s options and a thorough list of your own workflow requirements. To see the options that come with SharePoint’s out-of-the-box workflows, go to your document library and select Settings > Document Library Settings > Workflow Settings.
Since our scenario requires an automated review email notification email with custom verbiage, we’re going to proceed with creating a SharePoint Designer custom workflow.
Phase 1: Set up your document library
- Go to the document library you want to update with an automated expiration and email review process. (If the document library doesn’t exist yet, create it.)
- Create your Date for Review column. If you want to make sure this column is always populated, make sure you set it to be required.
I’m often asked if you can automatically calculate a review date (as opposed to populating one manually). You can, but SharePoint doesn’t make it easy. The fastest way to calculate a review date is to create a new Calculated column that automatically adds or subtracts days from one of your existing date fields. Unfortunately, information management policies can’t “see” calculated columns, and thus can’t use them to kick off your automated email reminder workflow. Your next-best option is to create a Date/Time column and build a custom SharePoint Designer workflow that performs your date calculation and populates your new Date/Time column. Not ideal, but it’ll get the job done.
Part 2: Building your SharePoint Designer workflow
Go to your document library. Click on the Library sub-tab, click on the Workflow Settings dropdown and select Create a workflow in SharePoint Designer.SharePoint Designer should open up, enabling you to start building your workflow. If SharePoint Designer doesn’t open automatically, don’t worry. Just open up SharePoint Designer 2010 manually, open your site, click on the List Workflow button and select your document library.
- When the following dialog box appears, specify a name and description for your workflow:
- Click OK to save your changes.
Now it’s time to set up your workflow. Fortunately, our workflow needs are fairly simple. As we mentioned in the business scenario above, we just need the workflow to send a review reminder email to the document’s creator.
- To get started, click on the Action button’s dropdown arrow and select Send an Email.
The phrase Email these users will appear in Step 1 of your workflow.
- Click on the these users hyperlink to configure your email.
- Click on the address book icon next to the To field. When the Select Users dialog box appears, double-click on the item User who created current item and click OK.
- Place your cursor in the Subject field and type in the subject line that you’d like to use for your email.If you want to include a blend of text and field data from your document library, click on the ellipses ( …) button. This will open the String Builder dialog box. Now you can type in your text and use the Add or Change Lookup button to add field data to your subject line. We opted to have our subject line use a blend of words and field data. Here are the results:
- Now you’re ready to enter the body text for your email. Type in whatever message you’d like to send. If you’d like to display item-level metadata in your email body, use the Add or Change Lookup button to select the field(s) you want to display. Consider adding in a hyperlink to your document as well. This makes it much faster (and easier) for your reviewers to find the document to review. For instructions on how to enter the item’s URL in your email body, take a look at Brian Jackett’s blog post.
- When you are finished defining the body of your email, click OK to save your email settings. You’ll automatically return to the main edit page of your workflow. The blinking orange line should appear directly below your Email action item.
- Click on the Action button’s dropdown arrow and select Log to History List. This action enables you to log a history message to your workflow history list. While your users won’t see this history log, it will be a useful tool for you and other admins to troubleshoot your workflow.
- The Log to History List action will be added to your workflow. Click on the this message hyperlink to add a message. Since I want this message to confirm that an email was sent to the document creator, I type in the message Email to document reviewer sent. Hit the Enter key to save your message.My workflow settings now look like this:
- Now it’s time to save and publish your workflow. Fortunately, all the buttons you’ll need to save and publish are located on the SharePoint Designer Workflow tab, which should be displayed immediately above your workflow settings. First, click on the Save button to save your workflow configuration settings. Then click on the Publish button. This publishes your new workflow and ties it to your document library.
- Exit out of SharePoint Designer 2010.
Part 3: Setting up your information management policy
- Go to your document library. Click on the Library sub-tab and select Library Settings.
- Under the Permissions and Management column, select Information management policy settings.
- Now you have to determine the granularity level you want for your information management policy. In SharePoint 2010, you can apply a policy at 3 distinct levels:
- Content Type level (the policy will apply to all documents in the current document library that are tagged with a specific content type (e.g. Document))
- Document library level (the policy will apply to all documents in the current document library, regardless of content type)
- Folder level (the policy will only apply to documents stored in a specific folder in the current document library)
By default, SharePoint 2010 assumes you want your information management policy at the content type level (as shown below).
To change your granularity level, click on the Change source link. (Note that changing your policy source has broad implications, including the suppression of all content type information policies. I recommend doing some in-depth research before making this change.)
Since content type management of information management policies is ideal for our business scenario, we’re going to leave the default Content Type selection.
- Since our document library is only using the default Document content type, we will click on the Document link to set up our information management policy.
- When the Edit Policy page appears, fill in an Administrative Description and a Policy Statement. Follow the on-screen prompts for details on these fields.
- Click on the Enable Retention checkbox.
- Click on the Add a retention stage hyperlink to set up the retention schedule for your documents.
- In the Time Period dropdown, select your Date for Review field. If you want to use this date as-is, place a 0 in the number of years/months/days to add.
- In the Action dropdown, select Start a workflow. Then select the specific workflow to start. In our scenario, we choose to have the Nag emails workflow started.
- Click OK to save your changes.
- Click OK again to save your new information management policy.
That’s it! Now when users upload documents to our document library, they’ll be prompted to specify a Date for Review. Once that date is reached, the retention schedule we set up will trigger the Nag emails workflow. When the workflow runs, it will send an automated email to the person who originally uploaded the document, telling them the document needs to be reviewed. Here is a picture of the email I received when the review date was reached for a document I uploaded:
Version note: This solution works in both MOSS 2007 and SharePoint 2010.
So neat and tidy. Consider (Part 3, Step 8) setting the event date to Created or Modified + 1 Year. Then user doen’t have to bother with the reivew date.
This looks very handy! I have tried what Sarah spelled out with this variation Tamara suggested, and I just can’t get it to trigger automatically. Unfortunately, I don’t actually know how to “create a Date/Time column and build a custom SharePoint Designer workflow that performs your date calculation and populates your new Date/Time column” as Sarah suggested. Any ideas on what to do to troubleshoot and make this work for our library?
does this work for sharePoint 2013 also?
I have followed this guide but cant get the workflow to trigger automatically. It works when I run it manually. Any ideas?
There are 2 potential causes for this–either your workflow settings are not set to “Allow this workflow to be manually started” OR you have missed something in your information policy setup. Can you give me more details on your information policy configuration?
Workflow is set to allow this workflow to be manually started and I have run it manually to check that it is sending mails correctly. The information policy is set on the document library for the type document. With retention enabled and an event based on date property with time period for column date for review + 0 days.
I am having difficulty when defining the policy retention. I set the Date for Review for +30 days. Hoping it would trigger a reminder e-mail 30 days prior to the document expiring? This doesn’t work as I am getting reminder e-mails for documents that have an expiry date greater than 30 days.
Am I setting it up wrong?
Is there an extra action to restart the workflow once the document is reviewed and review date reset? Thanks
No. The Date for Review column is responsible for triggering the workflow to run. No further workflow updates are needed.
Hello, Sara! recreate your example as it is but when I try to create the policy in my SharePoint it give me this error: “There are no workflows associated with this list. Select another action” There I miss something here? Thanks in advance
Thanks for the response. I have set up as mentioned in previous post but the workflow only triggers once. Once you modify the next review date by editing properties it does not restart. Would you have any suggestions about what i may have missed?
This blog covers the same problem a lot of us are having with the workflow only triggering once: http://blogs.ibs.com/Mike.Berryman/Lists/Posts/Post.aspx?ID=12 It’s very code heavy though so not ideal.
Great information, Joe. Thanks for posting.
Hi Sarah, would this work for a global reusable workflow with association columns? I’ve got a large number of libraries that I would like to apply this to. I’m using Office 365.
Hi, Thanks for the response.We ended up using Nintex workflows. Almost complete.
Hi Sarah, In conclusion, do you require the ‘code heavy’ solution provided by Joe to enable the workflow to trigger on more than 1 occasion?
If you are on SharePoint 2010 or SharePoint 2013, you can use the out-of-the-box Recurrence option that comes with your information management policy. This option will allow you to set an automated recurrence for running your manual workflow. You can set up the recurrence to run at any number of days, months or years.
Hi, What if i want to use a out of the box workflow ? (Which one shall i use for notifying document owner). My requirement is to notify the customer whenever a document becomes one year older… Please help me achieving it.
This is not useful for a publishing site with versioning turned on and items needing to be checked out. It cancels with this error “The workflow operation failed because the action requires the document to be checked out.”
Putting my workflow actions inside an impersonation step didn’t help either. The workflow completes but the page doesn’t get it’s ‘next review date’ and ‘last reviewed date’ fields updated.
Beware – test this thoroughly before relying on it. I’ve had a call with Microsoft Premier Support for 2 years on this and am just pushing back on it again. The IMP/Workflow are set up correctly but only run 60% of the time. The other 40% nothing happens – but no message in the logs, no errors – just no emails. And I’ve had several different MS engineers looking at it. I’d recommend setting up a test solution against a Library with just one document in and watching it for a few weeks.
You probably already checked this, but is the “Information management policy” timer job running successfully?
Ours is daily (11pm I think) but we tried changing time and it still consistently fails 60% of the time. I’d suggest you can’t be sure that yours are running 100% of the time unless you track it, as I have, by having a test site send you emails (IMP driven) and log in a spreadie whether they arrive each day. You may get a shock. ;o))
Hi, this is working for me. One thing I had to change was the scheduling for the “Information management policy” Timer Job in central administration. This was set-up to run once/month. I changed it to daily. If that job doesn’t run, then your workflow will not trigger.
I literally have tracked this for months and months….in the end our Prem Support engineer has written us a script to replace the IMP as a “start workflow” trigger. We’ve been trying so solve this since finding it in Dec 2011 and I’ve only just signed off our RCA today, as it happens.
Tracey, I am having the same issue. Is there any chance you would be willing to share support information? It sounds like I’ll have to go to Microsoft.
Morning – hopefully if you quote my case ref that will help? [REG:116070614375698]. I suspect most people are having this issue….they just don’t know it yet. ;o)
can this be used for custom lists?
Have followed your instructions, Im working on sharepoint 2013 on premise. when I goto the library etc, within sharepoint 2013 and set the retention policy then try selecting a work flow to run I get the error message “There are no workflows associated with this list. Select another action.” could you offer any advice please?
I got the same error. I did some research. As per Microsoft, the Information Management Policies only support SharePoint 2010 workflows.
I’m trying to use this on a list item and want notification email to go out 1 day PRIOR to due date. Is this possible?
I have a scenario where it is a lost library using a customized info path form. I have the due date being defined within the form. I want the email to kick off on that due that and re-occur every week until an expiration date which is captured in the form as well. I created the IMP to kick off on the due date and reoccur ever 7 days in one stage and in the stage after I have the workflow kicking off the expiration email. Everything works fine for new records but once the record is modified and a new due date is created, the workflow kicks of 3 days later and if the record is modified again the due date email stage adds another 3 days and kicks off. So everything the record is modified 3 days are added. Can some help me please.
One of the first steps you mention in this is create a date for review column yet you give no instruction on how to do this. I have had a look in the modify view option but “date for review” isnt an option in there ?
Any ideas ?
Hi, Tony … I’ll be surprised if you haven’t figured this out already, but essentially, go to your Library (or List) Settings and Add a Column. Give the new column a name, then select Date format. Click OK. That should do it …
I’m also having the issue where I get the message “There are no workflows associated with this list. Select another action.” Not having much luck with Google. The only response on StackExchange is “Use a 2020 workflow”. My problem is, I AM using a 2010 workflow … has anyone else solved this?
Great read, thanks Sarah. I’m wondering in 2018 with modern lists, libraries, Flow, labels and retention policies – is there now a better way to implement this requirement. Nothing is immediately obvious but I’m about to investigate
Ian – did you find anything?