Provisioning in Microsoft Teams with Extranet User Manager Open Source
Want more info?
By December of 2020, 115 million users were reliant on Microsoft Teams. Available in 181 countries and in 44 languages, Teams is Microsoft’s fastest growing business application – ever.ᶦ It makes sense that as more businesses adopt a work (and collaborate) from anywhere model, they are picking Teams as their platform of choice. It’s a great way to communicate internally as an organization. It also natively integrates the Microsoft 365 suite of applications and SharePoint.
The downside of Teams, for larger enterprises especially, is provisioning. By provisioning, we’re referring to governance and structure around self-service requests for new Microsoft Teams, for Microsoft 365 (M365) groups, and for SharePoint Team sites, all of which are heavily interrelated.
Understanding What’s Going on Under Your Microsoft Teams Hood
Anytime you create a Microsoft Team, you're also creating what's called a M365 group under the hood. The diagram below, created by Matt Wade, illustrates how, when you create one of these items across the top, like a Team, it's actually creating an M365 group. That means you’re also getting a bunch of other components spun up for you just by creating a Microsoft Team, like a dedicated inbox and shared calendar specific to that group, a Planner Plan, a OneNote notebook, a Forums Workspace.
That's both good and bad. The good part is you've got a lot of functionality available to you. The bad part is if people were arbitrary while spinning up Teams, then you don't have a lot of governance around what’s going on under your hood.
Governing Self-Serve in Microsoft Teams, SharePoint and M365
Self-service creation is enabled by default, so right from the start anyone can create Teams, SharePoint sites, and groups in Outlook. These applications are interconnected and that's wonderful, except that it can get out of control. For example, you may have multiple Teams set up for the same project and some people are in one and some are in another and it gets confusing. How do you better manage that?
The first thing we recommend is to turn off the self service out of the box features because you don't have appropriate controls in there yet. That may sound a little scary. If you’re in IT you’re probably thinking, “Does that mean that everybody will start emailing me saying, hey, I need a Team, hey, I need a SharePoint site?”
No. Because you don't want to go to manual provisioning either. It can't be people emailing other people to do things, that's not a scalable approach. It must be a self-service model. From an adoption perspective, you want to ensure that it's still easy for people to request and get the resources that they need, but that there's appropriate governance and structure built into the process.
People need to be able to fill out a form and start the request process. Some organizations my want to approve those requests. If approvals are required, make sure it's easy to do that. It needs to be extensible and customizable for each organization. Because every business is different, every organization has its own way of doing things and systems in place and vary in what their templates and architectures look like.
Using Extranet User Manager (EUM) Open Source
In creating Extranet User Manager (EUM) Open Source, we wanted to leverage out of the box, but we also wanted to provide templating so that we can have customized templates for not just the SharePoint sites, but the Microsoft Teams, the OneNotes – everything that's part of this solution.
EUM Open Source isn’t a highly complex solution. Yes, you probably need to be an IT pro to get it up and running in your organization. There are administrative skills needed to get EUM Open Source going, but nothing that you need a hardcore developer for. Effectively any IT pro that's comfortable in PowerShell should be able to wire the pieces together.
For our EUM Open Source, we have a SharePoint framework web part that we've built to allow you to make these requests, whether you're requesting a Team or a site.
Inside your system, you may have multiple divisions and that may drive what templates are available for people to choose depending on what division they work with. That could also be used as part of your approvals process to designate who's the approver for this division or for this template that's been chosen.
Out of the box, EUM Open Source doesn't have that complexity built-in, but using Logic Apps as our workflow engine, makes it really easy to build those sorts of rules in and add that complexity where it needs to be.
You can decide to not use the division concept, to only have one template to always have it be a public group and always want to create a Team. If that’s the case, just take the other choices away. You can go the other way as well. You can add more fields to this form. If you've got things that you want to capture, maybe for other line of business systems that are becoming part of this process or just tracking information that you want to track from a metadata point of view against your projects, you can extend this form very easily.
You don't need to be a developer to do that, it's all based off of content types and SharePoint. Just add more columns to the content type and the form magically updates itself, adding those fields to it. It's easy to add your customization.
Every time that you create a Team, you get a SharePoint site underneath as part of that. We’ve created a site list web part that lets you discover those sites. And this, too, is included as part of the open-source solution.
Both the SharePoint framework of parts, the scripts and everything else you need to template and provision in Teams is all freely available for you to use. And the nice thing is they're called SharePoint framework web parts, but they don't have to just be used in SharePoint. You can use them in Teams as well.
EUM Open-Source Solution Overview
- SharePoint list is used to track existing sites and new site requests
- SPFx webpart form used to enter requests
- Microsoft Flow is triggered when new requests are added
- Azure Automation is used to run the PowerShell scripts and create the SharePoint site, Microsoft Team, and wire everything together
As the solution is open source, there are no annual costs associated in licensing the Teams Provisioning solution. With this open-source model, we work collaboratively with clients to extend the solution and then bake the extensions back into the open-source project which provides value to everyone.
If you need assistance, Extranet User Manager products are part of Envision IT which has a long history of providing consulting and custom development services to M365 customers. We can help you implement both Microsoft Teams and the open-source Teams Provisioning solution and customize it to fit the needs of your organization.
Interested in learning more about the EUM Open Source? To see the solution in action, check out our on-demand webinar. Or, if you’re ready to jump in, you can go straight to the GitHub Project to get started.
ᶦ Business of Apps, “Microsoft Teams Revenue and Usage Statistics (2020).” https://www.businessofapps.com/data/microsoft-teams-statistics/
ᶦᶦ Jumpto365, “An Everyday Guide to Microsoft Office 365 Groups.”