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

# Microsoft Teams

> What agents can do in Microsoft Teams at each access level, and how to connect, limit, and disconnect Microsoft Teams.

Connect Microsoft Teams so your agents can work in your Microsoft Teams account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Microsoft Teams account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                         | The connect window describes this level as            | Actions agents can use |
| ----------------------------- | ----------------------------------------------------- | ---------------------- |
| **Read-only**                 | "Read chat messages and channel posts. Cannot send."  | 2 of 172               |
| **Read + send**               | "Read messages and send in chats and channels."       | 145 of 172             |
| **Full access** (recommended) | "Read, send, edit messages, manage channel settings." | 172 of 172             |

**Full access** is the recommended level. The connect window selects it for you, and you can choose another level.

The Microsoft Teams sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Microsoft Teams account?" The agent can search the Microsoft Teams actions for you.</Tip>

Each action shows its name, a one-line description where the Microsoft Teams action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 2 of the 172 Microsoft Teams actions at this level:

    * View messages
    * View shifts

    All 2 actions at this level:

    | Works on     | Action                | What it does                                                 | Slug                                    |
    | ------------ | --------------------- | ------------------------------------------------------------ | --------------------------------------- |
    | **Messages** | List messages to self |                                                              | `MICROSOFT_TEAMS_LIST_MESSAGES_TO_SELF` |
    | **Shifts**   | Get shift             | Retrieve a shift by ID from a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_GET_SHIFT`             |
  </Accordion>

  <Accordion title="Read + send">
    Agents can use 145 of the 172 Microsoft Teams actions at this level: everything in **Read-only**, plus:

    * View, create, update, and archive channels
    * View, create, update, and archive teams
    * View, create, and update members
    * View, create, and update chats
    * Search, update, and send messages
    * View, create, and update meetings
    * View, create, and update groups
    * Update and delete locations
    * View, create, and update notes
    * View and update presence status
    * View and send replies
    * Create and update shifts

    The 143 actions that this level adds to **Read-only**:

    <AccordionGroup>
      <Accordion title="Account details (1)">
        | Action   | What it does | Slug                       |
        | -------- | ------------ | -------------------------- |
        | Who am I |              | `MICROSOFT_TEAMS_WHO_AM_I` |
      </Accordion>

      <Accordion title="Apps (2)">
        | Action                   | What it does                                    | Slug                                       |
        | ------------------------ | ----------------------------------------------- | ------------------------------------------ |
        | Get teams app definition | Get an installed app in a Microsoft Teams team. | `MICROSOFT_TEAMS_GET_TEAMS_APP_DEFINITION` |
        | List installed apps      | List apps installed in a Microsoft Teams team.  | `MICROSOFT_TEAMS_LIST_INSTALLED_APPS`      |
      </Accordion>

      <Accordion title="Calls (5)">
        | Action                               | What it does                                                            | Slug                                                   |
        | ------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------------------ |
        | Create call operation                | Create a new operation for a communications call.                       | `MICROSOFT_TEAMS_CREATE_CALL_OPERATION`                |
        | Get call operation                   | Get a specific commsOperation for a call.                               | `MICROSOFT_TEAMS_GET_CALL_OPERATION`                   |
        | List communications calls operations | List operations on a Microsoft Teams call.                              | `MICROSOFT_TEAMS_LIST_COMMUNICATIONS_CALLS_OPERATIONS` |
        | Update call                          | Update the navigation property calls in Microsoft Teams communications. | `MICROSOFT_TEAMS_UPDATE_CALL`                          |
        | Update call operation                | Update the navigation property operations in communications.            | `MICROSOFT_TEAMS_UPDATE_CALL_OPERATION`                |
      </Accordion>

      <Accordion title="Change history (5)">
        | Action                           | What it does                                                                          | Slug                                               |
        | -------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------- |
        | Create open shift change request | Create a new open shift change request in a team schedule.                            | `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT_CHANGE_REQUEST` |
        | Get open shift change request    | Retrieve a specific open shift change request from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_GET_OPEN_SHIFT_CHANGE_REQUEST`    |
        | Get swap shifts change request   | Get a specific swap shift change request from a Microsoft Teams schedule.             | `MICROSOFT_TEAMS_GET_SWAP_SHIFTS_CHANGE_REQUEST`   |
        | List open shift change requests  | List open shift change requests in a Microsoft Teams schedule.                        | `MICROSOFT_TEAMS_LIST_OPEN_SHIFT_CHANGE_REQUESTS`  |
        | List swap shifts change requests | List swap shift change requests in a Microsoft Teams schedule.                        | `MICROSOFT_TEAMS_LIST_SWAP_SHIFTS_CHANGE_REQUESTS` |
      </Accordion>

      <Accordion title="Channel email addresses (1)">
        | Action                  | What it does                                              | Slug                                      |
        | ----------------------- | --------------------------------------------------------- | ----------------------------------------- |
        | Provision channel email | Provision an email address for a Microsoft Teams channel. | `MICROSOFT_TEAMS_PROVISION_CHANNEL_EMAIL` |
      </Accordion>

      <Accordion title="Channels (13)">
        | Action                       | What it does                                                                                                                                                                         | Slug                                           |
        | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
        | Archive group team channel   | Archive a channel in a Microsoft Teams team using the group ID.                                                                                                                      | `MICROSOFT_TEAMS_ARCHIVE_GROUP_TEAM_CHANNEL`   |
        | Create channel               | Create a new standard, private, or shared channel within a Microsoft Teams team.                                                                                                     | `MICROSOFT_TEAMS_CREATE_CHANNEL`               |
        | Create group team channel    | Create a new channel in a group's associated team.                                                                                                                                   | `MICROSOFT_TEAMS_CREATE_GROUP_TEAM_CHANNEL`    |
        | Get channel                  | Get a specific channel in a team.                                                                                                                                                    | `MICROSOFT_TEAMS_GET_CHANNEL`                  |
        | Get group team channel       | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHANNEL instead.                                                                                                                              | `MICROSOFT_TEAMS_GET_GROUP_TEAM_CHANNEL`       |
        | Get primary channel          | Get the default (General) channel of a team.                                                                                                                                         | `MICROSOFT_TEAMS_GET_PRIMARY_CHANNEL`          |
        | List group team channels     | DEPRECATED: Use MICROSOFT\_TEAMS\_LIST\_CHANNELS instead.                                                                                                                            | `MICROSOFT_TEAMS_LIST_GROUP_TEAM_CHANNELS`     |
        | List incoming channels       | List incoming channels shared with a Microsoft Teams team.                                                                                                                           | `MICROSOFT_TEAMS_LIST_INCOMING_CHANNELS`       |
        | Teams create channel         | (DEPRECATED: use MICROSOFT\_TEAMS\_CREATE\_CHANNEL) Tool to create a new standard, private, or shared channel within a Microsoft Teams team.                                         | `MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL`         |
        | Teams list channels          | Retrieves channels for a specified Microsoft Teams team ID (must be valid and for an existing team), with options to include shared channels, filter results, and select properties. | `MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS`          |
        | Unarchive channel            | Unarchive a channel in a Microsoft Teams team.                                                                                                                                       | `MICROSOFT_TEAMS_UNARCHIVE_CHANNEL`            |
        | Unarchive group team channel | Unarchive a channel in a Microsoft Teams group's team.                                                                                                                               | `MICROSOFT_TEAMS_UNARCHIVE_GROUP_TEAM_CHANNEL` |
        | Update channel               | Update channel properties in a Microsoft Teams group.                                                                                                                                | `MICROSOFT_TEAMS_UPDATE_CHANNEL`               |
      </Accordion>

      <Accordion title="Chats (10)">
        | Action                    | What it does                                                                                                               | Slug                                        |
        | ------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
        | Chats get all chats       | Retrieves all Microsoft Teams chats a specified user is part of, supporting filtering, property selection, and pagination. | `MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS`       |
        | Get chat                  | Retrieve a single chat by ID.                                                                                              | `MICROSOFT_TEAMS_GET_CHAT`                  |
        | Get user chat             | Retrieve a specific chat for a user.                                                                                       | `MICROSOFT_TEAMS_GET_USER_CHAT`             |
        | Hide chat for user        | Hide a Microsoft Teams chat for a specific user.                                                                           | `MICROSOFT_TEAMS_HIDE_CHAT_FOR_USER`        |
        | List chat                 | DEPRECATED: Use MICROSOFT\_TEAMS\_CHATS\_GET\_ALL\_CHATS instead.                                                          | `MICROSOFT_TEAMS_LIST_CHAT`                 |
        | Mark chat read for user   | Mark a chat as read for a specific user in Microsoft Teams.                                                                | `MICROSOFT_TEAMS_MARK_CHAT_READ_FOR_USER`   |
        | Mark chat unread for user | Marks a specific chat as unread for a user by setting the last read message timestamp.                                     | `MICROSOFT_TEAMS_MARK_CHAT_UNREAD_FOR_USER` |
        | Teams create chat         | Creates a new chat.                                                                                                        | `MICROSOFT_TEAMS_TEAMS_CREATE_CHAT`         |
        | Unhide chat for user      | Unhide a chat for a specific user.                                                                                         | `MICROSOFT_TEAMS_UNHIDE_CHAT_FOR_USER`      |
        | Update chat               | Update the properties of a chat.                                                                                           | `MICROSOFT_TEAMS_UPDATE_CHAT`               |
      </Accordion>

      <Accordion title="Files (1)">
        | Action       | What it does                                      | Slug                           |
        | ------------ | ------------------------------------------------- | ------------------------------ |
        | Search files | Search files in Microsoft Teams using KQL syntax. | `MICROSOFT_TEAMS_SEARCH_FILES` |
      </Accordion>

      <Accordion title="Folders (1)">
        | Action           | What it does                                                                                | Slug                               |
        | ---------------- | ------------------------------------------------------------------------------------------- | ---------------------------------- |
        | Get files folder | Get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team. | `MICROSOFT_TEAMS_GET_FILES_FOLDER` |
      </Accordion>

      <Accordion title="Groups (4)">
        | Action                  | What it does                                                                 | Slug                                      |
        | ----------------------- | ---------------------------------------------------------------------------- | ----------------------------------------- |
        | Create scheduling group | Create a new scheduling group in a team's schedule.                          | `MICROSOFT_TEAMS_CREATE_SCHEDULING_GROUP` |
        | Get scheduling group    | Retrieve a specific scheduling group from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_GET_SCHEDULING_GROUP`    |
        | List scheduling groups  | List scheduling groups in a team's schedule.                                 | `MICROSOFT_TEAMS_LIST_SCHEDULING_GROUPS`  |
        | Update scheduling group | Replace/update a scheduling group in a team's schedule.                      | `MICROSOFT_TEAMS_UPDATE_SCHEDULING_GROUP` |
      </Accordion>

      <Accordion title="Locations (4)">
        | Action                            | What it does                                                                      | Slug                                                |
        | --------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------- |
        | Clear automatic location          | Clear the automatic location from a user's presence in Microsoft Teams.           | `MICROSOFT_TEAMS_CLEAR_AUTOMATIC_LOCATION`          |
        | Set presence automatic location   | Set the automatic presence location (office/remote/timeOff) for a specified user. | `MICROSOFT_TEAMS_SET_PRESENCE_AUTOMATIC_LOCATION`   |
        | Set presence manual location      | DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PRESENCE\_MANUAL\_LOCATION instead.  | `MICROSOFT_TEAMS_SET_PRESENCE_MANUAL_LOCATION`      |
        | Set user presence manual location | Set the manual presence location (office/remote/timeOff) for a specific user.     | `MICROSOFT_TEAMS_SET_USER_PRESENCE_MANUAL_LOCATION` |
      </Accordion>

      <Accordion title="Meetings (6)">
        | Action                       | What it does                                                                                                 | Slug                                           |
        | ---------------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
        | Create meeting               | Use to schedule a new standalone Microsoft Teams online meeting, i.e., one not linked to any calendar event. | `MICROSOFT_TEAMS_CREATE_MEETING`               |
        | Create or get online meeting | Create a new Microsoft Teams online meeting or retrieve an existing one based on externalId.                 | `MICROSOFT_TEAMS_CREATE_OR_GET_ONLINE_MEETING` |
        | Create user online meeting   | Create a new Microsoft Teams online meeting for a specific user.                                             | `MICROSOFT_TEAMS_CREATE_USER_ONLINE_MEETING`   |
        | Get online meeting           | Retrieve details of a specific Microsoft Teams online meeting by its ID.                                     | `MICROSOFT_TEAMS_GET_ONLINE_MEETING`           |
        | List online meetings         | Look up a Microsoft Teams online meeting for a user by identifier.                                           | `MICROSOFT_TEAMS_LIST_ONLINE_MEETINGS`         |
        | Update online meeting        | Update the properties of an existing Microsoft Teams online meeting.                                         | `MICROSOFT_TEAMS_UPDATE_ONLINE_MEETING`        |
      </Accordion>

      <Accordion title="Members (11)">
        | Action                 | What it does                                                                                        | Slug                                     |
        | ---------------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------- |
        | Add chat member        | Add a conversationMember to a Microsoft Teams chat.                                                 | `MICROSOFT_TEAMS_ADD_CHAT_MEMBER`        |
        | Add member to channel  | Add a member to a Microsoft Teams channel.                                                          | `MICROSOFT_TEAMS_ADD_MEMBER_TO_CHANNEL`  |
        | Add member to team     | (DEPRECATED: use MICROSOFT\_TEAMS\_ADD\_TEAM\_MEMBER) Tool to add a user to a Microsoft Teams team. | `MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM`     |
        | Add team member        | Add a user to a Microsoft Teams team.                                                               | `MICROSOFT_TEAMS_ADD_TEAM_MEMBER`        |
        | Add team members bulk  | Add multiple members to a Microsoft Teams team in a single operation.                               | `MICROSOFT_TEAMS_ADD_TEAM_MEMBERS_BULK`  |
        | Get chat member        | Get a specific conversation member from a Microsoft Teams chat.                                     | `MICROSOFT_TEAMS_GET_CHAT_MEMBER`        |
        | Get team member        | Get a specific conversation member from a team.                                                     | `MICROSOFT_TEAMS_GET_TEAM_MEMBER`        |
        | List chat members      | DEPRECATED: Use MICROSOFT\_TEAMS\_USERS\_CHATS\_LIST\_MEMBERS instead.                              | `MICROSOFT_TEAMS_LIST_CHAT_MEMBERS`      |
        | List team members      | List members of a Microsoft Teams team.                                                             | `MICROSOFT_TEAMS_LIST_TEAM_MEMBERS`      |
        | List user chat members | List members of a specific chat for a user in Microsoft Teams.                                      | `MICROSOFT_TEAMS_LIST_USER_CHAT_MEMBERS` |
        | Update team member     | Update a team member's roles or properties in Microsoft Teams.                                      | `MICROSOFT_TEAMS_UPDATE_TEAM_MEMBER`     |
      </Accordion>

      <Accordion title="Messages (14)">
        | Action                        | What it does                                                                                           | Slug                                            |
        | ----------------------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------- |
        | Chats get all messages        | DEPRECATED: Use ListUserChatMessages instead.                                                          | `MICROSOFT_TEAMS_CHATS_GET_ALL_MESSAGES`        |
        | Get channel message           | Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs.  | `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE`           |
        | Get chat last message preview | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHAT instead.                                                   | `MICROSOFT_TEAMS_GET_CHAT_LAST_MESSAGE_PREVIEW` |
        | Get chat message              | Get a specific chat message.                                                                           | `MICROSOFT_TEAMS_GET_CHAT_MESSAGE`              |
        | List pinned messages          | Retrieve the list of pinned messages in a Microsoft Teams chat.                                        | `MICROSOFT_TEAMS_LIST_PINNED_MESSAGES`          |
        | List user chat messages       | Retrieve messages from a specific chat for a given user.                                               | `MICROSOFT_TEAMS_LIST_USER_CHAT_MESSAGES`       |
        | Pin message                   | Pin a message in a Microsoft Teams chat.                                                               | `MICROSOFT_TEAMS_PIN_MESSAGE`                   |
        | Search messages               | Search Microsoft Teams messages using powerful KQL syntax.                                             | `MICROSOFT_TEAMS_SEARCH_MESSAGES`               |
        | Teams list channel messages   | List messages in a Teams channel when team\_id and channel\_id are known (no chat\_id required).       | `MICROSOFT_TEAMS_TEAMS_LIST_CHANNEL_MESSAGES`   |
        | Teams list chat messages      | DEPRECATED: Use ListUserChatMessages instead.                                                          | `MICROSOFT_TEAMS_TEAMS_LIST_CHAT_MESSAGES`      |
        | Teams post channel message    | Posts a new top-level message to a channel in Microsoft Teams (does NOT reply to an existing message). | `MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE`    |
        | Teams post chat message       | Sends a non-empty message (text or HTML) to a specified, existing Microsoft Teams chat.                | `MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE`       |
        | Update channel message        | Update a message in a channel.                                                                         | `MICROSOFT_TEAMS_UPDATE_CHANNEL_MESSAGE`        |
        | Update chat message           | Update a specific message in a chat.                                                                   | `MICROSOFT_TEAMS_UPDATE_CHAT_MESSAGE`           |
      </Accordion>

      <Accordion title="Notes (4)">
        | Action                   | What it does                                         | Slug                                       |
        | ------------------------ | ---------------------------------------------------- | ------------------------------------------ |
        | Create schedule day note | Create a new day note in a team's schedule.          | `MICROSOFT_TEAMS_CREATE_SCHEDULE_DAY_NOTE` |
        | Get day note             | Retrieve a specific day note from a team's schedule. | `MICROSOFT_TEAMS_GET_DAY_NOTE`             |
        | List schedule day notes  | List all dayNotes from a team's schedule.            | `MICROSOFT_TEAMS_LIST_SCHEDULE_DAY_NOTES`  |
        | Update day note          | Update an existing day note in a team's schedule.    | `MICROSOFT_TEAMS_UPDATE_DAY_NOTE`          |
      </Accordion>

      <Accordion title="Notifications (1)">
        | Action                     | What it does                                                            | Slug                                         |
        | -------------------------- | ----------------------------------------------------------------------- | -------------------------------------------- |
        | Send activity notification | Send activity notifications to specified recipients in Microsoft Teams. | `MICROSOFT_TEAMS_SEND_ACTIVITY_NOTIFICATION` |
      </Accordion>

      <Accordion title="Participants (1)">
        | Action                  | What it does                                    | Slug                                      |
        | ----------------------- | ----------------------------------------------- | ----------------------------------------- |
        | Update call participant | Update a participant in a Microsoft Teams call. | `MICROSOFT_TEAMS_UPDATE_CALL_PARTICIPANT` |
      </Accordion>

      <Accordion title="People (1)">
        | Action      | What it does                                                                                                                                     | Slug                          |
        | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
        | List people | Retrieves a list of people relevant to a specified user from Microsoft Graph, noting the search parameter is only effective if user\_id is 'me'. | `MICROSOFT_TEAMS_LIST_PEOPLE` |
      </Accordion>

      <Accordion title="Presence status (4)">
        | Action                      | What it does                                                              | Slug                                          |
        | --------------------------- | ------------------------------------------------------------------------- | --------------------------------------------- |
        | Get presence                | Get a specific user's presence information.                               | `MICROSOFT_TEAMS_GET_PRESENCE`                |
        | Set me preferred presence   | DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PREFERRED\_PRESENCE instead. | `MICROSOFT_TEAMS_SET_ME_PREFERRED_PRESENCE`   |
        | Set presence                | Set the presence information for a user's application presence session.   | `MICROSOFT_TEAMS_SET_PRESENCE`                |
        | Set user preferred presence | Set the preferred availability and activity status for a user.            | `MICROSOFT_TEAMS_SET_USER_PREFERRED_PRESENCE` |
      </Accordion>

      <Accordion title="Profiles (1)">
        | Action         | What it does                                         | Slug                             |
        | -------------- | ---------------------------------------------------- | -------------------------------- |
        | Get my profile | Retrieve a user's profile (id/UPN/mail/displayName). | `MICROSOFT_TEAMS_GET_MY_PROFILE` |
      </Accordion>

      <Accordion title="Replies (4)">
        | Action                    | What it does                                                                                                                                                                                    | Slug                                        |
        | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
        | Get channel message reply | Retrieve a single reply to a message in a channel.                                                                                                                                              | `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE_REPLY` |
        | List message replies      | List all replies to a specific message in a Microsoft Teams channel.                                                                                                                            | `MICROSOFT_TEAMS_LIST_MESSAGE_REPLIES`      |
        | Post message reply        | Sends a reply to an existing message, identified by message\_id, within a specific channel\_id of a given team\_id in Microsoft Teams.                                                          | `MICROSOFT_TEAMS_POST_MESSAGE_REPLY`        |
        | Teams post message reply  | (DEPRECATED: use MICROSOFT\_TEAMS\_POST\_MESSAGE\_REPLY) Sends a reply to an existing message, identified by message\_id, within a specific channel\_id of a given team\_id in Microsoft Teams. | `MICROSOFT_TEAMS_TEAMS_POST_MESSAGE_REPLY`  |
      </Accordion>

      <Accordion title="Roles and permissions (1)">
        | Action                      | What it does                                                                                                 | Slug                                          |
        | --------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------- |
        | List team permission grants | List all resource-specific permission grants for a team with support for filtering, pagination, and sorting. | `MICROSOFT_TEAMS_LIST_TEAM_PERMISSION_GRANTS` |
      </Accordion>

      <Accordion title="Schedules (3)">
        | Action                    | What it does                                                    | Slug                                        |
        | ------------------------- | --------------------------------------------------------------- | ------------------------------------------- |
        | Create or update schedule | Create or replace a schedule object for a Microsoft Teams team. | `MICROSOFT_TEAMS_CREATE_OR_UPDATE_SCHEDULE` |
        | Get schedule              | Retrieve the properties and relationships of a schedule object. | `MICROSOFT_TEAMS_GET_SCHEDULE`              |
        | Share team schedule       | Share a Microsoft Teams schedule for a specified time range.    | `MICROSOFT_TEAMS_SHARE_TEAM_SCHEDULE`       |
      </Accordion>

      <Accordion title="Sessions (2)">
        | Action                         | What it does                                                | Slug                                             |
        | ------------------------------ | ----------------------------------------------------------- | ------------------------------------------------ |
        | Create content sharing session | Create a content sharing session in a Microsoft Teams call. | `MICROSOFT_TEAMS_CREATE_CONTENT_SHARING_SESSION` |
        | Update content sharing session | Update a content sharing session in a Microsoft Teams call. | `MICROSOFT_TEAMS_UPDATE_CONTENT_SHARING_SESSION` |
      </Accordion>

      <Accordion title="Shifts (10)">
        | Action                     | What it does                                                        | Slug                                         |
        | -------------------------- | ------------------------------------------------------------------- | -------------------------------------------- |
        | Create offer shift request | Create a new offer shift request in a user's joined team schedule.  | `MICROSOFT_TEAMS_CREATE_OFFER_SHIFT_REQUEST` |
        | Create open shift          | Create a new open shift in a Microsoft Teams team schedule.         | `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT`          |
        | Create shift               | Create a new shift in a Microsoft Teams team schedule.              | `MICROSOFT_TEAMS_CREATE_SHIFT`               |
        | Get offer shift request    | Get a specific offer shift request from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_GET_OFFER_SHIFT_REQUEST`    |
        | Get open shift             | Get a specific open shift from a Microsoft Teams schedule.          | `MICROSOFT_TEAMS_GET_OPEN_SHIFT`             |
        | List offer shift requests  | List offer shift requests in a Microsoft Teams schedule.            | `MICROSOFT_TEAMS_LIST_OFFER_SHIFT_REQUESTS`  |
        | List open shifts           | List open shifts in a Microsoft Teams schedule.                     | `MICROSOFT_TEAMS_LIST_OPEN_SHIFTS`           |
        | List shifts                | List shifts in a Microsoft Teams schedule.                          | `MICROSOFT_TEAMS_LIST_SHIFTS`                |
        | Update open shift          | Update an existing open shift in a Microsoft Teams team schedule.   | `MICROSOFT_TEAMS_UPDATE_OPEN_SHIFT`          |
        | Update team schedule shift | Update an existing shift in a Microsoft Teams team schedule.        | `MICROSOFT_TEAMS_UPDATE_TEAM_SCHEDULE_SHIFT` |
      </Accordion>

      <Accordion title="Tabs (4)">
        | Action            | What it does                                                 | Slug                                |
        | ----------------- | ------------------------------------------------------------ | ----------------------------------- |
        | Add tab           | Add a new tab to a Microsoft Teams channel.                  | `MICROSOFT_TEAMS_ADD_TAB`           |
        | Get tab           | Get a specific tab in a Microsoft Teams channel.             | `MICROSOFT_TEAMS_GET_TAB`           |
        | List channel tabs | List tabs from a Microsoft Teams channel.                    | `MICROSOFT_TEAMS_LIST_CHANNEL_TABS` |
        | Update tab        | Update the properties of a tab in a Microsoft Teams channel. | `MICROSOFT_TEAMS_UPDATE_TAB`        |
      </Accordion>

      <Accordion title="Teams (14)">
        | Action                     | What it does                                                                                                            | Slug                                         |
        | -------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
        | Archive team               | Archive a Microsoft Teams team.                                                                                         | `MICROSOFT_TEAMS_ARCHIVE_TEAM`               |
        | Clone team                 | Clone a Microsoft Teams team using the team ID.                                                                         | `MICROSOFT_TEAMS_CLONE_TEAM`                 |
        | Create team                | Create a new Microsoft Teams team.                                                                                      | `MICROSOFT_TEAMS_CREATE_TEAM`                |
        | Create team from group     | Create a new team under an existing Microsoft 365 group.                                                                | `MICROSOFT_TEAMS_CREATE_TEAM_FROM_GROUP`     |
        | Get team from group        | Get a specific team.                                                                                                    | `MICROSOFT_TEAMS_GET_TEAM_FROM_GROUP`        |
        | Get team operation         | Retrieve the status of a Teams async operation using teamId and operationId.                                            | `MICROSOFT_TEAMS_GET_TEAM_OPERATION`         |
        | List associated teams      | List teams that a user is associated with in Microsoft Teams.                                                           | `MICROSOFT_TEAMS_LIST_ASSOCIATED_TEAMS`      |
        | List deleted teams         | List deleted Microsoft Teams and their properties.                                                                      | `MICROSOFT_TEAMS_LIST_DELETED_TEAMS`         |
        | List group team operations | List operations on a group's team.                                                                                      | `MICROSOFT_TEAMS_LIST_GROUP_TEAM_OPERATIONS` |
        | List team operations       | List operations from a team.                                                                                            | `MICROSOFT_TEAMS_LIST_TEAM_OPERATIONS`       |
        | List user joined teams     | List the Teams that a specified user is a direct member of (joined teams).                                              | `MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS`     |
        | Teams list                 | Retrieves Microsoft Teams accessible by the authenticated user, allowing filtering, property selection, and pagination. | `MICROSOFT_TEAMS_TEAMS_LIST`                 |
        | Unarchive team             | Unarchive a Microsoft Teams team.                                                                                       | `MICROSOFT_TEAMS_UNARCHIVE_TEAM`             |
        | Update team                | Update the properties of a team.                                                                                        | `MICROSOFT_TEAMS_UPDATE_TEAM`                |
      </Accordion>

      <Accordion title="Templates (2)">
        | Action              | What it does                                                                             | Slug                                  |
        | ------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------- |
        | Get team template   | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_TEAM\_FROM\_GROUP with expand="template" instead. | `MICROSOFT_TEAMS_GET_TEAM_TEMPLATE`   |
        | List team templates | List available Microsoft Teams templates.                                                | `MICROSOFT_TEAMS_LIST_TEAM_TEMPLATES` |
      </Accordion>

      <Accordion title="Time off (11)">
        | Action                  | What it does                                                                     | Slug                                      |
        | ----------------------- | -------------------------------------------------------------------------------- | ----------------------------------------- |
        | Create time off         | Create a new timeOff instance in a team's schedule.                              | `MICROSOFT_TEAMS_CREATE_TIME_OFF`         |
        | Create time off reason  | Create a new time off reason in a team's schedule.                               | `MICROSOFT_TEAMS_CREATE_TIME_OFF_REASON`  |
        | Create time off request | Create a new time off request in a team's schedule.                              | `MICROSOFT_TEAMS_CREATE_TIME_OFF_REQUEST` |
        | Get time off            | Retrieve a specific time off entry from a Microsoft Teams team's schedule by ID. | `MICROSOFT_TEAMS_GET_TIME_OFF`            |
        | Get time off reason     | Get a specific time off reason from a team's schedule.                           | `MICROSOFT_TEAMS_GET_TIME_OFF_REASON`     |
        | Get time off request    | Retrieve a specific time off request from a team's schedule.                     | `MICROSOFT_TEAMS_GET_TIME_OFF_REQUEST`    |
        | List time off           | List time off entries from a Microsoft Teams team's schedule.                    | `MICROSOFT_TEAMS_LIST_TIME_OFF`           |
        | List time off reasons   | Get time off reasons from a team's schedule.                                     | `MICROSOFT_TEAMS_LIST_TIME_OFF_REASONS`   |
        | List time off requests  | Retrieve a list of time off requests from a Microsoft Teams team's schedule.     | `MICROSOFT_TEAMS_LIST_TIME_OFF_REQUESTS`  |
        | Update time off         | Replace an existing timeOff entry in a team's schedule.                          | `MICROSOFT_TEAMS_UPDATE_TIME_OFF`         |
        | Update time off reason  | Update a time off reason in a team's schedule.                                   | `MICROSOFT_TEAMS_UPDATE_TIME_OFF_REASON`  |
      </Accordion>

      <Accordion title="Users (2)">
        | Action            | What it does                                                                                 | Slug                                |
        | ----------------- | -------------------------------------------------------------------------------------------- | ----------------------------------- |
        | Get user teamwork | Get userTeamwork settings for a specified user, including Microsoft Teams region and locale. | `MICROSOFT_TEAMS_GET_USER_TEAMWORK` |
        | List users        | List all users in the organization.                                                          | `MICROSOFT_TEAMS_LIST_USERS`        |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Full access (recommended)">
    Agents can use 172 of the 172 Microsoft Teams actions at this level: everything in **Read + send**, plus:

    * Delete members
    * Delete presence status
    * Delete shifts
    * Delete channel email addresses
    * Delete channels
    * View content
    * Delete groups
    * Delete meetings
    * Delete messages
    * Delete notes
    * Delete tabs
    * Delete teams

    The 27 actions that this level adds to **Read + send**:

    | Works on                    | Action                            | What it does                                                                                 | Slug                                                |
    | --------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------- |
    | **Calls**                   | Delete call operation             | Delete a navigation property operation for a communications call.                            | `MICROSOFT_TEAMS_DELETE_CALL_OPERATION`             |
    | **Channel email addresses** | Remove channel email              | Remove the email address of a channel in Microsoft Teams.                                    | `MICROSOFT_TEAMS_REMOVE_CHANNEL_EMAIL`              |
    | **Channels**                | Archive channel                   | Archive a channel in a Microsoft Teams team.                                                 | `MICROSOFT_TEAMS_ARCHIVE_CHANNEL`                   |
    |                             | Delete channel                    | Delete a channel from a Microsoft Teams team.                                                | `MICROSOFT_TEAMS_DELETE_CHANNEL`                    |
    | **Content**                 | Get meeting transcript content    | Retrieve the raw text/vtt content for a Microsoft Teams meeting transcript.                  | `MICROSOFT_TEAMS_GET_MEETING_TRANSCRIPT_CONTENT`    |
    | **Groups**                  | Delete scheduling group           | Delete a scheduling group from a Microsoft Teams team schedule.                              | `MICROSOFT_TEAMS_DELETE_SCHEDULING_GROUP`           |
    | **Locations**               | Clear presence automatic location | DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_AUTOMATIC\_LOCATION instead.                        | `MICROSOFT_TEAMS_CLEAR_PRESENCE_AUTOMATIC_LOCATION` |
    |                             | Clear presence location           | Clear the authenticated user's presence location.                                            | `MICROSOFT_TEAMS_CLEAR_PRESENCE_LOCATION`           |
    | **Meetings**                | Delete user online meeting        | Delete an online meeting for a user.                                                         | `MICROSOFT_TEAMS_DELETE_USER_ONLINE_MEETING`        |
    | **Members**                 | Remove chat member                | Remove a member from a Microsoft Teams chat.                                                 | `MICROSOFT_TEAMS_REMOVE_CHAT_MEMBER`                |
    |                             | Remove team member                | Remove a member from a Microsoft Teams team.                                                 | `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBER`                |
    |                             | Remove team members               | Remove multiple members from a Microsoft Teams team in bulk.                                 | `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBERS`               |
    | **Messages**                | Delete soft message               | Soft-delete a message in a Teams channel.                                                    | `MICROSOFT_TEAMS_DELETE_SOFT_MESSAGE`               |
    |                             | Send message to self              |                                                                                              | `MICROSOFT_TEAMS_SEND_MESSAGE_TO_SELF`              |
    |                             | Unpin message                     | Unpin a message from a Microsoft Teams chat.                                                 | `MICROSOFT_TEAMS_UNPIN_MESSAGE`                     |
    | **Notes**                   | Delete day note                   | Delete a day note from a Microsoft Teams schedule.                                           | `MICROSOFT_TEAMS_DELETE_DAY_NOTE`                   |
    | **Presence status**         | Clear my presence                 | DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_PRESENCE instead.                                   | `MICROSOFT_TEAMS_CLEAR_MY_PRESENCE`                 |
    |                             | Clear presence                    | Clear the presence information for a user's application presence session in Microsoft Teams. | `MICROSOFT_TEAMS_CLEAR_PRESENCE`                    |
    | **Shifts**                  | Delete open shift                 | Delete an open shift from a Microsoft Teams schedule.                                        | `MICROSOFT_TEAMS_DELETE_OPEN_SHIFT`                 |
    |                             | Delete shift                      | Delete a shift from a Microsoft Teams team schedule.                                         | `MICROSOFT_TEAMS_DELETE_SHIFT`                      |
    | **Tabs**                    | Delete tab                        | Delete a tab from a Microsoft Teams channel.                                                 | `MICROSOFT_TEAMS_DELETE_TAB`                        |
    | **Teams**                   | Delete team                       | Delete a Microsoft Teams team.                                                               | `MICROSOFT_TEAMS_DELETE_TEAM`                       |
    | **Time off**                | Delete time off                   | Delete a timeOff from a team's schedule.                                                     | `MICROSOFT_TEAMS_DELETE_TIME_OFF`                   |
    |                             | Delete time off reason            | Delete a time off reason from a team's schedule.                                             | `MICROSOFT_TEAMS_DELETE_TIME_OFF_REASON`            |
    |                             | Delete time off request           | Delete a time off request from a Microsoft Teams team schedule.                              | `MICROSOFT_TEAMS_DELETE_TIME_OFF_REQUEST`           |
    | **Transcripts**             | List meeting transcripts          | List meeting transcripts for a Microsoft Teams online meeting.                               | `MICROSOFT_TEAMS_LIST_MEETING_TRANSCRIPTS`          |
    | **Users**                   | Clear me presence user preferred  | Clear a user's preferred presence setting in Microsoft Teams.                                | `MICROSOFT_TEAMS_CLEAR_ME_PRESENCE_USER_PREFERRED`  |
  </Accordion>
</AccordionGroup>

<Tip>At **Read-only**, agents cannot list chat or channel messages. That needs **Read + send** or **Full access**.</Tip>

## Connect Microsoft Teams

Before you start:

* You need a Microsoft Teams account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Microsoft Teams">
    Find **Microsoft Teams** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Microsoft Teams">
    Click **Connect Microsoft Teams**. The Microsoft Teams sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Microsoft Teams">
    Sign in to Microsoft Teams and approve the request.
  </Step>
</Steps>

Check that it works: Microsoft Teams shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Microsoft Teams account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Microsoft Teams account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Microsoft Teams account

Click **+ Account** on the Microsoft Teams card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Microsoft Teams side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Microsoft Teams**.
3. Sign in to Microsoft Teams and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Microsoft Teams account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Microsoft Teams account becomes primary.</Warning>

## Costs

Microsoft Teams actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Microsoft Teams, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Microsoft Teams connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Microsoft Teams?">
    Each Microsoft Teams account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Microsoft Teams account?">
    Click **+ Account** on the Microsoft Teams card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Microsoft Teams?">
    Open the account menu (⋯) on the Microsoft Teams account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
