How to use new Team Templates and how to do custom team provisioning using them as the team template

The long awaited Team Templates are starting to appear in tenants around the world. Some get it sooner and some have to wait: don’t worry they will come. When they are available the Create a team function on Teams will look somewhat different. Let me first walk you through the end user experience before going to custom provisioning.

If you want only the custom part –> scroll over end user sections!

Ok – let’s start a team creation and choose Manage an Event

In the next screen you can see what are template’s contents.

Then is it public or private

Name and Description..

And that’s it. You team is being created. This will take a while and it will eventually create the team with channels and add applications.

More interesting part is the Teams Admin Center where is a section for Team templates.

If you want only the custom provisioning part –> scroll over admin center sections!

If you click + Add you can start creating your own templates.

You can create a template out of thin air, from a team or use existing template as a starting point. Then you will add template description and locale. Locale is used to track the language the template is authored in. Let’s go forward:

This is the heart and soul of the team template definition. You can add channels and include tabs (applications) to channels as well as add applications to the team.

I encourage you to go and test these templates our in a test/demo/trial environment so you know how they work before doing changes in your production tenant.

Templates in practice

If you want only the custom provisioning part –> keep on scrolling!

When a team is created with templates I have found couple of things already

  • Creation from a template is slow. While you can access team quite early in time it is still taking several – ten – twenty minutes until the team is completely created.
  • Wikis are added to all channels
  • Application tabs don’t have any content: just the name and app. You have to set them by yourself

This also includes tabs like websites. So Team templates are a structure that can be reused and configured easily. Don’t expect them to be the full provisioning solution. They are a bit like creating a new team based on the existing team.

How to use Team templates in custom provisioning

Finally I reach the point why I started to write this blog post! (otherwise this would have been a short article 🤣) .

When I first learned about Teams Templates I was of course curious how they will work with custom provisioning. And today I found out how they can be used. When you think that the key would be the new Power Automate Create a team action…

then you find out that it isn’t. At least not yet since it is missing the template section.

No- we can’t use that action. ❌

TEAMS GRAPH API to the rescue! Of course we are using Graph API and it’s Create Team call!

Looking the call we can see teamsTemplates(‘standard’) section. Now it is just the matter of finding the template ID. Open Teams Admin Center and open the template by clicking it’s name.

And from the template we can find the TemplateID! Yes – it is that simple!

For example in my Power Virtual Agent I ask from the user to choose the team type and then switch it to templateID variable in a Flow.

After that it is just about calling the Graph API using HTTP action. Yes, this one requires premium licensing.

Yes – it is this simple to start really utilizing those templates! What I really like them is that you can use Teams Admin center to centrally define structure of those teams (channels and apps) to make sure teams get created with the right components. Previously this required the use of SharePoint list or CDS or some other data source to create template definitions. Now there is an UI for that.

Make sure you add ‘some’ waits before doing post-creation-processing like removal of wikis and adding welcome message & team members. But even without those these templates give a good start to boost up custom provisioning without having to define team structures fully in Graph API calls..

Of course if you want to add specific channels and tabs that contain info you can do it in the Graph API call or afterwards by adding channels, even private ones, to these teams.

6 thoughts on “How to use new Team Templates and how to do custom team provisioning using them as the team template

  1. Hi Vesa,
    thank you for sharing. I can see template in admin portal and I can also add a custom one, but in the Teams client I can’t see anyone of this template. Is the anything I could do? Or this happens just because the roll out is not finished?

    Thank you for your help!


    1. Thank you for liking the post! ☺️
      It is as you suspected: the feature (templates) is still rolling out. You can only wait for them to appear to users. Most likely you could use them in custom provisioning already if you create new teams via Graph API.
      But for the end users part: it is just waiting. Sometimes sign out and back in on Teams app helps too.


  2. Hi Vesa,

    thank you for sharing! Do you have a complete overview of the flow that you created? I’m missing some parts to complete it. Having a reference might make it easier.

    Best regards,


    1. You need to create a Azure App Registration first and give it required permissions to create a team.
      From the app registration you need Application ID, Application Secret and tenant id.
      When calling that Create a new team set
      – Authentication to Active Directory OAuth
      – Tenant: TenantId
      – Audience:
      – Client ID: Application ID
      – Credential Type: Secret
      – Secret: Application secret

      The Docs article about Create Team describes required permissions for the App Registration:

      I suggest you start with a small test and get a basic team creation working when using Power Automate + Graph API.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.