Microsoft Teams v2

Provides integration with Microsoft Teams, a collaboration platform used for team-based chat, channels, meetings, and shared communication across Microsoft 365 workspaces.

The Flowgear Microsoft Teams Node lets you discover joined teams and channels, read root channel messages, and post new root messages through Microsoft Graph when a Workflow needs to monitor or participate in Teams conversations.

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 - Aligned tenant-default and request-validation behavior.
0.0.0.3 - Clarified root-message-only list behavior and documented zero-row list results.
0.0.0.4 - Maintenance release.
0.0.0.5 - Maintenance release.
0.1.0.0 - Added eager startup and lazy continuation for list invokes.
0.1.0.2 - Renamed the TeamID and ChannelID parameters and template keys to TeamId and ChannelId.

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

  • The Microsoft Teams Node is available on Cloud Runtime clusters.
  • Create a Microsoft Entra registered application for delegated Microsoft Graph access.
  • The Microsoft Graph Teams APIs used by this Node require a Microsoft 365 work or school account. Personal Microsoft accounts are not supported.
  • 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.
  • Complete the OAuth sign-in to populate Access Token and Refresh Token, then test the Connection.
  • 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. Query rows do not include mutation-style default fields.

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. Query rows do not include mutation-style default fields.

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. Query rows do not include mutation-style default fields.

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. Defaults to html.
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, raw, and Flowgear. Flowgear contains the default mutation metadata fields IsSuccess and Message.

Usage Notes

  • List methods retrieve their first Microsoft Graph page while the Node invoke is awaited. They follow @odata.nextLink only as the Workflow consumes later rows, 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 the first provider call for a list method fails, that provider error surfaces to the Workflow instead of being normalized into an error row.
  • 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.
  • Mutation responses use the Flowgear object for default success and failure metadata. If PostChannelMessage fails, the returned Message contains only the Flowgear object, with IsSuccess set to false and Message set to the Microsoft Graph error code when one is available.
  • 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.