Microsoft Teams

Use this Node to discover Microsoft Teams teams and channels, list root channel messages, and post root channel messages through Microsoft Graph.

Revision History

0.0.0.1 - Initial release with delegated Microsoft Graph support for listing teams, listing channels, listing channel messages, and posting root channel messages.
0.0.0.2 - Updated the help content and aligned tenant-default and request-validation behavior with the verified Teams implementation.
0.0.0.3 - Clarified root-message-only list behavior, documented zero-row list results, and aligned list failures with normalized error rows.
0.0.0.4 - Refreshed the customer help article and aligned the published version with the current Teams node package.

Connection

This Connection stores delegated Microsoft Graph OAuth settings and optional default team and channel selectors that methods can use when you omit explicit IDs or display names.

Property Type Description
Tenant ID String Microsoft Entra tenant identifier. Use common for delegated sign-in across work or school tenants.
Client ID String Application (client) identifier from the Microsoft Entra app registration.
Client Secret Masked Application secret used for delegated token exchange and refresh.
Default Team ID String Optional Microsoft Teams team identifier used when no TeamID is supplied.
Default Team Display Name String Optional exact team display name used when TeamID is omitted.
Default Channel ID String Optional channel identifier used when no ChannelID is supplied.
Default Channel Display Name String Optional exact channel display name used when ChannelID is omitted.
Scopes String Delegated Microsoft Graph scopes requested for Teams operations.
Access Token Masked Delegated OAuth access token returned by Microsoft Graph.
Refresh Token Masked Delegated OAuth refresh token returned by Microsoft Graph.

Setup Notes

  • Configure a Microsoft Entra app registration for delegated Microsoft Graph access.
  • Client ID and Client Secret are required. If you leave Tenant ID blank, the Node uses common.
  • If you leave Scopes blank, the Node uses openid profile offline_access Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Read.All ChannelMessage.Send.
  • Configure default team or channel values on the Connection if you want templates and method calls to prefill selectors.
  • The Connection test validates delegated access by acquiring a token and listing joined teams.

Methods

These methods help you discover teams and channels, list root channel messages, and post root channel messages.

ListTeams

Lists the Microsoft Teams teams joined by the authenticated user.

Parameter Type Description
Connection Connection Microsoft Teams connection details including delegated Microsoft Graph authentication.
Return Type Description
Teams Array Joined team rows with provider details such as id, displayName, description, isArchived, tenantId, and raw.

ListChannels

Lists channels for a team selected by ID, exact display name, or the Connection default.

Parameter Type Description
Connection Connection Microsoft Teams connection details including delegated Microsoft Graph authentication.
TeamID String Team identifier. Preferred when known. Uses the Connection default team when omitted.
TeamDisplayName String Exact team display name used when TeamID is not supplied.
Return Type Description
Channels Array Channel rows with fields such as id, displayName, description, membershipType, createdDateTime, isArchived, teamId, and raw.

ListChannelMessages

Lists root messages for a channel selected by ID, exact display name, or the Connection default.

Parameter Type Description
Connection Connection Microsoft Teams connection details including delegated Microsoft Graph authentication.
ChannelID String Channel identifier. Preferred when known. Uses the Connection default channel when omitted.
ChannelDisplayName String Exact channel display name used when ChannelID is not supplied.
TeamID String Team identifier that owns the target channel. Uses the Connection default team when omitted.
TeamDisplayName String Exact team display name used when TeamID is not supplied.
Return Type Description
Messages Array Root channel messages with fields such as id, replyToId, messageType, subject, summary, importance, createdDateTime, lastModifiedDateTime, deletedDateTime, bodyContentType, bodyContent, from, body, attachments, mentions, reactions, channelIdentity, teamId, channelId, and raw.

PostChannelMessage

Posts one new root message to a Microsoft Teams channel selected by ID, exact display name, or the Connection default.

Parameter Type Description
Connection Connection Microsoft Teams connection details including delegated Microsoft Graph authentication.
MessageContent String Message content to send. Use HTML when ContentType is html, or plain text when ContentType is text.
ContentType String Microsoft Graph message body content type, typically html or text.
ChannelID String Channel identifier. Preferred when known. Uses the Connection default channel when omitted.
ChannelDisplayName String Exact channel display name used when ChannelID is not supplied.
TeamID String Team identifier that owns the target channel. Uses the Connection default team when omitted.
TeamDisplayName String Exact team display name used when TeamID is not supplied.
Return Type Description
Message Object The created root channel message with fields such as id, replyToId, messageType, subject, summary, importance, createdDateTime, lastModifiedDateTime, deletedDateTime, bodyContentType, bodyContent, from, body, attachments, mentions, reactions, channelIdentity, teamId, channelId, and raw.

Usage Notes

  • List methods follow Microsoft Graph paging automatically, so you do not need to pass page numbers or continuation tokens into the Workflow.
  • If a list method returns no matching Graph items, the Workflow receives zero rows. If a request fails, the method returns one normalized error row with status, statusMessage, and errorMessage.
  • Team and channel name selectors rely on exact display-name matches. If duplicate names are possible in your tenant, use ID-based selectors instead.
  • PostChannelMessage requires both MessageContent and ContentType.
  • The Node preserves the original Microsoft Graph payload under raw so you can inspect provider-specific fields when a Workflow needs more than the normalized top-level contract.

Known Issues

  • ListChannelMessages returns root channel messages only. It does not return replies.
  • PostChannelMessage posts root channel messages only. It does not post replies.