What is Event-Based Retention?
Event-based retention requires that an event occur before the retention period begins. For example, an organization might be required to keep employee performance reviews for three years after the employee’s last day of employment. In this case, the employee’s last day would start the retention period. The problem is that it can be difficult for organizations to automatically “flip the switch” to start the retention period.
When one of these events occurs, you might want to have a retention policy that kicks off on the type of document. For example:
- When an employee leaves an organization, you might want to retain their employment contracts for seven years from the date that they left the organization.
- You might want to have a contract kept for five years after the date the contract expires. These are all examples of situations where you would want to use event-based retention.
These events happen all the time, especially in large organizations. You could have several hundred contracts expiring every week, or tens of employees leaving the organization every day. We also want to look at how we can automate these types of events, which we will cover in this post.
How Event-Based Retention Works in Office 365
Firstly, let’s look at how Office 365 does event-based retention. Office 365 drives retention from retention labels. For example, you might have a label such as a sales contract or a master services agreement.
You would then label all applicable documents with the correct label. For example, we tag all sales contracts with a label called “sales contract.”
Each label has an associated retention period. As an example, a sales contract may be kept five years from the date the project closed.
Now we identify documents that belong to several labels with a common project code or similar. In Office 365 this field is called an Asset ID. However, you can put any unique ID into this field. Examples could include a project code or employee ID.
Let’s look at how this works in practice. We label both the Rainier contract and the Rainier master service agreement with an Asset ID/Project Code of 1234. This code allows us to identify documents that are a part of the same project, but may live in separate locations, or have separate retention labels.
Next, we would have an event type of project closed. Every time a project closes, we will use this event type.
When the Rainier project ends, we want to create an event called the “Rainier project closed”. We associate this event with the specific project, Rainier, and it will have the date of when the project closed.
Then Office 365 will find all content with the Rainier Project Code and assign the retention period as dictated by the label.
How to Set Up Event-Based Retention in Office 365
How do we set all this up? There are three steps to enable event-based retention in Office 365.
- Create a retention label and choose the type of event. In our case, we’ll create the contract, sales contract retention label, with event type project close.
- We publish the label and add that label to specific content, as well as add the event ID or project ID. In this case, we’re going to add the sales contract to all sales contracts, and then add the project Rainier Project ID to the project Rainier content.
- Create the Rainier project closed event, which will trigger the event and start the retention period.
Create an Office 365 Retention Label
Firstly, we will create the label and choose the event type. The label is named sales contract. We’ve decided we want to have retention so that we keep contracts for five years, and the retention will be triggered based off an event, and we chose the event type project close.
For the option, “what do you want do after this time?” you need to choose to either delete the content automatically or trigger a disposition review. For event-based retention, you cannot choose “nothing, leave the content as is.”
Apply the Retention Label to Content and Add the Asset ID
Next, we will apply the retention label to our documents. Here is our contracts document library. We’re going to apply the “sales contract” retention label to all the contracts.
Then we’re going to choose from the list of available labels. Once we choose a retention label that has an event trigger, it will ask us to complete the Asset ID/Project ID.
For our Asset ID, we’re going to have it be the Asset ID/Project ID of 1234.
Now we have created our label, applied it to documents, and applied the Asset ID/Project I. Next, we’re going to have the project close event occur. When the project closes, we’ll go to the Office 365 Security and Compliance center and create a new event.
First, we’ll need to choose either the event types or ideally, the existing labels. In this case, we’re going to choose a sales contract.
Next, we’re going to enter the Asset IDs, which is our Project ID to identify project content. In this case, we’ll enter the asset ID of 1234 to identify the Rainier project.
Please note that you can also use properties to add an asset ID from any column in SharePoint. If you have a specific column called Project ID, you can enter that here instead of using the default asset ID column.
It’s also important to note that in Exchange, event-based retention can only be triggered from words or phrases. You could ask users to add the Project ID to every single email about that project.
But we found the best practice to be to move project related emails to a SharePoint document library and add an Asset ID. That way, it’s less prone to errors and easier for users to do.
Event-Based Retention – The End Result
Once these steps are complete, the result is that we now have content retained based on the event date.
For example, our Rainier project end date is June 29, 2019. Because we created an event and triggered event-based retention, we will keep the Rainier contract for five years from June 29, 2019, and we will keep the Rainier MSA for ten years from July 29, 2019.
How to Automate Event-Based Retention
This process might sound very manual, and we would recommend that you look at ways to automate event-based retention. Automation will increase end-user adoption, make it easier for end users, and decrease errors in this process.
There are three things you might want to look at automating.
- Firstly, automate how you apply retention labels. There are two ways you can do this, the first being you using Advanced Data Governance features to apply a label automatically. The second is to use default labels on document libraries.
- The next thing you might want to automate is adding the Asset ID to content. You can create a custom column in SharePoint and set a default property for the document library. This way, all documents in that library have the Asset ID populated automatically into that column. End users will not have to fill out the field manually. You could also automate this process using Microsoft Flow, and Joanne Klein, who’s a fellow, Microsoft MVP, has a great article on how to do this.
- The last thing that you might want to do is automate event creation. You can use the Office 365 REST APIs to automate this process. You can do that by using Microsoft Flow, and here is an example of how to do that.
The other way is to automate event creation using PowerShell, or an HTTP client to call the REST APIs. This approach can allow you to integrate with other non-Microsoft systems such as an HR system that would already have the employee end date contained in it.
That’s it! I hope you enjoyed this overview of Office 365 event-based retention, and please let us know in the comments if you have any additional questions.