Building a Records Archive Center in SharePoint

April 16, 2023
9 min read
Syndicated

As a consultant working in the field with many records managers, I am frequently asked about ways to build a central record repository to store/view all records across Microsoft 365. This request typically comes from the approach taken by traditional EDRMS systems where records were stored in a central location that Records Managers had complete purview over. This is not the world we live in anymore.

Microsoft Purview’s Records Management capability uses an in-place model, which means the records management controls work in the locations where end-users are actively working on a document. The in-place model of managing records in Microsoft 365 has made the concept of a “central record repository” a potentially outdated model and definitely a complicated problem to solve; however, there are still legitimate needs to move records to a central archive location once they are past the active stage of their life cycle. To make this happen, it requires some key ingredients…

There are many disposition options available once a record reaches the end of its retention period and is no longer considered “active”. The record can be automatically deleted, automatically relabeled, or go thru a disposition review process; however, a relatively new capability allows a Power Automate workflow to run to execute any custom business logic. Moving records to an Archive location is a great use-case for this!

Here are some ideas I’ve come up with for archiving records inside SharePoint:

Design ideas

  • Build a firm-wide Records Archive site with a library for each key functional area’s records on the site
  • Build a firm-wide Records Archive Hub and create a separate SharePoint site for each key functional business area archive joining each one of them to the Hub
  • Build a firm-wide Records Archive Hub and create a separate SharePoint site for each Calendar year or Tax Year archive joining each one of them to the Hub
  • Build a Business Division Archive Hub with department site archives joined to it. This is a great use-case for Associating Hubs where you could associate all Business Division Archive Hubs to a Firm-wide Records Archive Hub

The possibilities are endless. But… you must have some things in place before any of them are possible.

Benefits of an Archive Records repository

Although the in-place model for Purview RM is a great approach for managing records while allowing for end-user collaboration, legitimate benefits remain for making use of an Archive Records repository. Here are some:

  • You can control the permission for the Archive location (perhaps making it read-only for everyone but Records Managers)
  • Moving inactive records out of the collaborative, active site reduces its storage footprint (an important consideration)
  • Depending on how you configure the Archive location, you can leverage search features to do any of these things:
    • only return archive results
    • do not include archive results
    • include both the active and archive results
    • visually change how the archive results look (maybe with a grey box around them or an archive icon in front)

If you’re still reading, I’m assuming your interest is piqued. Although there may be a need for a Records Archive at times, needing one and building one are 2 completely different things. 🙂

Factors determining how easy this will be to build

Start by thinking thru these questions…

  • Is there a well-defined SharePoint site/information architecture (IA) in your tenant already? This will become important if you want to leverage IA to route records to an archive. For example, do you have SharePoint metadata in place to leverage for determining which archive location to move it to? (E.g., department, document type, fiscal year)
  • Are your retention labels aligned in a way to determine which archive location to move it to at the end of the retention period (E.g., by functional business area?)
  • Do you have an E5 or advanced compliance license (you will need this to be able to run a custom process at the end of the retention period)?
  • Do you have Power Automate licenses and expertise in your organization (you will need to build Power Automate flows for each retention label to move it to the archive location)?

The Build

I’m going to build the second design idea from my curated list at the beginning of this post:

Build a firm-wide Records Archive Hub (NexNovus Records Archive in this example) and create a separate SharePoint site for each key functional business area archive joining each one of them to the Hub. In this example, I’ve created 5 separate business area archives and joined them to the Hub.

Disclaimer: As a seasoned consultant, the devil is always in the details when building a solution so to do this in a production tenant, the solution would have to be built to scale and hardened with exception handling, storage quotas, etc. I am not addressing this in this post.

Steps:

This is certainly not the ONLY way to do this, but regardless of which way you go, your job will be immeasurably easier if you have governance and control across your environment in some key areas. In contrast, if you have a free-for-all SharePoint/Teams structure you’re trying to build this around and no governance in place, you will (likely) find it challenging, if not impossible, to implement a scalable and reliable Records Archive solution.

Step 1 – Establish your SharePoint Information Architecture

Establishing your SharePoint information architecture in advance will help you automate the move to an archive location. Examples of areas you may want to consider:

  • Establish a URL naming convention for your SharePoint sites (yes, this is a HUGE benefit). This will allow you to use your naming convention for adaptive scopes, auto-apply label policies, Power Automate flows, etc.
  • Create a provisioning process for your SharePoint sites/Teams so you can control the name and/or add properties on the site/team as each is provisioned. (via Site property bag)
  • Applying information architecture to your SharePoint libraries (either manually or thru a provisioning process) so you can leverage it later on during the archive process

Step 2 – Create Archive architecture

Create the Archive site architecture to suit your requirements. In this example, that means the following SharePoint sites were created:

  • A Communication site named NexNovus Records Archive registered as a SharePoint Hub
  • Communication sites for each business area named <Business Name> Archive:
    • Marketing Archive
    • Finance Archive
    • IT Archive
    • Executive Archive
    • Company-wide Archive (used for a catch-all or for common records)

Step 3 – Assess site-to-archive mapping route(s)

Assess how to know which archive a document will be routed to. This will be organization-specific based on your requirements, storage requirements, etc. There are several ways of doing this. Here’s a few:

  • By retention label name (this post): Establish a naming convention for your retention labels and align by business function.
    • (E.g., All retention labels starting with FIN- will move the file to the Finance Archive site)
  • By source URL: Use the source location of the file to determine the archive site.
    • (E.g., If the document’s URL starts with: “~/sites/FIN-“, then move it to the Finance Archive site)
  • By metadata value: Look for metadata values (including content type) on the file to determine the archive site
    • (E.g., a document type of “Accounts Payable” or “Accounts Receivable” would move the file to the Finance Archive site)

Step 4 – Build Power Automate flow

A Power Automate flow must be built in advance to reference in the retention label configuration if you want to run the flow at the end of the retention period. For this example, the logic of my flow is based on the mapping route(s) determined in the previous step. The benefit of building the Power Automate flow is you can customize your logic to suit your needs and change where it is moved to based on your unique requirements.

For this example, I’m building a Power Automate Flow triggered off the When an item reaches end of its retention period trigger (step 1 below) to later be referenced in the Marketing Sample Label configuration to move the file to the Marketing Archive site at the end of the retention period:

For testing purposes, in step 2, I’m sending an email to myself to be notified when the flow runs – this step should be removed in a production scenario. Step 3 removes the existing retention label from the file (simply setting the Label name to an empty string on the Apply a Retention Label on the item preview action) and then step 4 moves it to a library on the Marketing Archive site. In this example, the library has a default retention label, Permanent, set on it which automatically applies the label to all unlabeled content added to it. Alternatively, you could use the same Apply a Retention Label on the item preview action to apply a different label if you didn’t have a default set on the library.

Step 5 – Create Retention Label

Create your retention label with the required retention settings and select the Run a Power Automate flow option for after the retention period: (you must have already configured the Power Automate flow before doing this). This is the setting for the Marketing Sample Label in this example:

Testing

Here are the active documents in the Marketing Team site with the Marketing Sample Label applied:

At this point, the Marketing Archive site’s library is empty:

When the flow is triggered (it can take up to 7 days past the end of the retention period for the flow to trigger), the flow clears the retention label, moves the documents that are at the end of their retention period to the Archive site and applies the library default Permanent retention label to each one:

This is the end result in the Marketing Archive site:

Fabulous!

Closing thoughts

The ability to trigger a Power Automate flow at the end of a retention period is a valuable addition to the end-to-end Purview RM toolbelt. Although this blog post showed a use-case I regularly hear from records managers for archiving records to a site on your tenant, the flow could launch any kind of custom logic you require to suit your needs. What are some use-cases you have in your organization?

Thanks for reading.

-JCK

Joanne Klein

Joanne Klein

Joanne is a Microsoft 365 compliance specialist and owner of NexNovus Consulting. Her focus is on helping organizations by sharing best practices, technical expertise and guidance gained through real-world Microsoft 365 experiences. She is also a six-time Microsoft MVP in Microsoft 365 Apps and Services.

Joanne has spent the past decade working with SharePoint and the larger Microsoft 365 ecosystem. Her specialties include the compliance features inside Microsoft Purview and how customers can leverage them to improve their compliance posture across the modern workplace. Whether looking for strategic advice, tactical steps or sound guidance for moving forward, Joanne brings her expertise to bear to help customers break through the complex world of compliance in manageable and practical ways.

Connect with Joanne on Twitter and LinkedIn, and follow her blog at https://joannecklein.com