Integrations / Messaging

Microsoft Teams

List teams and channels, read channel messages, and post messages and replies in Microsoft Teams channels through Microsoft Graph, and trigger workflows from new channel messages.

7 tools 3 trigger events Connect with OAuth

Tools

microsoft_teams.list_joined_teams

List the teams the connected user is a member of; team IDs are GUIDs like fbe2bf47-16c8-47cf-b4a5-4b9b187c508b.

microsoft_teams.list_channels

List a team's channels; channel IDs look like 19:4a95f7d8db4c4e7fae857bcebe0623e6@thread.tacv2.

team_id*

microsoft_teams.list_channel_messages

List a channel's top-level messages without their replies; message IDs look like 1616965872395.

team_id*channel_id*top

microsoft_teams.post_channel_message writes

Post a new message in a channel as the connected user.

team_id*channel_id*content*content_typesubject

microsoft_teams.reply_to_message writes

Reply in the thread of a channel message as the connected user.

team_id*channel_id*message_id*content*content_type

microsoft_teams.api_get

Send a GET request to any Microsoft Teams API path under https://graph.microsoft.com/v1.0 and return the response. For endpoints the named tools don't cover.

path*params

microsoft_teams.api_request writes

Send a POST, PUT, PATCH or DELETE request to any Microsoft Teams API path under https://graph.microsoft.com/v1.0.

method*path*paramsbody

Tick Allow raw writes on the connection to add api_request, which can send POST, PUT, PATCH and DELETE requests to any Microsoft Teams API path.

Connect

  1. In the Microsoft Entra admin center, open App registrations → New registration, choose who can sign in (Teams needs a work or school account; personal Microsoft accounts aren't supported), and add a Web redirect URI with the redirect URL shown on the connection page (https://<this app>/oauth/callback).
  2. Under Certificates & secrets, create a client secret and copy its Value.
  3. Under API permissions, add the Microsoft Graph delegated permissions offline_access, User.Read, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send and ChannelMessage.Read.All.
  4. ChannelMessage.Read.All (reading channel messages) needs admin consent: an administrator of the organization must use Grant admin consent on the API permissions page before anyone can connect. The other permissions don't need admin consent, though an organization's policy can still require it.
  5. Paste the Application (client) ID and the client secret on the connection, set the tenant if you like, save, and use Connect to sign in with Microsoft.

Press Connect on the connection to approve access at Microsoft Teams. Tokens renew automatically. How OAuth connections work

Credentials

Client secret

Microsoft Teams API docs

Triggers

Set the team and channel to watch, tick Watch channel messages and save. Murmurator subscribes through Microsoft Graph with this URL and renews the subscription every couple of days. Notifications carry the message's ID in resourceData.id and its path in resource, not its text: read it with list_channel_messages.

Events

createdupdateddeleted
trigger
kind: microsoft_teams connection: microsoft_teams events: [created] watch: [...]

Your next automation is one sentence away.

14-day free trial with $5 of built-in AI included. Cancel anytime.