> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams

> Connect Microsoft Teams to your Atako agents — 12 read and 4 write actions.

Let your agents read your Teams channels and chats, post and reply to messages, start chats and look up colleagues on your behalf.

## Connection

* **Authentication**: OAuth 2.0 — you authorize Atako via Microsoft Teams's consent screen; no key to copy.
* **Scopes requested**:
  * `offline_access`
  * `User.Read`
  * `User.ReadBasic.All`
  * `Team.ReadBasic.All`
  * `Channel.ReadBasic.All`
  * `ChannelMessage.Read.All`
  * `ChannelMessage.Send`
  * `TeamMember.Read.All`
  * `Chat.Read`
  * `Chat.Create`
  * `ChatMessage.Send`

<Note>
  Nothing to paste: click Connect and sign in with your Microsoft 365 work or school account (personal Microsoft accounts are not supported by Teams APIs). Prerequisite on the Atako side — Teams reuses the Microsoft Entra app of the Outlook connector: an administrator sets INTEGRATION\_OAUTH\_MICROSOFT\_TEAMS\_CLIENT\_ID / \_CLIENT\_SECRET to the same values as INTEGRATION\_OAUTH\_OUTLOOK\_CLIENT\_ID / \_CLIENT\_SECRET, and adds the delegated permissions in Entra → App registrations → Atako → API permissions → Microsoft Graph → Delegated: User.Read, User.ReadBasic.All, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Read.All, ChannelMessage.Send, TeamMember.Read.All, Chat.Read, Chat.Create, ChatMessage.Send, offline\_access. ChannelMessage.Read.All and TeamMember.Read.All require an administrator of your Microsoft 365 tenant to grant consent.

  See [Microsoft Teams's documentation](https://learn.microsoft.com/en-us/graph/api/resources/teams-api-overview).
</Note>

## Read actions (12)

| Action                  | Description                                                                                                                                                                                                      |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_channel_message`   | Fetch a single channel message (body, sender, mentions, reactions).                                                                                                                                              |
| `get_chat`              | Fetch a single chat (chatType, topic, webUrl).                                                                                                                                                                   |
| `get_me`                | Fetch the connected user profile — id (needed by create\_chat), display name, email, UPN.                                                                                                                        |
| `list_channel_messages` | List the root messages of a channel (without replies unless expand="replies"). top: 1–50 per page (default 20); follow @odata.nextLink for more.                                                                 |
| `list_channels`         | List the channels of a team the user can see. Optional OData filter, e.g. "membershipType eq 'private'"; select e.g. "id,displayName,description,membershipType".                                                |
| `list_chat_members`     | List the members of a chat (displayName, email, userId, roles).                                                                                                                                                  |
| `list_chat_messages`    | List the messages of a chat, newest first. top: 1–50; orderby "lastModifiedDateTime desc" (default) or "createdDateTime desc"; filter on the same property, e.g. "lastModifiedDateTime gt 2026-09-01T00:00:00Z". |
| `list_chats`            | List the one-on-one, group and meeting chats of the connected user. top: 1–50; expand "members" or "lastMessagePreview"; orderby only "lastMessagePreview/createdDateTime desc" (most recent first).             |
| `list_joined_teams`     | List the teams the connected user is a direct member of (id, displayName, description, isArchived).                                                                                                              |
| `list_message_replies`  | List the replies to a channel message. top: 1–50 per page.                                                                                                                                                       |
| `list_team_members`     | List the members of a team (displayName, email, userId, roles). top: 1–999 (default 100); optional OData filter/select.                                                                                          |
| `search_users`          | Search colleagues of the organization by name or email (tokenized "contains" search on displayName and mail). Returns id — use it in create\_chat.                                                               |

## Write actions (4)

| Action                     | Description                                                                                                                                                                                                                                                                                |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `create_chat`              | Create a one-on-one or group chat (returns the existing one-on-one chat if it already exists). user\_ids MUST include the connected user's own id (from get\_me) plus every other participant; oneOnOne = exactly 2 users; topic only for group chats. Then post with send\_chat\_message. |
| `reply_to_channel_message` | Reply in the thread of a channel message as the connected user. contentType "text" (default) or "html".                                                                                                                                                                                    |
| `send_channel_message`     | Post a new message in a channel as the connected user. contentType "text" (default) or "html"; optional plain-text subject and importance.                                                                                                                                                 |
| `send_chat_message`        | Send a message in an existing one-on-one or group chat as the connected user. contentType "text" (default) or "html".                                                                                                                                                                      |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
