Microsoft Teams
Microsoft Teams is Microsoft 365's chat and meetings app: teams with channels, plus one-on-one and group chats, and the online meetings behind them.
Authentication
- App-only (client credentials)
- Bot app ID and client secret
- Signed-in user (OAuth 2.0)
Actions
Generic API request. Call any Bot Connector endpoint as the bot - another conversation or team call - for the case where no shipped action covers it yet. Paths are relative to the connection's service URL, so a path reads v3/conversations/{conversationId}/activities.
- Add team memberAdd a person to a team, as a basic member or as an owner.
- Create 1:1 chatOpen the bot's 1:1 chat with a person, or get the one that already exists, to send them a message or an approval card with Send message.
- Create channelCreate a standard channel in a team — one everyone in the team sees.
- Create chatStart a one-on-one or group chat.
- Create online meetingCreate a standalone Teams meeting organized by the signed-in user and get its join link — for dropping a meeting link into a message, a ticket or an email.
- Delete messageDestructiveDelete a message the bot sent.
- Download meeting recordingDownload a meeting recording's video.
- Find online meetingFind a Teams meeting from its join link (or the numeric meeting id people dial in with) and get its meeting id - the id every transcript, recording, attendance and insight action takes.
- Get all recordingsList every recording from the scheduled meetings one person organized, optionally within a time window - the way to sweep recordings without knowing the meeting ids first.
- Get all transcriptsList every transcript from the scheduled meetings one person organized, optionally within a time window - the way to sweep transcripts without knowing the meeting ids first.
- Get attendance reportRead who attended a Teams meeting session: one attendance record per participant with their name, email, role, total seconds in the meeting and every join and leave time, under body.attendanceRecords.
- Get channelRead one channel of a team when both ids are known — for its display name, description, membership type (standard, private or shared), email address and web link.
- Get channel messageRead one top-level channel message in full when its team, channel and message ids are known — its HTML or text body, sender, mentions and web link.
- Get meeting AI insightRead what Copilot made of a Teams meeting: its meeting notes (each with subpoints), its action items with their owners, and the user's own viewpoint such as where they were mentioned.
- Get meeting recordingRead one recording's metadata - when it started and ended, the call it belongs to and the URL of its content - without downloading the content itself.
- Get meeting transcriptRead one transcript's metadata - when it started and ended, the call it belongs to and the URL of its content - without downloading the content itself.
- Get meeting transcript contentDownload what was said in a meeting as text: the transcript as WebVTT, one cue per utterance with the speaker's name, or as plain text without speaker names.
- Get online meetingRead one Teams meeting by its meeting id - subject, start and end, join link, organizer and whether recording and transcription are allowed.
- Get teamRead one team in full — its settings, archive state, web link and member counts — when its id is already known, for instance to check it is not archived before posting to it.
- List attendance reportsList the attendance reports of a Teams meeting - one per session, generated when a session ends - with each report's participant count and the session's start and end.
- List channel messagesRead the top-level messages of a channel, newest reply chain first, optionally with their replies inlined.
- List channels a bot can seeList a team's channels through the Bot Connector, as the bot sees them - their ids and names - to find the channel to post in.
- List channels in a teamList the channels of one team as the signed-in user sees them — private and shared channels they are not a member of are left out.
- List chat messagesRead the messages of one chat the signed-in user is in, newest first.
- List chatsList the one-on-one, group and meeting chats the signed-in user is part of.
- List conversation membersList the people in a Teams conversation the bot is in - a team (by its team id, which is its General channel's id), a group chat, or a 1:1 chat - with each one's Teams user id, name, email and Entra object id.
- List joined teamsList the teams the signed-in user is a direct member of — the usual first step, since every channel, message and member action needs a teamId from here.
- List meeting AI insightsList the Copilot AI insights generated for a Teams meeting - one per transcript - with each one's id and when it was made; read the notes and action items with Get meeting AI insight.
- List meeting recordingsList the recordings of one Teams meeting - one per time recording was started during the call - with each one's id, when it was created and ended, and the contentCorrelationId that pairs a transcript with its recording.
- List meeting transcriptsList the transcripts of one Teams meeting - one per time transcript was started during the call - with each one's id, when it was created and ended, and the contentCorrelationId that pairs a transcript with its recording.
- List message repliesRead the replies in one channel message's thread, when the top-level messageId is known.
- List team membersList the members of a team with their roles — owner, guest, or none for a basic member.
- Microsoft Graph API requestAdvancedDestructiveCall any Microsoft Graph endpoint as the signed-in user (or, on an app-only connection, as the app registration itself), for the case where no shipped action covers it yet — a Teams endpoint this connector has not typed, or anything else in Graph the connection's scopes or application permissions allow.
- Post to channelStart a new conversation thread in a Teams channel with a message or an Adaptive Card - an announcement, an alert, or a request others reply to.
- Reply to channel messageReply inside an existing channel thread as the signed-in user, given the top-level messageId — from sendchannelmessage's body.id or listchannelmessages.
- Search messagesFind Teams messages by text across the chats and channels the signed-in user is in, through Microsoft Search, instead of reading conversation after conversation.
- Send channel messagePost a new top-level message to a team channel as the signed-in user.
- Send chat messageSend a message into an existing one-on-one or group chat as the signed-in user.
- Send messageSend a message or an Adaptive Card to a Teams conversation the bot is in - a 1:1 chat, a group chat, or a reply in a channel thread.
- Update messageDestructiveReplace a message the bot sent with new text or a new Adaptive Card - to show an approval's outcome, or remove a card's buttons once they are spent.
Triggers
- Meeting call eventStarts when the call in one Teams meeting starts, ends or its roster changes, delivered by an encrypted Microsoft Graph change notification.
- Message to the botStarts when someone sends the bot a message in Teams - in a one-to-one chat with it, or by @-mentioning it in a group chat or a channel it is installed in.
- Messages to the botAnswers as an agent in Microsoft Teams: when someone chats with the bot one to one, or @-mentions it in a group chat or a channel, the agent replies in that chat or thread.
- New meeting recordingStarts when a recording becomes available for a Teams meeting organized by one person, delivered by a Microsoft Graph change notification.
- New meeting recording in the organizationStarts when a recording becomes available for any scheduled Teams meeting in your organization, delivered by a Microsoft Graph change notification.
- New meeting transcriptStarts when a transcript becomes available for a Teams meeting organized by one person, delivered by a Microsoft Graph change notification.
- New meeting transcript in the organizationStarts when a transcript becomes available for any scheduled Teams meeting in your organization, delivered by a Microsoft Graph change notification.
Product names, logos and brands are the property of their respective owners and are used here for identification only. Their use does not imply endorsement by, or affiliation with, those owners.