How to Create Teams Templates that includes all memberships and privacy settings and tabs

Super Contributor

We are now starting to setup each new project we have at our company as a Team.  Each project is setup the same initially with the same channels, same base memberships (we allow 3 departments to access every project).  Once created the individual project members are added.


If I create a Team with all of groups added to the membership of the Team, since each channel is also private (they have to be as we need to be able to omit people from channels so you have to set every one up as private), I cannot re-add the GROUPS.  I have to manually add 15 people one at a time, then repeat for the other 4 channels.  


Then if I create a template from this Team it completely ignores the privacy on the channels and are unable to use them as it sets each channel as public and we can't change it.  It also ignores the memberships to the Team and the channels.


I would think after all of this time there would be an easier way to either Copy or create a Team the way we want them to be.  Works great in SharePoint, however, Microsoft is pushing teams.  

Templates also ignore all of the custom tabs I've created too.


Can this be done with powershell?  Microsoft support was of no help at all.  


3 Replies

Hi there, see this table of what's included and not (today at least)


And let me just add to be clear that private channels are currently not supported using templates.

Literally everything we need is not yet supported. Can these settings be done via Powershell? Can a channel's privacy setting be changed via Powershell too?

Basically it will take the same amount of time to create a new Team from scratch than it would from a template so really defeats the whole purpose of having templates.
Sounds a bit harsh don't you think? Yes. You can use Graph for Teams or Teams PowerShell module to manage private channels (but you cannot convert a standard channel to a private channel). How about using a template for what's supported and then do a separate job for the private channels.