Team.Create
Allows the app to create teams without a signed-in user.
Permission Details
Create teams
Allows the app to create teams without a signed-in user.
23fc2474-f741-46ce-8465-674744c5c361
Create teams
Allows the app to create teams on behalf of the signed-in user.
7825d5d6-6049-4ce7-bdf6-3b8d53f4bcd0
Properties
Properties is shown from stable Microsoft Graph v1.0 metadata.
| Property | Type | Description |
|---|---|---|
id |
string |
The unique identifier of the team. The group has the same ID as the team. This property is read-only, and is inherited from the base entity type. |
classification |
stringNullable |
An optional label. Typically describes the data or business sensitivity of the team. Must match one of a preconfigured set in the tenant's directory. |
classSettings |
teamClassSettings |
Configure settings of a class. Available only when the team represents a class. |
createdDateTime |
dateTimeOffsetNullable |
Timestamp at which the team was created. |
description |
stringNullable |
An optional description for the team. Maximum length: 1,024 characters. |
displayName |
stringNullable |
The name of the team. |
firstChannelName |
StringNullable |
The name of the first channel in the team. This is an optional property, only used during team creation and isn't returned in methods to get and list teams. |
funSettings |
teamFunSettings |
Settings to configure use of Giphy, memes, and stickers in the team. |
guestSettings |
teamGuestSettings |
Settings to configure whether guests can create, update, or delete channels in the team. |
internalId |
stringNullable |
A unique ID for the team that was used in a few places such as the audit log/Office 365 Management Activity API. |
isArchived |
BooleanNullable |
Whether this team is in read-only mode. |
memberSettings |
teamMemberSettings |
Settings to configure whether members can perform certain actions, for example, create channels and add bots, in the team. |
messagingSettings |
teamMessagingSettings |
Settings to configure messaging and mentions in the team. |
specialization |
teamSpecialization |
Optional. Indicates whether the team is intended for a particular use case. Each team specialization has access to unique behaviors and experiences targeted to its use case. |
summary |
teamSummary |
Contains summary information about the team, including number of owners, members, and guests. |
Showing 15 of 32 properties.
JSON Representation
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"classSettings": {
"@odata.type": "microsoft.graph.teamClassSettings"
},
"classification": "String",
"createdDateTime": "DateTimeOffset",
"description": "String",
"displayName": "String",
"firstChannelName": "String",
"funSettings": {
"@odata.type": "microsoft.graph.teamFunSettings"
},
"guestSettings": {
"@odata.type": "microsoft.graph.teamGuestSettings"
},
"internalId": "String",
"isArchived": "Boolean",
"memberSettings": {
"@odata.type": "microsoft.graph.teamMemberSettings"
},
"messagingSettings": {
"@odata.type": "microsoft.graph.teamMessagingSettings"
},
"specialization": "String",
"tenantId": "String",
"visibility": "String",
"webUrl": "String (URL)"
}
Relationships
Relationships is shown from stable Microsoft Graph v1.0 metadata.
| Relationship | Type | Description |
|---|---|---|
allChannels |
channel collection |
List of channels either hosted in or shared with the team (incoming channels). |
channels |
channel collection |
The collection of channels and messages associated with the team. |
incomingChannels |
channel collection |
List of channels shared with the team. |
installedApps |
teamsAppInstallation collection |
The apps installed in this team. |
members |
conversationMember collection |
Members and owners of the team. |
operations |
teamsAsyncOperation collection |
The async operations that ran or are running on this team. |
photo |
profilePhoto |
The profile photo for the team. |
primaryChannel |
channel |
The general channel for the team. |
schedule |
schedule |
The schedule of shifts for this team. |
tags |
teamworkTag collection |
The tags associated with the team. |
template |
teamsTemplate |
The template this team was created from. See available templates. |
permissionGrants |
resourceSpecificPermissionGrant collection |
A collection of permissions granted to apps to access the team. |
owners |
user collection |
The list of this team's owners. Currently, when creating a team using application permissions, exactly one owner must be specified. When using user-delegated permissions, no owner can be specified (the current user is the owner). The owner must be specified as an object ID (GUID), not a UPN. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
POST
/teams
|
POST
/teams/{id}/clone
|
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
POST
/teams
|
POST
/teams/{id}/clone
|
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Team
{
DisplayName = "My Sample Team",
Description = "My sample team’s description",
FirstChannelName = "My first channel of the sample team",
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/v1.0/teamsTemplates('standard')"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams.PostAsync(requestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const team = {
'[email protected]': 'https://graph.microsoft.com/v1.0/teamsTemplates(\'standard\')',
displayName: 'My Sample Team',
description: 'My sample team’s description',
firstChannelName: 'My first channel of the sample team',
};
await client.api('/teams')
.post(team);
Import-Module Microsoft.Graph.Teams
$params = @{
"[email protected]" = "https://graph.microsoft.com/v1.0/teamsTemplates('standard')"
displayName = "My Sample Team"
description = "My sample team’s description"
firstChannelName = "My first channel of the sample team"
}
New-MgTeam -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.team import Team
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Team(
display_name = "My Sample Team",
description = "My sample team’s description",
first_channel_name = "My first channel of the sample team",
additional_data = {
"template@odata_bind" : "https://graph.microsoft.com/v1.0/teamsTemplates('standard')",
}
)
result = await graph_client.teams.post(request_body)
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for Team.Create
Grant Admin Consent
Application permissions always require admin consent.