Automating Site Provisioning and Governance in Office 365

What is Site Provisioning? 

Site Provisioning is a process of creating SharePoint sites programmatically to meet business requirements.  

Site Provisioning deeply impacts both governance and site sprawl, and for that reason, it is one of the most important aspects of any Office 365 implementation. Nowadays, with more and more companies adopting Office 365, provisioning becomes increasingly relevant as it helps maintain structure in the digital workplace. This presents a whole new set of challenges for  IT and Office 365 administrators as they need to understand what are best methods for provisioning sites, teams and groups? How to ensure new sites, teams and groups fulfill governance criteria? And, finally how to automate the provisioning process? In this article we will address all of these questions.

Table of Contents

  1. How Site Provisioning affects governance 
  2. The benefits of automating site provisioning in Office 365 
  3. Automated provisioning: Real life example
  4. SharePoint site provisioning methods 
  5. How to automate the site, team or group provisioning process in Office 365 

How Site Provisioning affects governance 

Sites are the main structural element of SharePoint. There are different types of sites that organizations can use as a template to create their custom site structure. They may include classic sites, communication sites, team sites, publishing sites etc. In the previous versions of SharePoint on-premises, creating a new site was somewhat complicated. Nowadays, SharePoint Online lets us create a new site effortlessly through a simple 2-step process which, at least in theory, can be triggered by anyone in the organization. Users just need to navigate to the SharePoint site (/_layouts/15/sharepoint.aspxand click on + Create site” and that’s it.  

Create a site in SharePoint

However, this ease of use creates a problem. If users can create new sites on a whimeven a well-maintained internal site structure will soon turn into a messy, hard to manage bulk. 

Before we discuss the solutions, letexplain the difference between Site Provisioning processes in SharePoint on-prem and in Office 365 

In SharePoint on-premise, provisioning applies only to sites. However, in Office 365 this process applies to all structural elements of applications that make up the large modern work space: teams and channels in Microsoft Teams, channels in Microsoft Stream, and groups in Office 365. Considering the collaborative nature of all these tools, its easy to imagine that the sheer volume of Team, Channel and Group requests could quickly overwhelm the administrators.  

The benefits of automating provisioning in Office 365

There are numerous benefits to automating the provisioning process in Microsoft workplace collaboration apps, but the real game changer here is a truly enforceable governance. In a typical organization, governance policies live in a shared document. Employees refer to it from time to time, however the policies contained within are difficult to enforce across the organization. Keeping your governance documents up to date is rarely enough. By automating site provisioning processes with wizards or workflows, you’re helping employees do their jobs without worrying about non-compliance. 

Automated provisioning significantly reduces the chances of a human error. In fact, when automated, site or team provisioning on the front end is as simple as following an intuitive wizard that guides employees through the process, while ensuring business logic.  

Here’s how automated provisioning helps your organization: 

  • Sites, teams, channels are created by users in a self-serve system that follows business logic specific to your organization. 
  • Employees follow a step by step wizard that ensures new sites and teams adhere to corporate policies. 
  • Automation decreases the burden on your Office 365 administrators.    
  • The metadata that employees input during the process, helps manage the life cycle of the new site, team or channel. This means that deciding whether a site needs to be kept or retired becomes much easier.  
  • Automated site provisioning allows you to also automatically create reports, audits and site/channel directories.  
  • The process uses established APIs. 
  • Additional functionality (e.g. updating a site life cycle database) can be added easily. 

Automated provisioning: Real life example

Here we’ll show you a provisioning process we have been recommending to our clients. This particular process leverages PowerApps and Power Automate (formerly Microsoft Flow).  

  1. User requests a site and completes a form wizard filling it with required metadata. This information can include owner, purpose, description, related projects, cost centre, start date, end date, and template.  
  2. Application uses the metadata to create a team site based on the selected template. 
  3. Information from metadata helps manage the sites in the future. For example, information offered in the cost center is synced with internal accounting systems, end date and is used to ensure that there are no orphaned (or unused) sites. Team site owner becomes responsible for managing the team site’s life cycle. 

This approach lets you regain control over your Office 365 by ensuring that all sites, channels and groups follow the prescribed life cycle. By automating the process, you’re ensuring that new sites are added to a corporate site structure and, if needed, to a corporate site directory.  

This diagram explains a typical automated site SharePoint provisioning process we recommend:  

automated SharePoint site and Teams provisioning for Office 365

While our example focused on provisioning a SharePoint team sites, the same approach can be applied to provisioning Teams, Stream, and Office 365 Groups.  

SharePoint site provisioning methods 

Our automated provisioning process for Office 365 applications combines a set of provisioning methods that I’ll describe below. You can use each one of these stand-alone methods to provision sites in your organization. However, before you get started with any of them, consider you organization’s particular policies and restrictions to decide what’s the best fit for your organization.   

Provisioning a SharePoint Site using the User Interface 

There are a couple of ways to do this. The most obvious one is by enforcing Governance and applying settings to your tenant to limit the ways users can create a Team site (with or without an Office 365 Group). 

In this scenario, after clicking the SharePoint icon in the Office 365 App Launcher (often referred to as the Waffle Icon)the user opens SharePoint in a browser clicks on Create Site.
 App Launcher Office 365

Our next method is creating an Office 365 Group. User creates an Office 365 Group in Outlook by clicking on the New Group link. Each new Office 365 Group automatically creates a SharePoint site. 

Create a New group in Outlook

Good governance is critical if you’re using this method, as members of an Office 365 Group can soft delete a group (sometimes by accident). Without safeguards in place, the IT department won’t know this happened. To prevent this situation, you can set up a requirement to evaluate Office 365 Group deletions before they can be permanent. The deleted group is retained but not visible for 30 days from the deletion date. You can view and manage the deleted Office 365 groups that are available to restore by signing into the Azure AD Admin Center. 

Lastly, a SharePoint Admin can create a site in the new SharePoint Admin Center. 

 create a site in the SharePoint Admin Center

Provisioning using Microsoft Graph 

Using the Create Group API in Microsoft Graph will result in the creation of either an Office 365 Group. By default, an Office 365 Group is integrated with a bundle of Office 365 services. Currently, the Create Group API does not have the option to enable Microsoft Teams. If you require to include Microsoft Teams in your provisioning processthen you will need to execute an additional API in Microsoft Graph to enable Microsoft Teams on an Office 365 Group. When provisioning using the Microsoft Graph approach, you are creating a Team site via the creation of an Office 365 Group. 

Provisioning using REST API Operations 

If you’re looking for a more scalable Site Provisioning process, REST API Operations is one worth considering. With REST API Operations you create a SharePoint site based on a defined Site Template.  

SharePoint Admin Center - Site Template

Some of the most used site templates are Team sites and a Communication sites, but you can also apply other templates to provision a site using REST API Operations.  

Provisioning using PnP CSOM Core Component 

Another way to provision a site in SharePoint is by installing the Core library, which is available as a NuGet PackageThis method allows to develop the provisioning of a team site programmaticallyYou can get your core library NuGet packages for your SharePoint version below: 

Provisioning using PnPowerShell 

Like PnP CSOM Core Component, SharePoint developers can also provision sites using PnP PowerShell. With this approachyou create a PowerShell script to apply a provisioning template to a site. 

You can automate either of these approached with the help Power Automate (previously known as Flow), Logic AppsAzure Functionsand/or Web Jobs. Power Automate and Logic Apps are best for simple site provisioning operations, whereas Azure Functions and Web Jobs work well for more complex site provisioning operations. Here are some examples of complex site provisioning operations:  

  • Enabling web parts or custom actions (SPFx extensions) 
  • Creation of pages 
  • Creation of Content Types and Columns 

Automated Site Provisioning – The DevFacto Solution 

DevFacto has developed solutions that are constructed using all of the approaches listed above. One of our recent solutions developed for a client, calls APIs from Microsoft Graph and REST Operations automated via Microsoft Power Automate. Microsoft Graph is used to provision the Office 365 Group (which includes a site) and then the site is customized by calling additional REST Operations. 

Power Automate - Create O365 Group

Used the “HTTP” action (which is considered a PREMIUM connector)

This method allows to enable Microsoft Teams on the Team site. To accomplish that, we included it in the provisioning process by calling Microsoft Graph again. You can do that too by applying “/team” at the end of the URI to enable Teams to an Office 365 Group. Optionally, you can customize the Team by modifying the Body property (see next screenshot) with additional channels to be created, installation of apps, pinned tabs using delegated permissions, and defining Member/Guest/Fun/Messaging/Discovery settings for the new Microsoft Teams team. 

Power Automate -Enable Teams

Used the “HTTP” action (which is considered a PREMIUM connector)

Site Scripts and Site Designs are used to apply site artifacts and security principals to siteYou can determine the exact actions to be executed in the Site Scripts and Site Designs. Initiate Discovery workshops by analysing the business requirements of particular groups within your organization.   

ower Automate -Apply Site Designs

Used the “Send an HTTP request to SharePoint” action (which is in the SharePoint connector)

Alternatively, users can apply a site design to a site through the SharePoint UI. 

SharePoint Site Provisioning-Apply Site Design




Whether your organization is new to Office 365 or has been using it for quite some time, you will need a provisioning process to ensure that new sites, teams, channels and groups are created in an orderly fashion. There are many good ways to manage the provisioning process, including low-tech ones. Some smaller organizations can get away with using their established IT ticketing system and that’s completely fine. However, growing needs and complexity drive other organizations to automating the provisioning process as it significantly improves efficiency and significantly reduces management costs.  

Automated provisioning ensures that governance rules are followed, while greatly improving application security and user experience. It also provides you with a wealth of metadata that’s collected during the provisioning process making it easier to maintain and administrate sites, channels, teams and groups well into the future.  

Automating the provisioning processes requires an upfront development investment. However, you can significantly reduce the associated costs by leveraging the tools you already have. Power Platform (PowerApps and Power Automate) apps we used in our example are included in most Office 365 subscriptions. What’s more, these tools come with many preconfigured low-code and no-code elements that fit together like LEGO bricks to give you more flexibility and more custom experience. 

Looking to get started with automating your Office 365 provisioning process? Get in touch.   

This article was written by Oliver Wirkus and Adam Tobias


1) User Adoption Matters – How to Succeed with Your Office 365 Rollout 

2) Migration Pitfalls – Site-Provisioning 

3) Manage modern SharePoint sites using REST  

4) Choose the right integration and automation services in Azure 

5) Provisioning “modern” team sites programmatically 

6) Microsoft Graph  Create a team 


Using Power BI for SharePoint Analytics

Here at DevFacto, we love SharePoint. But we also believe that its the value is fully realized only when users leverage it in their daily work.

The thing is that organizations don’t always know how their employees are using SharePoint. Luckily, there are various tools that can help you track SharePoint user adoption – in fact, Microsoft provides some valuable SharePoint Analytics right out of the box. However, if you’re looking for a more robust SharePoint reporting solution, you might want to consider integrating your SharePoint with Power BI. In this article we’ll show you how the built-in SharePoint Analytics stack up against Power BI, and which solution might be optimal for your organization.

To start, let’s take a look at the reporting capabilities that come with SharePoint out of the box.

Built-in SharePoint Reporting Capabilities

Depending on whether you are using SharePoint Online or On-Premise, your solution will have some form of built-in analytics:

Usage Reports

Usage reports are meant to show statistics about how visitors have interacted with SharePoint content. All usage reports are broken down per event usage. This means, for example, that you are able to see the number of views or number of recommendations displayed for an item. The two main reports included are the Most Popular Items and Popularity Trends. This offering is only available in SharePoint On-Premise.

Site Usage

Site usage visuals are available to all users on your SharePoint site. The site usage visual shows information such as unique viewers, total site visits, site traffic insights, as well as what’s being shared with external users. These reports don’t offer details, serving rather as a quick snippet of very high-level information. Here is an example of what a Site Usage report looks like:

SharePoint site usage report

Click to enlarge. SharePoint site usage report

Site Activity Web Part

The site activity web part can be added to a modern web page on your SharePoint site. It shows documents that are being edited, added or deleted within your SharePoint site.

Audit Log Reports

The audit log reports are meant to track who is opening SharePoint files and folders in any site, and what they are doing with those files. Not all information tracked is available in SharePoint On-Premise and SharePoint Online. These audit log reports are very detailed and display information in a line-by-line format.

Office 365 Admin Center Reports

The Office 365 admin center reports are only available for SharePoint online. In the O365 Admin Center you can view application usage on a user-by-user basis, however the information is limited and does not offer usage insights. This is a high-level report that is only available to administrators of Office 365.

For us at DevFacto, this is what an Office 365 admin center reports looks like:

SharePoint Admin Center Report

Click to enlarge. SharePoint Admin Center Report – Site Usage by User

Office 365 Adoption Content Pack

The Office 365 Adoption Content Pack is a detailed Power BI report created by Microsoft. It visually shows summary analytics about Office 365 adoption. However, it is only available for SharePoint Online with Office 365. While only Office 365 administrators have full control over the information, they are able to grant permissions to various people within the company. This is what an out of the box Microsoft 365 Power BI report looks like:

Microsoft 365 Usage Analytics - O365 Adoption Content Pack

Click to Enlarge. Microsoft 365 Usage Analytics – O365 Adoption Content Pack

Limitations with built-in SharePoint Analytics

Although the out of the box offerings for SharePoint Analytics provide a lot of information, they do come with some limitations:

1. The data isn’t quite what you need to make quick decisions

All these offerings are presented either as a generalized summary analytics or as un-summarized information. For example, the Site Usage visuals show quick summary charts that don’t give you in-depth detail, while the Audit Log Reports show line-by-line data but no summary analytics. Depending on your situation, you may want to view summary and drill-down into detail, or vice versa.

2. The most detailed data available isn’t the right detail

Understanding how the users interact with SharePoint content is the most important aspect of adoption monitoring. You may want to know which users are visiting which sites, which users are not using any sites, which sites are visited the most, which devices are being used to access your site, etc. However, none of the OOTB offerings show the detail that you might be searching for, which likely means you will have to come to conclusions on your own or summarize the data yourself.

3. No single spot for conclusive insights

Since the six built-in offerings all show different data, you may find yourself going to different spots track down information. This means sifting through large volumes of data, just to find relevant insights. In addition to that, some of the offerings are available only on SharePoint Online or only on SharePoint On-Premises, but not both.

4. The data comes in all forms

Some of the data comes in the form of excel spreadsheets, while other in the form of online charts or visualizations. For this reason, it becomes impossible to combine all sources of data together and to get a quick picture of the situation.

5. There is no ability to set permission levels

Companies often want to set up SharePoint reports based on permission levels. For example, your CIO may want to view all summary information to understand how the company is adopting SharePoint. On the other hand, your Operations Manager may want to view a slice of detailed information related to everyday operations. Unfortunately, this kind of functionality does not currently exist in SharePoint out of the box. While some reports (such as the audit reports) are only available to admins, they aren’t easily accessible to others in your organization.

Automating SharePoint Analytics with Power BI

So, is there a better way to report SharePoint usage? And, ideally, can you do it using the tools you already have? Being huge fans of simple, user-friendly Power BI dashboards we developed a solution that integrates these two applications giving you full visibility of your SharePoint metrics in one centralized location. By far, the best thing about it is the ability to monitor all your key SharePoint metrics at a glance and drill into detailed data when needed. The dashboard makes it easy to understand you organization’s SharePoint usage and to make quick, informed decisions based on your own data. What’s more, our reporting solution works for both SharePoint Online and SharePoint On-Premise which means that you can get the insights you need no matter which version you’re using. This solution combines Power BI and Azure Application Insights to automatically deliver reliable SharePoint usage information.

What kind of data can you track with by integrating SharePoint with Power BI? Here are some examples of insights you can get from this automated SharePoint analytics solutions:

  • The total number of users per day;
  • Users are using or not using your sites, folders and files;
  • Sites that are used the most and/or the least;
  • Browser types used to access SharePoint;
  • Types of devices that connect to your sites.

In addition to that, the solution can collect other usage data that are important to your company.

Here is what our DevFacto SharePoint usage dashboard looked like at a point in time:

SharePoint Site Usage Report in PowerBI

Click to enlarge. Reporting SharePoint Usage in Power BI

Benefits of Using Power BI for SharePoint Reporting

Here is how you can benefit from leveraging this Power BI and Azure App Insights based solution in reporting your oranization’s SharePoint usage.

1. Get the right depth out of your data

By integrating SharePoint with Power BI you can access both summary statistics and in-depth data about your SharePoint adoption. You can choose which view is the most important to you and dive deeper when you see appropriate.

2. Only see the data that is important to you

Unlike the OOTB offerings that show you all of the available data regardless of your needs, Power BI dashboard is easily tailored to your actual usage. This means that you can choose to see only the data that matters to you, and nothing more.

3. Automate SharePoint Reporting

Thanks to Azure App Insights, your data updates automatically, which means your reports are available on-demand anytime.

4. Set permission levels and change views

With different user types you can tailor access to data based on job needs giving the right data to those who need them.

5. Access all SharePoint usage data is in one place

By using Power BI for SharePoint analytics you can access all your reports in one central location eliminating redundancy.

6. Leverage the Microsoft Stack

All technologies involved in this solution are a part of the Microsoft stack. This means no additional enterprise agreements and little to no added ongoing costs.

Best of all? This solution is simple and inexpensive, so you can get started quickly.


Need help with gaining deeper business insights from your SharePoint analytics? Get in touch. We can help you integrate your SharePoint with Power BI for reliable and accessible SharePoint usage metrics.

From Document Management to Knowledge Management: How AI is Changing the SharePoint Landscape

Towards the end of 2019, Microsoft announced it’s first new service since the launch of Microsoft Teams: Project Cortex. This new initiative has the potential of becoming a game-changer in how we contextualize corporate content. Most notably, Project Cortex focuses on creating Knowledge Networks that will help organizations enable true Knowledge Management across the enterprise.

Now, if all of that sounds like a whole lot of buzzwords, you’re not alone. In this article, I’ll explain how AI (Artificial Intelligence) will soon help us turn corporate information into knowledge and what you can do to prepare.

From Data Management to Information Management in SharePoint

Before we dive into the subject of AI in SharePoint, let’s take a moment to appreciate how far SharePoint adoption has evolved.

It wasn’t that long ago when we were all over Document Management. Back in those early SharePoint days, organizations saw the potential to use the Microsoft-powered technology as a considerably improved file share replacement. Full of anticipation, they created document libraries, added folder structures and uploaded their corporate documents from other platforms (for instance, Lotus Notes) to SharePoint. For some, this approach paid off because SharePoint Search was powerful enough to index documents and search based on keywords.

Others soon realized that the real power of SharePoint lies elsewhere. Once they went beyond simple keyword search and explored the metadata, classifications and information architecture, they often found that they were able to achieve much more than just managing documents. They started to manage information.

That’s how we arrived at Information Management: the next logical step after tackling Document Management. Where Document Management concentrates on the administration of documents in an enterprise, Information Management goes far beyond that. It covers not just documents, but news, articles, announcements, as well as items in a knowledge base and data records. You can look at Information Management as a kind of umbrella item that includes Document Management.

What information management looks like in practice

Today, when an organization publishes an article or an announcement, it usually does so by publishing a new modern page in SharePoint rather than a document. As the article or announcement is based on a modern page, it uses a specific Content Type (for example, Corporate News) and metadata to tag content.

Here is an example. The metadata used to tag a news article announcing the hire of a new HR Director could look like this:

  • Audience: All staff
  • Type of Content: News
  • Scope: Internal
  • Location: North America
  • Department: HR
  • Publisher: HR
  • Confidentiality: Public
  • Valid until: February 28th, 2020
  • Responsible: Mark Hammond (CEO)

Ideally, all of the content you publish in SharePoint contains tags and follows a document structure. Tagging ensures that your organization can work with information it stores. For example, the organization can create rules to prioritize this HR announcement to employees it is most relevant to, in this case, those located in North America and those working in the HR department. Tagging with metadata is the only way to ensure that the organization can create rules or business processes that use the information, like a tailored publication process regarding corporate news or applying information protection policies to corporate business reports.

Technically, rules can be based on queries and those queries rely on Content Types to determine that a document is (for example) a business report. Humans can recognize a business report by looking at the document, rules and queries can’t.


How AI turns Information Management into Knowledge Management

If you have been working with SharePoint for a long time, this is probably nothing new. What I just explained is the established best practice for Information Management. And that’s part of the problem! Organizations have been doing this for years, but the working style has changed. Many requirements of the modern Information Management systems just can’t be accomplished by just following the established best practice. That’s because Information Management is transitioning to Knowledge Management. What’s the difference between those two, you might ask? Information Management connects content to structures such as Content Types or metadata. On the other hand, Knowledge Management connects content to people.

The goal of Knowledge Management is to make knowledge sharable and actionable within the organization. From a technical standpoint, Information Management utilizes SharePoint Search, Content Types and metadata to help employees find information quickly.

Knowledge Management goes far beyond that by making information digestible and shareable, and not just searchable. It builds connections between information items to create a complex knowledge network. Interweaving content this way often is far too complex and time-consuming for humans, so Project Cortex will use AI to do it.

And here we’ve come a full circle! As the complex knowledge network takes shape, information, which is the foundation of knowledge, needs to be machine-recognizable. Even smart AI-powered bots rely on criteria to identify content, which is why Project Cortex’ AI model needs training.

Project Cortex - AI model training

SharePoint AI models require training


Adding context to SharePoint information with AI

Here is an example of how this will look like in real life. The following screenshot shows a draft of a Corporate News article about a new project called Planet Blue. Since our corporate team has already created a project site and started to work on that project, a bot equipped with Artificial Intelligence can link the News item with the corresponding Planet Blue project site, the members and the associated resources. Readers can hover over the word Planet Blue to automatically get additional insights on a topic card. But there is more. The AI bot not only creates a link between the keyword and the project site but also generates a topic page around the project including a description, a list of project members, resources etc. This topic page will update on ongoing basis.

Topic Card in Project Cortex SharePoint

Topic Cards add context to articles and documents published in SharePoint.

As AI-powered bots create a knowledge network (the previously mentioned interweaving of content), a topic page will also display related items and topics, helping humans understand the context, the scope of information and how the information relates to other information items. You can see an example of that below:

SharePoint Knowledge Network

Knowledge Network adds context to documents.

This is just one way to make knowledge more digestible for employees. Project Cortex combines knowledge from many different sources and automatically summarizes it in a way that’s easy to digest by humans. It links related pieces of information and puts it all in context. A single piece of information becomes a part of a complex knowledge network that clearly shows the full context and scope. That’s how companies will be able to turn information into employee knowledge.

Auto-populate document metadata

Project Cortex uses information from different sources to build complex knowledge networks, and one of those sources are documents. Project Cortex will be able to extract information from uploaded documents and fill-in metadata automatically (up to a certain extent). This is what you can see in the screenshots below.

Here’s what a document with no distinct metadata might look like when uploaded:

Adding metadata to documents recently uploaded to SharePoint

Recently uploaded document with no metadata

A few seconds later, the smart AI automatically adds metadata:

Project Cortex automatically adds metadata to files

AI autofills document metadata

While this does not mean that adding metadata (which is an unloved task of many Information Workers) will become obsolete once Project Cortex is available, it shows that even modern technology like Project Cortex still relies on existing technology akin to metadata tags and Content Types.

To achieve this, Project Cortex and the underlying AI technology requires training so that it can recognize new information (for example, which documents belong to a specific project). This is done by creating a model in the new Content Centers, which uses the already existing AI Builder functionality in PowerApps and Power Automate (formerly Microsoft Flow).

Project Cortex - Content Center

AI-powered Content Center

How to prepare for Project Cortex?

The interesting question is, what can organizations do to prepare for Project Cortex launch?

Project Cortex uses AI (Artificial Intelligence) to extract information from documents and to build a knowledge network. However, it can’t work miracles! Under the hood, Project Cortex still relies on metadata and presumably Content Types. Once Project Cortex is available, likely in Q1/2020, I assume that many organizations will import their existing documents to see how Project Cortex can help them with Knowledge Management. And that is exactly where organizations can start today. The better your current information is structured and tagged, the easier it will be to train the AI bots of Project Cortex.

But don’t get me wrong: I’m not suggesting to update your Content Types and metadata terms just to be prepared for the launch of Project Cortex. It is actually the other way around. If you keep your Content Types and metadata terms up to date and tag your documents accordingly, there will be an immediate benefit for your organization and your staff – and your start with Project Cortex will be much smoother.

At the time of writing this (January 2020), there is still too little information available to provide more detailed recommendations. The only thing we know for sure is that Power Automate, PowerApps and AI Builder will be used to do the heavy lifting under the hood. Based on the videos shared during and after Microsoft Ignite, I’m guessing that Project Cortex will take advantage of Managed Metadata as well. And because it is established best practice to use Content Types to ensure consistent usage of metadata, I assume Project Cortex will take advantage of Content Types as well. Hopefully, Microsoft will also use this opportunity to modernize the Term Store and the Content Type hub.

Best Practices regarding metadata and Content Types

Whenever I support customers who are migrating to SharePoint, I conduct at least two (2) workshops at the very beginning of the projects. The first one is around best practices for metadata and the second focuses on Content Types. My recommendation is this: work with your corporate entities and departments to identify the types of documents in use. When compiling your list, consider all document types such as manuals, invoices, reports, contracts, announcements or news. Create a corresponding Content Type for each identified type of document and take advantage of Content Type inheritance. Your corporate Content Types should be stored in the Content Type hub to ensure they can be used throughout the entire organization.

Once you’ve identified all document types, continue working on identifying corporate metadata terms and structure them within Term Sets and Term Groups. Next, assign Term Sets to Content Types and configure your document libraries to use Content Types.

There is one question that comes up each time I deliver my Content Type workshop. I am asked how many Term Sets should be used per Content Type and how many of those should be required. Unfortunately, there is no definite answer to this question. As a rule of thumb, I recommend not to use more than 10 Term Sets per Content Type.

There are also no definitive answers regarding the number of required metadata. I recommend to use  only as much metadata as necessary. Ultimately, your metadata needs depend on the types of documents and on how those documents are used. For example, a corporate handbook usually needs less required metadata compared to a contract or an invoice. Also, be mindful of user experience. The more required metadata users need to provide when uploading a document, the more annoying the activity.


Project Cortex will be an exciting addition to Office 365, and I admit that I can’t wait until it is available. You might know that I am an advocate for Document Management, and I have been promoting Document Management since I became a SharePoint consultant many years ago. Project Cortex will definitely support organizations in transitioning from Information Management to Knowledge Management, but this will come with a price tag. Information still needs to be structured, and AI will require proper and thorough training. The better the training, the better the results, but if the AI model is trained poorly, you can’t expect stunning results.

If you want prepare for the launch of Project Cortex, start by assessing how metadata and Content Types are used in your organization. If you encounter gaps or areas in need of improvement, update your Managed Metadata structure and/or your Content Type structure and configure document libraries to use Content Types!

The DevFacto team is closely monitoring the progress of Project Cortex, and we are already working on guidelines and best practices to support organizations once Project Cortex is available. If you have questions or want prepare your organization for the Project Cortex, launch, get in touch with us.


Project Cortex – Your knowledge network in Microsoft 365

Introducing Project Cortex

Mastering the Art of SharePoint Document Management implementation

Are folders in SharePoint Ancient Technology?

A Guide to Managing SharePoint Migrations

Clients often ask me how to get the most business value out of SharePoint migrations. This topic is near and dear to my heart and I speak about it often at various SharePoint events, most recently at the SPFest in Seattle and SharePoint Saturdays in Calgary, and Toronto. If you’re considering a SharePoint upgrade or a SharePoint migration, this guide is for you. I’ve put it together to help you fully realize the potential that’s hiding in your intranet. In it, you’ll learn how to plan for a migration to maximize the opportunities from modernizing your SharePoint environment.

Why is Migrating SharePoint so important?

SharePoint Online (part of the Office 365 family of applications) has been for around 8 years. It launched globally on June 28th, 2011, and almost a decade later it is certainly a success story for Microsoft. Over that time, many organizations bit the bullet and migrated their corporate intranets to SharePoint Online. Others had good reasons for staying on-premises and kept their existing SharePoint environment away from the cloud. But with ageing intranets and end of extended support in sight (SharePoint 2010 end of life is coming in October 2020), those organizations have been reconsidering their options: upgrading to SharePoint 2019 on-premises or migrating to SharePoint Online. No matter which route you take, one thing is certain – you’re about to embark on a SharePoint migration.

While this might sound overwhelming at first, but don’t worry. This is a chance to go beyond just a lift-and-shift and modernize the way your organization works. If your organization is still using older versions of SharePoint, it’s structure likely needs an overhaul. That’s because the way we worked 5-10 years ago is quite different than the way we work now. The new connected, adaptable workplace depends on modern environments like SharePoint Online that bring a modern digital workplace experience to the entire organization.

Build your SharePoint Migration Team

In any SharePoint migration someone needs to do the planning, and someone needs to do the work. Migrations are managed like common IT projects, and this is the ideal Migration Team should consist of:

  • Migration Lead: Responsible for leading the migration and the migration team, usually reports to the executive board.
  • Project Manager: Responsible for managing staffing, roles and the project plan.
  • Information Architect: Responsible for creating the IA in the target environment. Information Architect needs to be a member of each team dealing with intranet modernizations; works closely with the Solution Architect.
  • Solution Architect: Responsible for migrating business solutions; needs to be a member of each team dealing with intranet modernizations; works closely with the Information Architect.
  • Migration Expert: Responsible for performing the migration and/or supporting teams during the migration; provides expert knowledge regarding using the designated migration tool.
  • Site Owners: Owners of the most important sites stay informed on migration planning and migration execution; sometimes they migrate their sites on their own.
  • Communication Expert: Responsible for any kind of communication, news and announcements regarding the migration. This person should be an expert in corporate communication. They’ll tailor communication to the target audiences and drive user adoption.
  • Technical Trainer: If required, provides technical knowledge transfer to members of the migration team and/or support team.
  • Support Expert: Member of the corporate support team. Needs to understand the project, as her team will take over once the migration is finished.
  • Adoption & Change Management Expert: User adoption campaigns are a critical element in almost all migration projects. A change management expert will typically plan change management and adoption campaigns.

As I mentioned before, this is the idealized composition of a migration team. For your migration, you might not need all of those roles, but I highly recommend following this list. In my experience, underestimating the importance of a dedicated migration team jeopardizes the chance for migration success.

To sum it up: If you are planning a migration to a newer version of SharePoint or SharePoint Online, treat this move as a substantial internal project. Start by staffing your migration team. Its members should be experts in their respective areas and will work together to create the project plan and a detailed migration plan. Don’t underestimate the importance of internal communication. Proper and tailored communication is crucial. This part of the project has a significant impact on the user-acceptance and the success of the entire migration. Migrations managed just by the corporate IT team should be an absolute exception rather than the usual approach.

Refresh your Business Solutions

Many organizations use line-of-business solutions of different complexity. Examples range from a basic Request for Vacation process all the way to a sophisticated custom CRM system. Presumably, those business applications built around the time when the corporate intranet got launched. If that was between 5 to 10 years ago, it is likely that those business applications use a different user interface paradigm, an outmoded design and may lack some useful functions (i.e. enhanced security, artificial intelligence, media support, voice recognition, OCR, improved database support, enhanced integration with 3rd party systems) which were too complex to build at the time.

Today, modern environments like Windows Azure not only provide great options to host LOB applications, but also offer a tremendous amount of services that can be used to enhance most LOB applications. Most, if not all, Azure services offer an easy to use API which makes it relatively straightforward to integrate a specific Azure service with an existing LOB application. Even if no additional functions are needed, you can boost performance with Windows Azure’s tailored storage options. Also, most Azure services can be managed and configured through the Azure portal. This offers additional benefits since business logic, sensitive business data and administration can be separated to provide an extra layer of security. One of the modern security concepts propagates that data and content should be kept separate from administrative tasks.

Windows Azure can host your Line of Business applications for a seamless SharePoint Online experience

Modernize SharePoint Structure

If your corporate intranet is more than 5 years old, it likely doesn’t reflect your current organizational structure. Using a deeply nested subsite structure will result in a considerable amount of work to update the structure (e.g. sites need to be moved from one Site-Collection to another). Today, intranets are not using a subsite structure anymore. Microsoft’s recommendation favors multiple Site Collections with just a root site over Site Collections with a deeply nested subsite structure.

A modern site structure provides many benefits that support the contemporary working style of today’s workforce. Here are some examples: flexible content distribution (like corporate news) based on target audiences, clear separation of the physical (technical) architecture from the logical architecture (applied to the main navigation), SharePoint Hub sites, flexible creation of collaboration environments using multiple repositories (like a project site including a Microsoft Teams team or Office 365 group) and easier management of sites (even though there will be more sites and Site-Collections). If your teams still work with classic teams sites, you’d be amazed by the power, efficiency and user-experience of a modern collaboration environment that ties together SharePoint Online, Microsoft Teams, Office 365 Groups and Yammer.

Each time I perform an assessment of a corporate intranet prior to a migration, I thoroughly check the site structure. Whenever I find that the site structure is based on subsites or/and the structure hasn’t been updated for a long time, I strongly recommend adding a site structure modernization activity to the migration plan.

To sum it up: A modern workspace requires a modern site structure. The times we must be very careful with content database sizes are finally over. Today, a modern digital workspace needs to be flexible. A modernized structure based on modern site templates provides many benefits that organizations can use to reduce maintenance costs, improve efficiency, increase user acceptance and ensure that changes to the underlying structure can be applied without starting a substantial internal IT maintenance project.

SharePoint Online Modern Site Template

SharePoint Online Modern Site Template

Revisit Metadata and Content Types

Each organization works with documents of different kinds. Those that use SharePoint as their intranet platform recognize the power that comes from associating Managed Metadata and Content Types with types of corporate documents. However, most organizations don’t update their Managed Metadata structure or their Content Types very often.

Whenever I do my pre-migration assessments, I usually check the Term Store and the Content Type hub. Content Types can only show their full potential if Managed Metadata terms and Content Types are up to date. Structural changes in an organization, new teams, new products, or new projects often require updates to the existing Content Type structure (which includes metadata). In many organizations, a corporate governance committee is responsible for keeping them up to date. If you are planning a migration, check with your corporate Governance Committee and verify the status of Content Types.

Usually, dealing with updated Content Types (which can include an updated metadata structure) during a migration is much easier than re-assigning documents after the fact, especially if you utilize modern migration tools like Sharegate. Best of all, you’ll make a positive impact on user search experience, content distribution and line-of-business applications as they all heavily rely on metadata.

Why are Content Types so important?

You might be wondering why I still think proper metadata and an elaborate Content Type structure are important for organizations. After all, SharePoint Search appears to be smart enough to index content thoroughly and to provide relevant search results without applying metadata to documents. What’s more, the modern SharePoint Search results page doesn’t take advantage of custom search refiners as the classic search results page does.

That’s a fair statement and technically, this is correct. The SharePoint Search algorithm which indexes content is very smart and the OOTB search results that don’t use custom metadata are surprisingly good. However, a proper metadata structure isn’t used just to improve the SharePoint Search results. Content management, content distribution, workflows and line of business applications all rely on metadata. And if the organizations uses the so-called search-driven applications (like ‘My documents’ or ‘2019 Business Reports’), proper metadata tagging is required. While modern SharePoint Search results page does not support custom refiners yet, that is about to change soon!

To sum it up: A proper metadata structure and tailored Content Types are a must for any modern digital workplace. Existing AI isn’t yet good enough to do this reliably. Since metadata and Content Types are rarely updated in older SharePoint implementations, a migration is a chance to revisit their structure. This will help you ensure that your documents are associated with the right Content Type.

Take Workplace Collaboration to the Next Level

Looking back a few years ago, when collaboration was still in its infancy, organizations considered customized team sites based on a classic site template a great achievement. Don’t get me wrong – classic team sites had many benefits, but they won’t take collaboration to the next level. Younger generations, that are new to the workplace, expect usable and intuitive solutions. The top names in tech invest heavily in this area to attract the best talent. While the same isn’t always possible for all organizations, commitment to increasing workplace collaboration certainly is.

Modern environments like SharePoint Online allow to build custom collaboration environments tailored exactly to the needs of teams. When compared to classic team sites, they dramatically reduce distracting context switching and improve productivity.

MIcrosoft 365 Universal Toolkit for Teamwork

Microsoft 365: Universal Toolkit for Teamwork

To sum it up: If you’re using classic team sites or custom site templates to support collaboration in your organization, I highly recommend that you don’t simply migrate them to your new SharePoint environment, be it SharePoint on-premises or SharePoint Online. Instead, do a collaboration assessment and plan a collaboration environment that’s right for the way your organization works. Rather, migrate existing collaboration environments (i.e. classic team sites) “as is” but ensure that new ones are build based on your modernized approach.


There’s no doubt that a migration from an established corporate intranet to a new platform is a big move for any organization – and, as any big move, it comes with a price tag. Saving on maintenance costs holds a huge appeal for those who move their intranets to the cloud, but a migration can be so much more than that.

I highly encourage looking at various aspects of your intranet to ensure that the costs pay off quickly. Believe it or not, but most corporate intranets scheduled for migration have a high potential for modernizations. If I was to rank them, updated metadata and Content Types would be top of the list, closely followed by updates to the existing site structure, social features and targeting audiences with content distribution.

A pre-migration assessment will help you identify areas with the highest potential for positive business impact. Once you have the options clearly laid out, it will be much easier to demonstrate and value of a reimagined collaboration space to your leadership team.

Further reading:



User Adoption Matters – How to Succeed with Your Office 365 Rollout 

We all know that technology is evolving fast. In fact, new technology has never been released as frequently as it is now, and this couldn’t be more true for Office 365 and SharePoint Online. Since Microsoft came out with Office 365 in 2011, many organizations moved to the cloud platform recognizing the benefits for their business and their employees. In the time since, Microsoft released many updates and many additional applications to improve the usability of its cloud platform.

But for every light, there must be a shadow. While Microsoft works tirelessly to continue improving its Office 365 platform, organizations often struggle to keep up with Microsoft’s pace. A prominent example is the fast update-cycle of Office 365, which can cause issues when organizations introduce new technology to their employees and plan accompanying activities like user adoption and change management. For some organizations, planning and executing user adoption campaigns can take some time, and while the user adoption team is still working on the campaigns, newer features may already be added by Microsoft.

For most organizations, the step towards the cloud (Office 365 and SharePoint Online) is a significant step not only for the organization, but the entire staff as well. As a consultant, I realize this every time I assist organizations with migrating from file-shares to SharePoint Online. Quite often, organizations manage this transformation by augmenting a SharePoint Online rollout with user training. Unfortunately, activities that are proven to drive user adoption, such as internal user adoption campaigns and proper change management, sometimes take the backseat – much to the detriment of the staff. In this article, I’ll discuss how including them in your Office 365 or SharePoint Online rollout can drastically increase the user adoption rate.

Why Office 365 User Adoption Matters?

First, let’s have a look at why proper and tailored user adoption activities matter to every organization implementing Office 365 or SharePoint Online. They:

  • Protect organizational ROI. Rolling out a new technology not only takes effort, but also costs money. Most enterprises justify the project spend with a projected ROI (Return on invest). Because technological investment should generally lead to lowered operational costs and increased efficiency, it is in the vital interest of all organizations to ensure that new technology is used by the entire staff as expected.
  • Benefit the Employees. Modern technology should not only provide benefits to the organization, but also improve the daily work of employees. Unfortunately, this is where the problems begin. Not all employees embrace changes to their daily routines, even at a promise of easing the workload. While tech-savvy ones are eager to try out the new tools and updates, others may remain reluctant or hesitant to change. This is where user adoption campaigns really matter. Organizations can run them to ensure that the new technology is used by the entire staff as expected by the organization – without making employees feel imposed!

The way towards organization-wide user adoption can differ between organizations. When talking to executives and stakeholders about user adoption and change management, I often realize that many organizations think they provided proper user adoption activities by offering tailored training sessions and emailing corporate announcements regarding the new technology. But in most cases, that is far too little to ensure that the new tool is used as expected. User adoption is much more than just training and announcements. It is a long-term activity (or an internal project – if you want to put it that way), which requires extensive planning.

Build a Office 365 User Adoption Team

It all starts with establishing a user adoption team as any user adoption campaign needs to be handled like an internal project. Here is a high-level list of roles within a user-adoption team, which should be adjusted based on your corporate culture:

  • Adoption Team Lead: Responsible for managing the user-adoption team, planning tasks and scheduling meetings.
  • Moderator(s): Responsible for planning and performing user-adoption campaigns. In most cases, it makes sense to involve Power Users or Key Users. I recommend involving professional moderators or at least employees who are used to public speaking (or have stage experience).
  • Communicator(s): Responsible for all communication around the user-adoption activities. I recommend a professional communicator as the style of communication needs to be engaging, enthralling and carefully tailored to the target audience.
  • Technical Expert(s): Responsible for technical support, knowledge transfer and measurement of the identified success factors (as explained later). Often, Office 365 admins take over this role.
  • Trainer(s): Responsible for delivering accompanying training sessions.
  • Executive(s) and Stakeholder(s): Part of the team to highlight the importance of user adoption and to ensure that organizational interests are considered.
  • Corporate Governance Committee: Although the Governance Committee does not need to take over an active role, keeping them up to date on planning and the current state allows them to chime in if there are any corporate policies which need to be considered.

Establish Goals

If we look at the user adoption team, it becomes clear that a user adoption campaign isn’t a one-time activity like training. Rather, it’s an ongoing process, that strives to accomplish several goals:

  • Introduce a new technology to employees in a way which is tailored to their skill set and technical abilities.
  • Provide individual examples on how to use the introduced technology based on roles and responsibilities.
  • Focus on the benefits that employees can achieve by using the new technology, in other words: show how this new technology can be used to meet individual goals.
  • Explain how the technology fits corporate strategy.

Out of all these, the most important one is certainly focusing on benefits that matter to employees, as it is likely that not all employees will embrace changes to their daily routines. From an organizational standpoint, user adoption activities need to ensure that new technology is used as planned. From the user’s perspective, new technology will affect the daily business and most employees are primarily interested in “what is in it for me,” rather than what are the benefits the organization is hoping to achieve. Basically, this discrepancy is the reason, why user-adoption campaigns are crucial.

So, What Can You Do to Drive Office 365 User Adoption?

Here are some proven tactics:

  • Schedule events to introduce the new technology to all employees. These events should offer a high-level overview of the solution that explains the intended use of the technology and its place within existing applications and procedures.
  • Schedule meetings with individual departments to showcase how employees of particular departments will benefit from using the new technology. Since requirements vary between departments, user adoption activities should be designed to address needs specific to different roles.
  • Use gamification. Create a buzz around your technology and get your employees involved early on. You can try panel games, quizzes or digital scavenger-hunts to draw the attention to the new technology. The most important thing is to be creative and engaging. Based on my long-standing experience, gamification works wonders if done properly.
  • Perform surveys throughout the course of the user adoption campaign to get a sense of how your employees are using the new technology and gauge if the campaign is working.
  • Identify success factors and proper measurements. For example, if you run a user adoption campaign for a OneDrive for Business roll-out, a success factor could be a 50% increase of the data stored to OneDrive for Business accounts within three (3) months of implementation.
  • Offer individual training for employees struggling with using the introduced technology.
  • Schedule recurring monitoring that continues even after the user-adoption campaign has ended. It is important to continue measuring how the introduced technology is used during the coming months.
  • Work with the corporate help desk to understand inquiries and tickets related to the introduced technology. Although an increased number of inquiries is common, too many inquiries are an indicator that the user adoption campaign isn’t working well or isn’t meeting your audience’s needs or expectations.

Finally, when it comes to user adoption, there is no one-fits-all approach. Organizations are diverse, as are their employees. A proper user adoption campaign needs to be tailored to the corporate culture, the skill sets of employees and most importantly, the expected benefits for individual users. Proper user adoption campaign is crucial for rolling out any new technology. Training is just an accompanying activity rather than a replacement for user adoption and change management. For that reason, the cost of a tailored user adoption campaign needs to be added to the costs of the new technology and the corporate rollout. However, when a user adoption campaign is planned and executed properly, these additional costs will pay off soon helping secure a timely ROI.

Additional Resources: 

Recap: Mastering the SharePoint Framework with Andrew Connell

Last week, DevFacto Academy hosted SharePoint MVP Andrew Connell for his ‘Mastering the SharePoint Framework Course’ in Edmonton. This 4-day course walked our team through building and deploying custom code using the new SharePoint Framework which was introduced to SharePoint Online and SharePoint 2016. Read more

Hello Toronto, it’s great to see you!

The DevFacto team is thrilled to announce that we are expanding our presence in Central Canada with the official opening of our newest office in Toronto!  Read more

The 3 important steps of a SharePoint migration

It only takes three steps to migrate to your new SharePoint environment? Sounds easy! While it’s true that a SharePoint migration needn’t be as complex as some people will have you believe, each of these three steps have a lot to them, and as such shouldn’t be underestimated.

That’s why we’re here to guide you through each important step so your migration journey can be as smooth as possible and you can enjoy your new SharePoint environment. Read more

SharePoint Configuration Errors: Where to Find Them and How to Fix Them

If you work with Microsoft SharePoint, you’ve likely come across the following error screen at some point in your career:


Read more

Quality Conf 16.2 Recap: The New SharePoint Framework

On December 16, 2016, DevFacto hosted Quality Conf 16.2 – a full-day internal conference dedicated to learning and team building.  A number of sessions were presented by our team members which focused on everything from personal to technical growth.  In this post, we recap “The New SharePoint Framework” which was originally presented by DevFacto consultants Chris Buchanan and Vili Bogdan.

Read more