Skip to main content

Microsoft Teams

📋

Microsoft Teams

Manage teams, channels, chats, and messages via Microsoft Graph API

The Microsoft Teams node integrates with Microsoft Teams through the Microsoft Graph API v1.0. You can manage team channels, send messages to channels and chats, query team membership, and retrieve conversation history.

Common uses include:

  • Incident notifications and war room channel creation.
  • Deployment status updates to team channels.
  • Approval workflows with direct messages.
  • Audit and reporting on channel activity.

Before You Use This Node​

What you needWhere to set it upWhy it matters
Microsoft Teams connectionConnectionsProvides OAuth 2.0 credentials for Graph API access.
Team IDs, channel IDsGlobal VariablesAvoid hardcoding IDs — store them as variables and reference with expressions.

Connection​

Requires a Microsoft Teams connection in the Global Configurator. Supports two grant types:

Grant TypeWhen to Use
client_credentials (app-only)Service-to-service automation with no user context
password (delegated)Workflows that act on behalf of a specific user

Connection fields:

FieldRequiredDescription
tenantIdYesAzure AD tenant ID
clientIdYesApplication (client) ID from Azure AD app registration
clientSecretYesClient secret value
usernameFor delegatedUser principal name (e.g., user@contoso.com)
passwordFor delegatedUser password
grantTypeNoclient_credentials or password. Auto-detected if omitted

Required Graph API permissions: Team.ReadBasic.All, Channel.ReadBasic.All, Channel.Create, Channel.Delete.All, ChannelMessage.Read.All, ChannelMessage.Send, Chat.ReadWrite, User.Read

Actions​

ActionDescription
teams:createChannelCreate a new channel in a team
teams:deleteChannelDelete a channel from a team
teams:getChannelGet details of a specific channel
teams:updateChannelUpdate a channel's name or description
teams:listChannelsList all channels in a team
teams:getChannelMessagesRetrieve messages from a channel
teams:sendMessageToChannelPost a message to a channel
teams:listChatsList the authenticated user's chats
teams:getChatMessageRetrieve a specific chat message
teams:sendOneToOneMessageSend a direct message in a chat
teams:listMyTeamsList teams the current user belongs to
teams:whoamiIdentify the authenticated user or app

Channel Operations​

teams:createChannel​

Creates a new channel within a team.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringYesThe ID of the team
displayNamestringYesDisplay name for the new channel
descriptionstringNoChannel description
membershipTypestringNostandard or private. Defaults to standard

teams:deleteChannel​

Deletes a channel from a team. This action is irreversible.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringYesThe ID of the team
channelIdstringYesThe ID of the channel to delete

teams:getChannel​

Retrieves details of a specific channel.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringNoThe ID of the team
channelIdstringYesThe ID of the channel

teams:updateChannel​

Updates a channel's display name, description, or both. At least one of displayName or description must be provided.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringNoThe ID of the team
channelIdstringYesThe ID of the channel to update
displayNamestringNoNew display name
descriptionstringNoNew description

teams:listChannels​

Lists all channels in a team.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringYesThe ID of the team

Message Operations​

teams:getChannelMessages​

Retrieves messages from a channel.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringYesThe ID of the team
channelIdstringYesThe ID of the channel

teams:sendMessageToChannel​

Posts a message to a Teams channel. Supports plain text and HTML content.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
teamIdstringYesThe ID of the team
channelIdstringYesThe ID of the channel
bodystringYesContent type — select from dropdown
contentstringYesMessage content (plain text or HTML)

teams:getChatMessage​

Retrieves a specific message from a chat, or all messages if no message ID is provided.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
chatIdstringYesThe ID of the chat
messageIdstringNoSpecific message ID. If omitted, returns all messages

teams:sendOneToOneMessage​

Sends a direct message in an existing chat conversation.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference
chatIdstringYesThe ID of the chat
bodystringYesContent type
contentstringYesMessage content

Team & Identity Operations​

teams:listMyTeams​

Lists all teams the current user belongs to. Uses delegated authentication.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference

teams:listChats​

Lists the authenticated user's recent chats with participant details.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference

teams:whoami​

Returns identity information about the authenticated user or service principal. Auto-detects delegated vs app-only auth from the connection.

Parameters

ParameterTypeRequiredDescription
connectionIdstringYesMicrosoft Teams connection reference

Error Handling​

Error TypeCauseRetryable
VALIDATION_ERRORMissing or invalid required parametersNo
NOTFOUND_ERRORConnection ID not found in Global ConfiguratorNo
GENERAL_ERRORUnexpected exception from Graph API or networkYes, if transient

Transient errors (timeouts, connection resets, TLS failures) are automatically retryable with retry strategies.

Output​

All actions return JSON results. Response keys from the Graph API are sanitized — dots (.) become underscores (_) and @ symbols are removed — so downstream steps can reference any field without issues.