Episode #120 – Microsoft Teams Templates

Here you can find the transcript of Episode #120 of PiaSys TechBites.

Welcome back to PiaSys Tech Bites. Today, I want to talk with you about the Microsoft Teams Templates. In fact, Microsoft recently introduced the capability to create a new Microsoft Team based on a template. The template basically defines some general information about the team that will be created, what will be the channels created in the team, and what will be the apps activated in the target team.

The team template can be an out-of-the-box one provided by Microsoft or it can be a custom one configured by an admin in the Teams administration UI. Moreover, you can also use Microsoft Graph to create new teams programmatically still based on out-of-the-box or custom templates stored at tenant level.

So let’s move to the demo environment and let’s see how to use in practice this new functionality. So let’s start having a look at the UI of Microsoft Teams whenever we use a team template. From an end-user perspective, you click on the join or create a team. You choose to create a new team. And here, you can see you have the select from a template section, which is a new one through which you can choose any of the already defined templates at tenant level. And those can be the out-of-the-box templates provided by Microsoft or your custom templates that you defined at tenant level.

So where can you do that? If you go to the admin center of Microsoft 365 and you click on teams, you will go to the teams admin center. And here in the team section, you can find the team templates configuration page. From this page, you can see the list of out-of-the-box team templates as well as you can create or edit a template of your own.

So, for example, if you want to create a new template, you simply need to click on the add button right here. You can create a new template from scratch starting from a blank template. You can use an existing team that you already defined or that you want to copy as the template for new teams that you will create. Or you can start from an already existing template just to customize the settings of something that is already defined in the list of tenant level teams templates.

If you start from scratch from a blank one, you click on next, you will have to provide the name. So PiaSys Tech Bites Demo, for example, this will be the name of my template. I can provide a short and a long description, and for the sake of simplicity, I will use exactly the same text. And you can choose the default locale for the team that will be created. Then you click on next step and you can configure the channels and the apps that you want to have in the target teams that will be created based on this template.

The general channel would be always there. And we can add, for example, another channel, which can be, for example, Random Topics, let’s say, and this will be one channel that we will create. And we can create, for example, Vacation Requests channel, and so on and so forth as well as you can add apps to the template. So it can be, for example, the Trello app, why not, or whatever else you like in the list of apps available for teams. Once you’re done, you click on submit and your template will be defined and created as you can see.

And if I will go back, in a matter of few minutes by refreshing this page and by creating a new team, I will be able to select to choose my custom team template, as you can see. It will be a background process so the team will be created in background. Let me try to use this one. So it’s a bit too early, so we need to wait a little bit more. Let me use the other one that I already created before. This one is available. I have three channels in my PiaSys Demo template as well as the Trello app.

Click on start. It will be public or private, up to me. Let’s make it public, for example. I will provide a name, My Custom Team and that’s it, it will be created. It will take a while because as I told you, it is a background process. And pretty soon, we will see a dialogue that will let us know that the process is running in the background. Here, you can see, creating the team. Feel free to close this window and go to other things. We’ll let you know when it’s created, and you will get an alert as soon as the team will be completely provisioned for you.

And that’s it, really simple from an end user and from an admin perspective. But we also want to have a developer point of view. So, under the Microsoft Graph API, we have in the teamwork section, the create team action that we can use. We simply need to make a post to the collection of teams and we have to provide the JSON definition of a team that we want to create. And right here, we have the bind to the template that we want to use to create that team. As you can see, the default one is standard. So I can go to Graph Explorer and I can make a post to Teams and create a new team based on the standard template.

Actually, if we go to the collection of team template that we have at tenant level and we choose any of the already defined templates, like for example, this one, you can see right here that we have a template ID property, this one, which is a string for the out-of-the-box ones and which is a global unique identifier for the ones that we created by ourselves. So, here we can simply copy this value.

We can go to the Microsoft Graph and we can say, okay, please create a new team based on this template. Call it My Tech Bites team and let’s go, run this request. It will take a while. And now, we got an Accepted 202. And if I go back to my team UI, we can see that I have my Tech Bites Team, which is pending creation. It is already created and the provisioning engine of the teams template, the engine is now creating all of the stuff defined in my team template. And in a matter of few seconds or minutes, I will have my team fully created based on my custom template.

Like always, thank you for watching this video. I hope you found it interesting. And I’m really looking forward to seeing you next week. And remember to subscribe to this channel. Thank you.