Back to Tools
Communication OAuth
microsoft-teams logo

Microsoft Teams MCP Tools for AI Agents

Let an agent search chats and channels, read meeting transcripts, schedule meetings, and send or reply to Teams messages.

Available Tools

42 tools available in this integration

MicrosoftTeams.CancelMeeting

Cancel a Microsoft Teams meeting the signed-in user organizes, notifying attendees.

MicrosoftTeams.CreateChat

Create a Microsoft Teams chat.

MicrosoftTeams.CreateMeeting

Schedule a new Microsoft Teams online meeting on the signed-in user's calendar.

MicrosoftTeams.DeleteChannelMessage

Delete a previously sent Microsoft Teams channel message.

MicrosoftTeams.DeleteChatMessage

Delete a previously sent Microsoft Teams chat message.

MicrosoftTeams.GetChannelMessageReplies

Retrieve the replies to a Microsoft Teams channel message.

MicrosoftTeams.GetChannelMessages

Retrieve the messages in a Microsoft Teams channel, newest first.

MicrosoftTeams.GetChannelMetadata

Retrieve metadata about a Microsoft Teams channel and its members.

MicrosoftTeams.GetChatMessage

Retrieve a Microsoft Teams chat message.

MicrosoftTeams.GetChatMessageById

Retrieve a Microsoft Teams chat message.

MicrosoftTeams.GetChatMessages

Retrieve messages from a Microsoft Teams chat (individual, group, or meeting).

MicrosoftTeams.GetChatMetadata

Retrieve metadata about a Microsoft Teams chat.

MicrosoftTeams.GetMeeting

Retrieve a Microsoft Teams meeting scheduled on the signed-in user's calendar.

MicrosoftTeams.GetMeetingTranscript

Fetch the text content of a Teams meeting transcript.

MicrosoftTeams.GetSignedInUser

Get the current user's full profile (name, job title, employment, contacts, location).

MicrosoftTeams.GetTeam

Retrieve metadata about a team in Microsoft Teams.

MicrosoftTeams.ListChannelMessageReplies

Retrieve the replies to a Microsoft Teams channel message.

MicrosoftTeams.ListChannelMessages

Retrieve the messages in a Microsoft Teams channel, newest first.

MicrosoftTeams.ListChannels

List the channels owned by a Microsoft Teams team (standard, private, and shared

MicrosoftTeams.ListChatMessages

Retrieve messages from a Microsoft Teams chat (individual, group, or meeting).

MicrosoftTeams.ListChats

List the Microsoft Teams chats to which the current user is a member of.

MicrosoftTeams.ListMeetingTranscripts

List the transcripts Microsoft Graph has generated for a Teams meeting, most recent

MicrosoftTeams.ListMeetings

List Microsoft Teams online meetings on the signed-in user's calendar within a date

MicrosoftTeams.ListTeamMembers

List the members of a team in Microsoft Teams.

MicrosoftTeams.ListTeams

List the teams the current user is associated with in Microsoft Teams.

MicrosoftTeams.ListUsers

List the users in the Microsoft Teams tenant.

MicrosoftTeams.ReactToChannelMessage

Add or remove an emoji reaction on a Microsoft Teams channel message.

MicrosoftTeams.ReactToChatMessage

Add or remove an emoji reaction on a Microsoft Teams chat message.

MicrosoftTeams.ReplyToChannelMessage

Send a reply to a Microsoft Teams channel message.

MicrosoftTeams.ReplyToChatMessage

Send a reply to a Microsoft Teams chat message.

MicrosoftTeams.SearchChannels

Search for channels owned by a given Microsoft Teams team (standard, private, and

MicrosoftTeams.SearchMessages

Search for messages across Microsoft Teams chats and channels.

MicrosoftTeams.SearchPeople

Search for people the user has interacted with in Microsoft Teams and other 365 products.

MicrosoftTeams.SearchTeamMembers

Search for members of a team in Microsoft Teams.

MicrosoftTeams.SearchTeams

Search for teams by name prefix across the Microsoft Teams organization.

MicrosoftTeams.SearchUsers

Search for users in the Microsoft Teams tenant.

MicrosoftTeams.SendMessageToChannel

Send a message to a Microsoft Teams channel.

MicrosoftTeams.SendMessageToChat

Send a message to a Microsoft Teams chat.

MicrosoftTeams.UpdateChannelMessage

Edit the text content of a previously sent Microsoft Teams channel message.

MicrosoftTeams.UpdateChatMembers

Add members to, or remove members from, the roster of an existing Microsoft Teams

MicrosoftTeams.UpdateChatMessage

Edit the text content of a previously sent Microsoft Teams chat message.

MicrosoftTeams.WhoAmI

Get the signed-in user's identity, profile and Microsoft Teams tenant context.

Why agent-optimized tools matter

Built for intent, not API schemas

Ask the agent to "find the unanswered questions in our launch channel and draft a reply for each." Arcade picks the right Teams actions without guessing team, channel, chat, or message IDs.

Up to 100x fewer tokens

Teams searches and list operations return the messages, members, and meeting records needed to choose the next step, while full replies and transcripts are fetched only when requested.

Complete the workflow end to end

Search a channel, read the relevant replies, draft an update, request approval, and post it through one toolkit designed around the complete Teams communication task.

Make actions predictable and controlled

Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.

Securing Microsoft Teams

The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.

This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.

Learn about Contextual Access Policies

For Microsoft Teams, you can implement some of these policies:

Access when tools are listed for a user
  • Hide MicrosoftTeams.CancelMeeting from agents unless the roles your IDP marks as meeting owners are active, so an agent cannot cancel a meeting another organizer is relying on.
  • Restrict MicrosoftTeams.UpdateChatMembers to agents operating under your team-owner role, so unapproved automation cannot add outsiders to a chat or remove its members.
  • Deny MicrosoftTeams.DeleteChannelMessage to agents outside the roles your IDP marks as channel moderators, so an agent cannot erase an incident record or approved announcement.
Pre-execution before each tool call
  • Require human approval before MicrosoftTeams.SendMessageToChannel runs, so an agent cannot publish an unreviewed announcement to a channel.
  • Block MicrosoftTeams.CreateMeeting when any invitee is outside your approved email domains, so an agent cannot schedule a meeting with an unintended external recipient.
  • Require human approval before MicrosoftTeams.DeleteChatMessage runs, so an agent cannot remove a message that may be needed for an investigation or audit.
Post-execution after the tool returns
  • Redact the message bodies MicrosoftTeams.GetChatMessages returns, stripping email addresses, phone numbers, and customer account numbers before they reach the model.
  • Strip credentials, access tokens, and customer identifiers from the transcript MicrosoftTeams.GetMeetingTranscript returns before the model sees the meeting content.
  • Redact personal contact details, location, and employment fields from MicrosoftTeams.GetSignedInUser results, so the model receives identity context without unnecessary profile data.

How to use Microsoft Teams with your agent

Connect Microsoft Teams to your MCP client by following the setup steps below. Then authorize each user and try the example prompts.

Your questions, answered

A Microsoft Teams MCP server exposes Teams actions as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their account, the agent can search and read chats and channels, inspect meetings and transcripts, send messages, schedule meetings, and perform other permitted actions.

Microsoft Teams does not provide the MCP endpoint used here. Arcade hosts the integration and adds per-user OAuth, agent-optimized actions, approval workflows, response redaction, and tool-level access controls across MCP clients and agent frameworks.

Arcade agents can search and read chats, channels, replies, teams, people, meetings, and meeting transcripts; send, edit, reply to, and react to messages; create chats and meetings; manage chat members; and cancel meetings or delete messages. They can also list teams, channels, chats, members, users, and the signed-in user's profile.

Arcade requests the Microsoft Graph permissions required by the Teams actions you enable. Read-only workflows need permission to read the user's Teams data, while sending messages, creating meetings or chats, editing content, deleting messages, managing chat members, or canceling meetings require corresponding write or delete permissions; grant the narrowest set that supports your workflow.

Yes. Each user authorizes their own Microsoft Teams account through OAuth. Actions run with that user's Microsoft Graph permissions, so an agent can access only the Teams data and operations that person has approved.

Yes. Contextual Access policies can require human approval before consequential Teams actions such as sending or editing messages, deleting content, changing chat membership, creating or canceling meetings, or reacting to messages. The call proceeds only after the policy's conditions have been satisfied.

Arcade proxies Microsoft Teams API calls and does not persist your content as part of normal tool execution. Credentials are brokered and stored encrypted at rest, and the model never receives them.

Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.

Arcade refreshes access while the user's Microsoft Teams authorization remains valid. If it is revoked, rotated, or can no longer be refreshed, Teams actions stop until the user reconnects their account.

Microsoft Graph and Microsoft Teams service limits still apply to actions performed through Arcade. The available details do not specify separate Arcade quotas or per-action limits, so high-volume searches, message reads, and writes should be designed to handle Graph throttling and retries.

Ready to actually ship your agent?

Connect your agent to Microsoft Teams with managed OAuth, agent-optimized tools and approval controls for consequential actions.