Teams Templates - OfficeDev/microsoft-teams-apps-requestateam GitHub Wiki
Introduction
With the latest release, Request-a-team now officially supports the creation of Teams based on templates defined in the Admin Center. The Admin Center templates power the native 'out of the box' Teams Templates functionality.
In addition to the support of Admin Center based templates, Request-a-team still supports 'cloning' teams by defining these as a template.
Please read on for more details on how you can configure this functionality.
Note - The ability to create Teams from Admin Center templates is technically available in the previous release of the Request-a-team but the set up process is different and so are the backend API calls. The newer version allows the use of an updated Graph endpoint which will support the naming conventions functionality on our roadmap - Naming Conventions - Single.
If you are using a previous version (a good way to identify this is to check if the list of fields below matches your Teams Templates list), please skip to the 'Previous version' section of this page.
Templates created in the Admin Center can take up to 24 hours to be fully available in the Microsoft Graph so please wait before using them.
IMPORTANT - Graph API Endpoints used:
The creation of Teams from Admin Center defined templates uses the Beta endpoint of the Graph API. A group is created first using the v1.0 endpoint and then a team is added from the specified template. See Graph API Reference - Create team (Example 4).
Cloning teams uses the v1.0 endpoints.
Teams Templates list
The Teams Templates list (which can be found in the SharePoint site backing the Request-a-team solution), defines a set of templates that users can choose when they make a request for a Team from a template.
This list contains 'out of the box' Microsoft provided templates when the solution is first deployed. These list items can be deleted if you do not wish to use these templates.
The Teams Templates list contains the following fields:
- Title - Title of the template
- Description - Description of the template
- Template id - ID of the template
- Team Id - ID of a Team (Group ID) that you wish to designate as a template
- Admin Center Template - Identifies if the template has been created in the Admin Center
Please see the steps below for details on how to define your own templates.
Admin Center Templates
At the moment, templates defined in the Admin Center must also be added to the SharePoint list. This is because we have no way of retrieving the templates from the Admin Center dynamically at the moment. This is coming to the Graph API in Q1/Q2 2021 and adding support for this is on the roadmap.
Step 1: Define the Template in the Admin Center
- Navigate to the Teams Admin Center.
- Select 'Team templates' from the left hand menu (under 'Teams').
- Click the '+Add' button to create a new template.
- Choose whether to create a brand new template, use an existing team or start with an existing template.
- Fill out the details and click 'Next' (Note - only English (United States) is supported with Request-a-team at the moment)
- Create channels and configure apps for the template and click 'Submit'.
- Once created, click on the template and copy the 'Template ID' value.
Step 2: Add the template to the Request-a-team templates list
_Note - After the above steps have been completed please WAIT 24 hours before adding the template to the SharePoint list. Failure to wait 24 hours means provisioning may fail and if the template is added to the list then users of Request-a-team can use it. _
- Navigate to the SharePoint site used by Request-a-team.
- Open the 'Teams Templates' list.
- Create a new list item with the following values:
- Title - Title of the template you created in the Admin Center - this is the title the users will see when they pick from the list of templates
- Description - A description for the template e.g. the long description specified when creating the template
- Template Id - The Id for the template which you copied earlier
- Team Id - Leave blank
- Admin Center Template - Yes
Your template is now ready for use - make sure you refresh/reload the Request-a-team Power App if you have it open. When a user requests a team from the new template it will be created with the predefined content you configured in the Admin Center.
Please note - Changes to templates in the Admin Center will not change Teams that have been previously created from the template.
Cloning Teams
In addition to being able to create teams from Admin Center templates, Request-a-team offers the ability to clone existing teams. This option has always existed in Request-a-team and is being retained as this may still be in use by people that are using the solution.
The cloning team functionality uses v1.0 of the Microsoft Graph, specifically Clone a team so may be preferable to the other form of templating in a Production environment.
When the team is being cloned it is given the new Name, Description etc. that the user specifies when requesting the team. All original owners and members of the source team are removed and replaced with those that the user requested.
This option also offers additional functionality over Admin Center templates including being able to clone tabs and channels.
To use this functionality - follow the steps below.
Step 1: Create a Team to use as a template
- Create a team using the 'out of the box' functionality of Microsoft Teams.
- Populate the team as you would like it - Channels, Apps, Tabs etc. (This is the content that will be cloned and set up as a new team).
- Copy the Group Id for the team. You can get the Group Id from the URL that is generated when you click 'Get link to team'.
Step 2: Add the template to the Request-a-team templates list
- Navigate to the SharePoint site used by Request-a-team.
- Open the 'Teams Templates' list.
- Create a new list item with the following values:
- Title - Title for the template - this is the title the users will see when they pick from the list of templates
- Description - A description for the template
- Template Id - Leave blank
- Team Id - Paste the Group Id you copied earlier
- Admin Center Template - No
Your template is now ready for use. When a user raises a request which is approved, the team will be cloned and set up as a new team.
Previous versions of Request-a-team
If you are using a previous version of Request-a-team and wish to use the Admin Center templates, please follow the steps below:
Step 1: Define the Template in the Admin Center
- Navigate to the Teams Admin Center.
- Select 'Team templates' from the left hand menu (under 'Teams').
- Click the '+Add' button to create a new template.
- Choose whether to create a brand new template, use an existing team or start with an existing template.
- Fill out the details and click 'Next' (Note - only English (United States) is supported with Request-a-team at the moment)
- Create channels and configure apps for the template and click 'Submit'.
- Once created, click on the template and copy the 'Template ID' value.
Step 2: Add the template to the Request-a-team templates list
_Note - After the above steps have been completed please WAIT 24 hours before adding the template to the SharePoint list. Failure to wait 24 hours means provisioning may fail and if the template is added to the list then users of Request-a-team can use it. _
- Navigate to the SharePoint site used by Request-a-team.
- Open the 'Teams Templates' list.
- Create a new list item with the following values:
- Title - Title of the template you created in the Admin Center (does not have to match)
- Description - A description for the template e.g. the long description specified when creating the template
- Base Template Id - The Id for the template which you copied earlier
- Base Template Type - Leave blank
- Team Id - Leave blank
- First Party Template - Yes
The template should now be ready for use.
We do recommend upgrading to the latest version if possible as this will be a prerequisite for the upcoming Naming Conventions functionality - Naming Conventions - Single.