Select Page

Directory List for Microsoft Teams

by | Nov 29, 2018 | Focused, Microsoft Teams |

When provisioning SharePoint Sites in Office 365, one of the most common questions is how to create and maintain a Global Site Directory. There are several different solutions to this problem, the main one being to use a list in SharePoint. In house provisioning solutions often involve having a SharePoint list for site request information. The information in this list then feeds the provisioning process via a workflow and the site is created using some sort of Azure web job or Azure function. So far, so good but what about when that information changes? Lets say the title of the SharePoint Site needs to change or the description for the site needs to change, how would that be handled? Would the request list become the Global Site Directory and it used to feed the updates into the provisioning process to update the site? This is just the tip of the iceberg, there’s plenty more to think about here to create a design that is usable AND technically sound.

So, when it comes to a Global Directory for Microsoft Teams, is there really any difference? Not really. The process of actually creating a Microsoft Team is more complex. It shouldn’t be, but it is. The Teams Api in the Microsoft Graph was released at version 1 in November 2018 and there’s an endpoint in there for creating the team so why would it be complex? The reason is in the detail. If you want to create a simple Microsoft Team then call the Graph Api and you’re done. What about if you want to set the Team logo, create some channels and configure the underlying SharePoint Site Collection with a PnP Template? This is where the complexity comes into play and you start to experience the async creation issues of the new modern Office 365 world. We know there are complexities here and if you have the time, budget and skill sets, they can all be resolved in your in house solution. This still leaves the question about having a Global Directory for Microsoft Teams.

In this next section I’ll look at what the Global Directory might look like when we change the context from SharePoint Sites to Microsoft Teams.

I’ve started out with a new Generic List in my SharePoint hub site. This will be surfaced on the home page and can be used to search for and navigate to the Teams.

Creating a Microsoft Teams directory list

I’m going to include two link columns, one to navigate to the Microsoft Team and will either open in the Teams client or in the Teams web application. The other link will be to the underlying SharePoint site collection used by the Microsoft Team for storing channel files.

Next, I need some request information like the department, cost centre and project code that the Team relates to. I’m also going to need to know who the ‘owners’ are and maybe some other key contact information like who the project manager is.

Creating a Microsoft Teams directory list

With my initial columns added, I now need add some request rows to test what this looks like with some information in the Global Directory list. I’m going to add the Teams data as it would be when the provisioning process has completed so we can see what it looks like and how it behaves. By this, I mean the Urls to the Microsoft Team and the SharePoint site are already created. The Global Teams Directory can now be surfaced on the Teams hub home page using the List web part.

Creating a Microsoft Teams directory list

Now users can go to the Teams hub site and use the Global Teams Directory to find key information about the Teams and navigate to them. It doesn’t look inspiring, but it does work. What this does do however, is present more questions.

  1. How do you prevent users from changing items in this list when they shouldn’t?
  2. How do you allow certain users to request a new Microsoft Team via this list?
  3. How can provisioning progress be tracked by this list?
  4. How can owners or other empowered users initiate changes to existing Teams?
Basic Microsoft Teams directory list

In ProvisionPoint, we flip this common approach to a Global Site Directory on its head. We don’t use the SharePoint list to request a new SharePoint site or Microsoft Team, we use it to store the details of the sites and Teams that have been created by the ProvisionPoint provisioning engine. Therefore, users only need read access to the list and all the pain around managing who can do what, why and how with the list is taken away.

To make the Global Teams Directory more at home on the home page of our Teams hub site, we can switch out the List web part and add the ProvisionPoint directory navigation web part instead. We can even theme this web part with the Microsoft Team colour palette from the Fluent Fabric palette.

We can keep the SharePoint list back under site contents where users can still access it if they wish to search, filter, etc to find the Teams they need.

Enhanced Microsoft Teams directory list

ProvisionPoint also maintains a directory list of all the requests that have been made for new SharePoint Sites, Office 365 Groups and Microsoft Teams. The list can be filtered, searched and then drilled down to see all the details for the request like the Site Url, Team Url, description, owners and any other value entered on the request form.

 Microsoft Teams directory list in ProvisionPoint

To summarise, creating a directory for all the Microsoft Teams in your organisation is perfectly possible and even easier when using a solution like ProvisionPoint where the directory list functionality is baked right in.

About The Author