Skip to Content
ResourcesIntegrationsSocial & CommunicationMicrosoft Teams

Microsoft Teams

Service domainMESSAGING
Microsoft Teams icon
Arcade Optimized

Arcade.dev LLM tools for Microsoft Teams

Author:Arcade
Version:0.6.1
Auth:User authorization via the Microsoft auth provider
25tools

Microsoft Teams Toolkit

The Microsoft Teams toolkit provides Arcade LLM tools for interacting with Microsoft Teams via the Microsoft Graph API, enabling agents to read and send messages, manage chats and channels, and look up users and teams.

Capabilities

  • Messaging — chats: Create chats, retrieve chat metadata and messages, send messages, and reply to messages in one-on-one or group chats; addressable by chat ID or user names/IDs.
  • Messaging — channels: Retrieve channel messages and their replies, send messages to channels, and reply to channel messages; addressable by channel ID or name.
  • Chat & channel discovery: List all chats the current user belongs to, list channels within a team (including shared incoming channels), and search for channels by name.
  • Team & member management: List teams the user belongs to, retrieve team metadata, list or search team members (up to 999 per Graph API limit), and list all tenant users.
  • User & people search: Search users within the signed-in user's tenant (SearchUsers), search people the user has previously interacted with across Microsoft 365 — including external tenants (SearchPeople), and retrieve the currently signed-in user's profile.
  • Cross-scope search: Search messages across chats and channels tenant-wide (note: Graph API search is not strongly consistent; very recent messages may be absent).

OAuth

This toolkit uses OAuth 2.0 via Microsoft (Entra ID / Azure AD). See the Arcade Microsoft auth provider docs for setup details, required permissions, and configuration.

Available tools(25)

25 of 25 tools
Operations
Behavior
Tool nameDescriptionSecrets
Creates a Microsoft Teams chat. If the chat already exists with the specified members, the MS Graph API will return the existing chat. Provide any combination of user_ids and/or user_names. When available, prefer providing user_ids for optimal performance.
Retrieves the replies to a Microsoft Teams channel message.
Retrieves the messages in a Microsoft Teams channel. The Microsoft Graph API does not support pagination for this endpoint.
Retrieves metadata about a Microsoft Teams channel and its members. Provide either a channel_id or channel_name, not both. When available, prefer providing a channel_id for optimal performance. The Microsoft Graph API returns only up to the first 999 members in the channel. This tool does not return messages exchanged in the channel. To retrieve channel messages, use the `Teams.GetChannelMessages` tool. It is not necessary to call `Teams.ListTeams` before calling this tool. If the user does not provide a team_id_or_name, the tool will try to find a unique team to use.
Retrieves a Microsoft Teams chat message.
Retrieves messages from a Microsoft Teams chat (individual or group). Provide one of chat_id OR any combination of user_ids and/or user_names. When available, prefer providing a chat_id or user_ids for optimal performance. If the user provides user name(s), DO NOT CALL THE `Teams.SearchUsers` or `Teams.SearchPeople` tools first. Instead, provide the user name(s) directly to this tool through the `user_names` argument. It is not necessary to provide the currently signed in user's name/id, so do not call `Teams.GetSignedInUser` before calling this tool. Messages will be sorted in descending order by the messages' `created_datetime` field. The Microsoft Teams API does not support pagination for this tool.
Retrieves metadata about a Microsoft Teams chat. Provide exactly one of chat_id or user_ids/user_names. When available, prefer providing a chat_id or user_ids for optimal performance. If multiple roup chats exist with those exact members, returns the most recently updated one. Max 20 DIFFERENT users can be provided in user_ids/user_names. This tool DOES NOT return messages in a chat. Use the `Teams.GetChatMessages` tool to get chat messages.
Get the user currently signed in Microsoft Teams. This tool is not necessary to call before calling other tools.
Retrieves metadata about a team in Microsoft Teams. Provide one of team_id OR team_name, never both. When available, prefer providing a team_id for optimal performance. If team_id nor team_name are provided: 1) if the user has a single team, the tool will retrieve it; 2) if the user has multiple teams, an error will be returned with a list of all teams to pick from.
Lists channels in Microsoft Teams (including shared incoming channels). This tool does not return messages nor members in the channels. To retrieve channel messages, use the `Teams.GetChannelMessages` tool. To retrieve channel members, use the `Teams.ListChannelMembers` tool.
List the Microsoft Teams chats to which the current user is a member of.
Lists the members of a team in Microsoft Teams. Provide one of team_id OR team_name, never both. When available, prefer providing a team_id for optimal performance. If team_id nor team_name are provided: 1) if the user has a single team, the tool will use it; 2) if the user has multiple teams, an error will be returned with a list of all teams to pick from. The Microsoft Graph API returns only up to the first 999 members.
Lists the teams the current user is associated with in Microsoft Teams.
Lists the users in the Microsoft Teams tenant. The Microsoft Graph API returns only up to the first 999 users.
Sends a reply to a Microsoft Teams channel message. When available, prefer providing a channel_id for optimal performance. It is not necessary to call `Teams.ListTeams` before calling this tool. If the user does not provide a team_id_or_name, the tool will try to find a unique team to use.
Sends a reply to a Microsoft Teams chat message. Provide exactly one of chat_id or user_ids/user_names. When available, prefer providing a chat_id or user_ids for optimal performance. If the user provides user name(s), DO NOT CALL THE `Teams.SearchUsers` or `Teams.SearchPeople` tools first. Instead, provide the user name(s) directly to this tool through the `user_names` argument. It is not necessary to provide the currently signed in user's name/id, so do not call `Teams.GetSignedInUser` before calling this tool either.
Searches for channels in a given Microsoft Teams team.
Searches for messages across Microsoft Teams chats and channels. Note: the Microsoft Graph API search is not strongly consistent. Recent messages may not be included in search results.
Searches for people the user has interacted with in Microsoft Teams and other 365 products. This tool only returns users that the currently signed in user has interacted with. It may also include people that are part of external tenants/organizations. If you need to retrieve users that may not have interacted with the current user and/or that are exclusively part of the same tenant, use the `Teams.SearchUsers` tool instead.
Searches for members of a team in Microsoft Teams. Provide one of team_id OR team_name, never both. When available, prefer providing a team_id for optimal performance. If team_id nor team_name are provided: 1) if the user has a single team, the tool will use it; 2) if the user has multiple teams, an error will be raised with a list of available teams to pick from. The Microsoft Graph API returns only up to the first 999 members of a team.
Searches for teams available to the current user in Microsoft Teams.
Searches for users in the Microsoft Teams tenant. This tool only return users that are directly linked to the tenant the current signed in user is a member of. If you need to retrieve users that have interacted with the current user but are from external tenants/organizations, use `Teams.SearchPeople`, instead. The Microsoft Graph API returns only up to the first 999 users.
Sends a message to a Microsoft Teams channel. When available, prefer providing a channel_id for optimal performance. It is not necessary to call `Teams.ListTeams` before calling this tool. If the user does not provide a team_id_or_name, the tool will try to find a unique team to use.
Sends a message to a Microsoft Teams chat. Provide exactly one of chat_id or user_ids/user_names. When available, prefer providing a chat_id or user_ids for optimal performance. If the user provides user name(s), DO NOT CALL THE `Teams.SearchUsers` or `Teams.SearchPeople` tools first. Instead, provide the user name(s) directly to this tool through the `user_names` argument. It is not necessary to provide the currently signed in user's name/id, so do not call `Teams.GetSignedInUser` before calling this tool either.
Get information about the current user and their Microsoft Teams environment.
Last updated on