# Microsoft Teams on boxd

> Microsoft Teams integrates chat, video meetings, and file storage within Microsoft 365, providing virtual collaboration and communication for distributed teams.

- Page: https://boxd.sh/integrations/microsoft-teams/
- CLI: `run microsoft-teams` (169 commands, 72 marked common)
- SDK: `import { microsoftTeams } from "@boxd/run"`; every parameter and response type is at `@boxd/run/microsoft-teams`
- Triggers: none
- Connect: `run auth microsoft-teams` (Sign in with Microsoft Teams), or https://app.boxd.sh/integrations/detail/microsoft_teams
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth microsoft-teams      # once: prints a link to connect your account
run microsoft-teams           # list its commands
run microsoft-teams get-my-profile
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, microsoftTeams } from "@boxd/run";

every("1 hour", async () => {
  const result = await microsoftTeams.getMyProfile({});
  console.log(result);
});
```

Run it with `run microsoft-teams.run.ts`. Microsoft Teams has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run microsoft-teams <command> --help` lists the optional ones. "common" marks what `run microsoft-teams` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-chat-member` ·common | `microsoftTeams.addChatMember()` | `--chat-id` `--user-id` | 2 | Add a conversationMember to a Microsoft Teams chat |
| `add-member-to-channel` ·common | `microsoftTeams.addMemberToChannel()` | `--channel-id` `--team-id` `--user-id` | 1 | Add a member to a Microsoft Teams channel |
| `add-member-to-team` ·common | `microsoftTeams.addMemberToTeam()` | `--team-id` `--user-id` | 1 | (DEPRECATED: use `add-team-member`) Tool to add a user to a Microsoft Teams team |
| `add-tab` | `microsoftTeams.addTab()` | `--channel-id` `--display-name` `--team-id` `--teams-app-id` | 1 | Add a new tab to a Microsoft Teams channel |
| `add-team-member` ·common | `microsoftTeams.addTeamMember()` | `--team-id` `--user-id` | 1 | Add a user to a Microsoft Teams team |
| `add-team-members-bulk` ·common | `microsoftTeams.addTeamMembersBulk()` | `--team-id` `--values` | 0 | Add multiple members to a Microsoft Teams team in a single operation |
| `archive-channel` ·common | `microsoftTeams.archiveChannel()` | `--channel-id` `--team-id` | 1 | Archive a channel in a Microsoft Teams team |
| `archive-group-team-channel` ·common | `microsoftTeams.archiveGroupTeamChannel()` | `--channel-id` `--group-id` | 1 | Archive a channel in a Microsoft Teams team using the group ID |
| `archive-team` ·common | `microsoftTeams.archiveTeam()` | `--team-id` | 1 | Archive a Microsoft Teams team |
| `chats-get-all-chats` | `microsoftTeams.chatsGetAllChats()` | — | 6 | Lists a specified user's Microsoft Teams chats, supporting filtering and property selection |
| `chats-get-all-messages` ·deprecated | `microsoftTeams.chatsGetAllMessages()` | `--chat-id` | 6 | Use ListUserChatMessages instead |
| `clear-automatic-location` | `microsoftTeams.clearAutomaticLocation()` | `--user-id` | 0 | Clear the automatic location from a user's presence in Microsoft Teams |
| `clear-me-presence-user-preferred` | `microsoftTeams.clearMePresenceUserPreferred()` | — | 1 | Clear a user's preferred presence setting in Microsoft Teams |
| `clear-my-presence` ·deprecated | `microsoftTeams.clearMyPresence()` | `--sessionId` | 1 | Use clear-presence instead |
| `clear-presence` | `microsoftTeams.clearPresence()` | `--sessionId` `--user-id` | 0 | Clear the presence information for a user's application presence session in Microsoft Teams |
| `clear-presence-automatic-location` ·deprecated | `microsoftTeams.clearPresenceAutomaticLocation()` | — | 1 | Use clear-automatic-location instead |
| `clear-presence-location` | `microsoftTeams.clearPresenceLocation()` | — | 1 | Clear the authenticated user's presence location |
| `clone-team` ·common | `microsoftTeams.cloneTeam()` | `--displayName` `--mailNickname` `--team-id` | 4 | Clone a Microsoft Teams team using the team ID |
| `create-call-operation` ·common | `microsoftTeams.createCallOperation()` | `--call-id` | 3 | Create a new operation for a communications call |
| `create-channel` | `microsoftTeams.createChannel()` | `--name` `--team-id` | 6 | Create a new standard, private, or shared channel within a Microsoft Teams team |
| `create-content-sharing-session` | `microsoftTeams.createContentSharingSession()` | `--call-id` | 0 | Create a content sharing session in a Microsoft Teams call |
| `create-group-team-channel` | `microsoftTeams.createGroupTeamChannel()` | `--display-name` `--group-id` | 3 | Create a new channel in a group's associated team |
| `create-meeting` ·common | `microsoftTeams.createMeeting()` | `--end-date-time` `--start-date-time` `--subject` | 26 | Use to schedule a new standalone Microsoft Teams online meeting, i.e., one not linked to any calendar event |
| `create-offer-shift-request` | `microsoftTeams.createOfferShiftRequest()` | `--recipientUserId` `--senderShiftId` `--team-id` | 5 | Create a new offer shift request in a user's joined team schedule |
| `create-open-shift` ·common | `microsoftTeams.createOpenShift()` | `--sharedOpenShift` `--team-id` | 3 | Create a new open shift in a Microsoft Teams team schedule |
| `create-open-shift-change-request` | `microsoftTeams.createOpenShiftChangeRequest()` | `--openShiftId` `--senderUserId` `--team-id` | 1 | Create a new open shift change request in a team schedule |
| `create-or-get-online-meeting` | `microsoftTeams.createOrGetOnlineMeeting()` | `--externalId` | 6 | Create a new Microsoft Teams online meeting or retrieve an existing one based on externalId |
| `create-or-update-schedule` | `microsoftTeams.createOrUpdateSchedule()` | `--team-id` | 8 | Create or replace a schedule object for a Microsoft Teams team |
| `create-schedule-day-note` | `microsoftTeams.createScheduleDayNote()` | `--dayNoteDate` `--teamId` | 2 | Create a new day note in a team's schedule |
| `create-scheduling-group` | `microsoftTeams.createSchedulingGroup()` | `--display-name` `--team-id` `--user-ids` | 2 | Create a new scheduling group in a team's schedule |
| `create-shift` ·common | `microsoftTeams.createShift()` | `--draftShift` `--team-id` `--userId` | 3 | Create a new shift in a Microsoft Teams team schedule |
| `create-team` ·common | `microsoftTeams.createTeam()` | `--displayName` | 13 | Create a new Microsoft Teams team |
| `create-team-from-group` ·common | `microsoftTeams.createTeamFromGroup()` | `--group-id` | 4 | Create a new team under an existing Microsoft 365 group |
| `create-time-off` ·common | `microsoftTeams.createTimeOff()` | `--team-id` `--userId` | 3 | Create a new timeOff instance in a team's schedule |
| `create-time-off-reason` ·common | `microsoftTeams.createTimeOffReason()` | `--displayName` `--iconType` `--isActive` `--team-id` | 1 | Create a new time off reason in a team's schedule |
| `create-time-off-request` | `microsoftTeams.createTimeOffRequest()` | `--endDateTime` `--senderUserId` `--startDateTime` `--team-id` `--timeOffReasonId` | 1 | Create a new time off request in a team's schedule |
| `create-user-online-meeting` | `microsoftTeams.createUserOnlineMeeting()` | `--endDateTime` `--startDateTime` `--subject` `--user-id` | 3 | Create a new Microsoft Teams online meeting for a specific user |
| `delete-call-operation` | `microsoftTeams.deleteCallOperation()` | `--call-id` `--comms-operation-id` | 1 | Delete a navigation property operation for a communications call |
| `delete-channel` ·common | `microsoftTeams.deleteChannel()` | `--channel-id` `--team-id` | 1 | Delete a channel from a Microsoft Teams team |
| `delete-day-note` ·common | `microsoftTeams.deleteDayNote()` | `--day-note-id` `--if-match` `--team-id` | 0 | Delete a day note from a Microsoft Teams schedule |
| `delete-open-shift` ·common | `microsoftTeams.deleteOpenShift()` | `--open-shift-id` `--team-id` | 1 | Delete an open shift from a Microsoft Teams schedule |
| `delete-scheduling-group` ·common | `microsoftTeams.deleteSchedulingGroup()` | `--scheduling-group-id` `--team-id` | 1 | Delete a scheduling group from a Microsoft Teams team schedule |
| `delete-shift` ·common | `microsoftTeams.deleteShift()` | `--shift-id` `--team-id` | 1 | Delete a shift from a Microsoft Teams team schedule |
| `delete-soft-message` ·common | `microsoftTeams.deleteSoftMessage()` | `--channel-id` `--message-id` `--team-id` | 0 | Soft-delete a message in a Teams channel |
| `delete-tab` ·common | `microsoftTeams.deleteTab()` | `--channel-id` `--tab-id` `--team-id` | 1 | Delete a tab from a Microsoft Teams channel |
| `delete-team` ·common | `microsoftTeams.deleteTeam()` | `--team-id` | 0 | Delete a Microsoft Teams team |
| `delete-time-off` ·common | `microsoftTeams.deleteTimeOff()` | `--team-id` `--timeoff-id` | 1 | Delete a timeOff from a team's schedule |
| `delete-time-off-reason` ·common | `microsoftTeams.deleteTimeOffReason()` | `--team-id` `--time-off-reason-id` | 1 | Delete a time off reason from a team's schedule |
| `delete-time-off-request` ·common | `microsoftTeams.deleteTimeOffRequest()` | `--team-id` `--time-off-request-id` | 1 | Delete a time off request from a Microsoft Teams team schedule |
| `delete-user-online-meeting` ·common | `microsoftTeams.deleteUserOnlineMeeting()` | `--online-meeting-id` `--user-id` | 1 | Delete an online meeting for a user |
| `get-call-operation` | `microsoftTeams.getCallOperation()` | `--call-id` `--comms-operation-id` | 2 | Get a specific commsOperation for a call |
| `get-channel` ·common | `microsoftTeams.getChannel()` | `--channel-id` `--team-id` | 2 | Get a specific channel in a team |
| `get-channel-message` | `microsoftTeams.getChannelMessage()` | `--channel-id` `--message-id` `--team-id` | 0 | Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs |
| `get-channel-message-reply` | `microsoftTeams.getChannelMessageReply()` | `--channel-id` `--message-id` `--reply-id` `--team-id` | 2 | Retrieve a single reply to a message in a channel |
| `get-chat` | `microsoftTeams.getChat()` | `--chat-id` | 1 | Retrieve a single chat by ID |
| `get-chat-last-message-preview` ·deprecated | `microsoftTeams.getChatLastMessagePreview()` | `--chat-id` | 0 | Use get-chat instead |
| `get-chat-member` | `microsoftTeams.getChatMember()` | `--chat-id` `--conversation-member-id` | 0 | Get a specific conversation member from a Microsoft Teams chat |
| `get-chat-message` ·common | `microsoftTeams.getChatMessage()` | `--chat-id` `--message-id` | 0 | Get a specific chat message |
| `get-day-note` | `microsoftTeams.getDayNote()` | `--daynote-id` `--team-id` | 2 | Retrieve a specific day note from a team's schedule |
| `get-files-folder` | `microsoftTeams.getFilesFolder()` | `--channel-id` `--group-id` | 2 | Get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team |
| `get-group-team-channel` ·deprecated | `microsoftTeams.getGroupTeamChannel()` | `--channel-id` `--group-id` | 2 | Use get-channel instead |
| `get-meeting-transcript-content` ·common | `microsoftTeams.getMeetingTranscriptContent()` | `--online-meeting-id` `--transcript-id` | 2 | Retrieve the raw text/vtt content for a Microsoft Teams meeting transcript |
| `get-my-profile` ·common | `microsoftTeams.getMyProfile()` | — | 2 | Retrieve a user's profile (id/UPN/mail/displayName) |
| `get-offer-shift-request` | `microsoftTeams.getOfferShiftRequest()` | `--offer-shift-request-id` `--team-id` | 2 | Get a specific offer shift request from a Microsoft Teams schedule |
| `get-online-meeting` | `microsoftTeams.getOnlineMeeting()` | `--meeting-id` | 3 | Retrieve details of a specific Microsoft Teams online meeting by its ID |
| `get-open-shift` | `microsoftTeams.getOpenShift()` | `--openshift-id` `--team-id` | 2 | Get a specific open shift from a Microsoft Teams schedule |
| `get-open-shift-change-request` | `microsoftTeams.getOpenShiftChangeRequest()` | `--open-shift-change-request-id` `--team-id` | 2 | Retrieve a specific open shift change request from a Microsoft Teams team's schedule |
| `get-presence` | `microsoftTeams.getPresence()` | `--user-id` | 2 | Get a specific user's presence information |
| `get-primary-channel` ·common | `microsoftTeams.getPrimaryChannel()` | `--team-id` | 2 | Get the default (General) channel of a team |
| `get-schedule` ·common | `microsoftTeams.getSchedule()` | `--team-id` | 2 | Retrieve the properties and relationships of a schedule object |
| `get-scheduling-group` | `microsoftTeams.getSchedulingGroup()` | `--schedulinggroup-id` `--team-id` | 2 | Retrieve a specific scheduling group from a Microsoft Teams team's schedule |
| `get-shift` | `microsoftTeams.getShift()` | `--shift-id` `--team-id` | 2 | Retrieve a shift by ID from a Microsoft Teams team schedule |
| `get-swap-shifts-change-request` | `microsoftTeams.getSwapShiftsChangeRequest()` | `--swap-shifts-change-request-id` `--team-id` | 2 | Get a specific swap shift change request from a Microsoft Teams schedule |
| `get-tab` | `microsoftTeams.getTab()` | `--channel-id` `--tab-id` `--team-id` | 2 | Get a specific tab in a Microsoft Teams channel |
| `get-team-from-group` ·common | `microsoftTeams.getTeamFromGroup()` | `--group-id` | 2 | Get a specific team |
| `get-team-member` | `microsoftTeams.getTeamMember()` | `--membership-id` `--team-id` | 0 | Get a specific conversation member from a team |
| `get-team-operation` ·common | `microsoftTeams.getTeamOperation()` | `--operation-id` `--team-id` | 0 | Retrieve the status of a Teams async operation using teamId and operationId |
| `get-team-template` ·deprecated | `microsoftTeams.getTeamTemplate()` | `--team-id` | 0 | Use get-team-from-group with expand="template" instead |
| `get-teams-app-definition` | `microsoftTeams.getTeamsAppDefinition()` | `--app-installation-id` `--team-id` | 2 | Get an installed app in a Microsoft Teams team |
| `get-time-off` | `microsoftTeams.getTimeOff()` | `--team-id` `--timeoff-id` | 2 | Retrieve a specific time off entry from a Microsoft Teams team's schedule by ID |
| `get-time-off-reason` ·common | `microsoftTeams.getTimeOffReason()` | `--team-id` `--time-off-reason-id` | 0 | Get a specific time off reason from a team's schedule |
| `get-time-off-request` | `microsoftTeams.getTimeOffRequest()` | `--team-id` `--time-off-request-id` | 0 | Retrieve a specific time off request from a team's schedule |
| `get-user-chat` | `microsoftTeams.getUserChat()` | `--chat-id` `--user-id` | 2 | Retrieve a specific chat for a user |
| `get-user-teamwork` | `microsoftTeams.getUserTeamwork()` | `--user-id` | 2 | Get userTeamwork settings for a specified user, including Microsoft Teams region and locale |
| `hide-chat-for-user` | `microsoftTeams.hideChatForUser()` | `--chat-id` `--user` | 0 | Hide a Microsoft Teams chat for a specific user |
| `list-associated-teams` | `microsoftTeams.listAssociatedTeams()` | `--user-id` | 1 | List teams that a user is associated with in Microsoft Teams |
| `list-channel-tabs` | `microsoftTeams.listChannelTabs()` | `--channel-id` `--team-id` | 9 | List tabs from a Microsoft Teams channel |
| `list-chat` ·deprecated | `microsoftTeams.listChat()` | — | 10 | Use chats-get-all-chats instead |
| `list-chat-members` ·common ·deprecated | `microsoftTeams.listChatMembers()` | `--chat-id` | 0 | Use MICROSOFT_TEAMS_USERS_CHATS_LIST_MEMBERS instead |
| `list-communications-calls-operations` ·common | `microsoftTeams.listCommunicationsCallsOperations()` | `--call-id` | 9 | List operations on a Microsoft Teams call |
| `list-deleted-teams` | `microsoftTeams.listDeletedTeams()` | — | 9 | List deleted Microsoft Teams and their properties |
| `list-group-team-channels` ·deprecated | `microsoftTeams.listGroupTeamChannels()` | `--group-id` | 9 | Use MICROSOFT_TEAMS_LIST_CHANNELS instead |
| `list-group-team-operations` ·common | `microsoftTeams.listGroupTeamOperations()` | `--group-id` | 1 | List operations on a group's team |
| `list-incoming-channels` | `microsoftTeams.listIncomingChannels()` | `--team-id` | 3 | List incoming channels shared with a Microsoft Teams team |
| `list-installed-apps` | `microsoftTeams.listInstalledApps()` | `--group-id` | 8 | List apps installed in a Microsoft Teams team |
| `list-meeting-transcripts` ·common | `microsoftTeams.listMeetingTranscripts()` | `--online-meeting-id` `--user-id` | 4 | List meeting transcripts for a Microsoft Teams online meeting |
| `list-message-replies` | `microsoftTeams.listMessageReplies()` | `--channel-id` `--message-id` `--team-id` | 9 | List all replies to a specific message in a Microsoft Teams channel |
| `list-offer-shift-requests` | `microsoftTeams.listOfferShiftRequests()` | `--team-id` | 9 | List offer shift requests in a Microsoft Teams schedule |
| `list-online-meetings` | `microsoftTeams.listOnlineMeetings()` | `--filter` | 9 | Look up a Microsoft Teams online meeting for a user by identifier |
| `list-open-shift-change-requests` | `microsoftTeams.listOpenShiftChangeRequests()` | `--team-id` | 9 | List open shift change requests in a Microsoft Teams schedule |
| `list-open-shifts` | `microsoftTeams.listOpenShifts()` | `--team-id` | 9 | List open shifts in a Microsoft Teams schedule |
| `list-people` | `microsoftTeams.listPeople()` | — | 8 | 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' |
| `list-pinned-messages` | `microsoftTeams.listPinnedMessages()` | `--chat-id` | 2 | Retrieve the list of pinned messages in a Microsoft Teams chat |
| `list-schedule-day-notes` | `microsoftTeams.listScheduleDayNotes()` | `--team-id` | 1 | List all dayNotes from a team's schedule |
| `list-scheduling-groups` | `microsoftTeams.listSchedulingGroups()` | `--team-id` | 8 | List scheduling groups in a team's schedule |
| `list-shifts` | `microsoftTeams.listShifts()` | `--team-id` | 9 | List shifts in a Microsoft Teams schedule |
| `list-swap-shifts-change-requests` | `microsoftTeams.listSwapShiftsChangeRequests()` | `--team-id` | 9 | List swap shift change requests in a Microsoft Teams schedule |
| `list-team-members` ·common | `microsoftTeams.listTeamMembers()` | `--team-id` | 5 | List members of a Microsoft Teams team |
| `list-team-operations` ·common | `microsoftTeams.listTeamOperations()` | `--team-id` | 1 | List operations from a team |
| `list-team-permission-grants` | `microsoftTeams.listTeamPermissionGrants()` | `--team-id` | 1 | List all resource-specific permission grants for a team with support for filtering, pagination, and sorting |
| `list-team-templates` | `microsoftTeams.listTeamTemplates()` | — | 8 | List available Microsoft Teams templates |
| `list-time-off` | `microsoftTeams.listTimeOff()` | `--team-id` | 9 | List time off entries from a Microsoft Teams team's schedule |
| `list-time-off-reasons` | `microsoftTeams.listTimeOffReasons()` | `--team-id` | 8 | Get time off reasons from a team's schedule |
| `list-time-off-requests` | `microsoftTeams.listTimeOffRequests()` | `--team-id` | 9 | Retrieve a list of time off requests from a Microsoft Teams team's schedule |
| `list-user-chat-members` ·common | `microsoftTeams.listUserChatMembers()` | `--chat-id` `--user-id` | 0 | List members of a specific chat for a user in Microsoft Teams |
| `list-user-chat-messages` | `microsoftTeams.listUserChatMessages()` | `--chat-id` `--user-id` | 5 | Retrieve messages from a specific chat for a given user |
| `list-user-joined-teams` | `microsoftTeams.listUserJoinedTeams()` | `--user-id` | 1 | List the Teams that a specified user is a direct member of (joined teams) |
| `list-users` | `microsoftTeams.listUsers()` | — | 9 | List all users in the organization |
| `mark-chat-read-for-user` | `microsoftTeams.markChatReadForUser()` | `--chat-id` `--user` | 0 | Mark a chat as read for a specific user in Microsoft Teams |
| `mark-chat-unread-for-user` | `microsoftTeams.markChatUnreadForUser()` | `--chat-id` `--user` | 1 | Marks a specific chat as unread for a user by setting the last read message timestamp |
| `pin-message` | `microsoftTeams.pinMessage()` | `--chat-id` `--message-id` | 0 | Pin a message in a Microsoft Teams chat |
| `post-message-reply` | `microsoftTeams.postMessageReply()` | `--channel-id` `--content` `--message-id` `--team-id` | 8 | Sends a reply to an existing message, identified by `message_id`, within a specific `channel_id` of a given `team_id` in Microsoft Teams |
| `provision-channel-email` | `microsoftTeams.provisionChannelEmail()` | `--channel-id` `--team-id` | 0 | Provision an email address for a Microsoft Teams channel |
| `remove-channel-email` ·common | `microsoftTeams.removeChannelEmail()` | `--channel-id` `--team-id` | 0 | Remove the email address of a channel in Microsoft Teams |
| `remove-chat-member` ·common | `microsoftTeams.removeChatMember()` | `--chat-id` `--membership-id` | 1 | Remove a member from a Microsoft Teams chat |
| `remove-team-member` ·common | `microsoftTeams.removeTeamMember()` | `--membership-id` `--team-id` | 1 | Remove a member from a Microsoft Teams team |
| `remove-team-members` ·common | `microsoftTeams.removeTeamMembers()` | `--members` `--team-id` | 0 | Remove multiple members from a Microsoft Teams team in bulk |
| `search-files` ·common | `microsoftTeams.searchFiles()` | `--query` | 3 | Search files in Microsoft Teams using KQL syntax |
| `search-messages` ·common | `microsoftTeams.searchMessages()` | — | 5 | Search Microsoft Teams messages using powerful KQL syntax |
| `send-activity-notification` | `microsoftTeams.sendActivityNotification()` | `--activityType` `--previewText` `--recipients` `--topic` | 3 | Send activity notifications to specified recipients in Microsoft Teams |
| `set-me-preferred-presence` ·common ·deprecated | `microsoftTeams.setMePreferredPresence()` | `--activity` `--availability` | 1 | Use set-user-preferred-presence instead |
| `set-presence` ·common | `microsoftTeams.setPresence()` | `--activity` `--availability` `--session-id` `--user-id` | 1 | Set the presence information for a user's application presence session |
| `set-presence-automatic-location` | `microsoftTeams.setPresenceAutomaticLocation()` | `--user-id` `--workLocationType` | 1 | Set the automatic presence location (office/remote/timeOff) for a specified user |
| `set-presence-manual-location` ·deprecated | `microsoftTeams.setPresenceManualLocation()` | `--workLocationType` | 2 | Use set-user-presence-manual-location instead |
| `set-user-preferred-presence` ·common | `microsoftTeams.setUserPreferredPresence()` | `--activity` `--availability` `--user-id` | 1 | Set the preferred availability and activity status for a user |
| `set-user-presence-manual-location` | `microsoftTeams.setUserPresenceManualLocation()` | `--user-id` `--workLocationType` | 1 | Set the manual presence location (office/remote/timeOff) for a specific user |
| `share-team-schedule` | `microsoftTeams.shareTeamSchedule()` | `--endDateTime` `--notifyTeam` `--startDateTime` `--team-id` | 0 | Share a Microsoft Teams schedule for a specified time range |
| `teams-create-channel` | `microsoftTeams.teamsCreateChannel()` | `--name` `--team-id` | 6 | (DEPRECATED: use `create-channel`) Tool to create a new standard, private, or shared channel within a Microsoft Teams team |
| `teams-create-chat` ·common | `microsoftTeams.teamsCreateChat()` | `--chatType` `--members` | 2 | Creates a new chat; if a 'oneOnOne' chat with the specified members already exists, its details are returned, while 'group' chats are always newly created |
| `teams-list` | `microsoftTeams.teamsList()` | — | 5 | Retrieves Microsoft Teams accessible by the authenticated user, allowing filtering, property selection, and pagination |
| `teams-list-channel-messages` ·common | `microsoftTeams.teamsListChannelMessages()` | `--channel-id` `--team-id` | 3 | List messages in a Teams channel when team_id and channel_id are known (no chat_id required) |
| `teams-list-channels` | `microsoftTeams.teamsListChannels()` | `--team-id` | 4 | 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 |
| `teams-list-chat-messages` ·deprecated | `microsoftTeams.teamsListChatMessages()` | `--chat-id` | 5 | Use ListUserChatMessages instead |
| `teams-post-channel-message` | `microsoftTeams.teamsPostChannelMessage()` | `--channel-id` `--content` `--team-id` | 8 | Posts a new top-level message to a channel in Microsoft Teams (does NOT reply to an existing message) |
| `teams-post-chat-message` | `microsoftTeams.teamsPostChatMessage()` | `--chat-id` `--content` | 7 | Sends a non-empty message (text or HTML) to a specified, existing Microsoft Teams chat; content must be valid HTML if `content_type` is 'html' |
| `teams-post-message-reply` | `microsoftTeams.teamsPostMessageReply()` | `--channel-id` `--content` `--message-id` `--team-id` | 6 | (DEPRECATED: use `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 |
| `unarchive-channel` ·common | `microsoftTeams.unarchiveChannel()` | `--channel-id` `--team-id` | 0 | Unarchive a channel in a Microsoft Teams team |
| `unarchive-group-team-channel` ·common | `microsoftTeams.unarchiveGroupTeamChannel()` | `--channel-id` `--group-id` | 0 | Unarchive a channel in a Microsoft Teams group's team |
| `unarchive-team` ·common | `microsoftTeams.unarchiveTeam()` | `--team-id` | 0 | Unarchive a Microsoft Teams team |
| `unhide-chat-for-user` | `microsoftTeams.unhideChatForUser()` | `--chat-id` `--user` | 0 | Unhide a chat for a specific user |
| `unpin-message` ·common | `microsoftTeams.unpinMessage()` | `--chat-id` `--pinned-message-id` | 1 | Unpin a message from a Microsoft Teams chat |
| `update-call` | `microsoftTeams.updateCall()` | `--call-id` | 6 | Update the navigation property calls in Microsoft Teams communications |
| `update-call-operation` ·common | `microsoftTeams.updateCallOperation()` | `--call-id` `--comms-operation-id` | 3 | Update the navigation property operations in communications |
| `update-call-participant` | `microsoftTeams.updateCallParticipant()` | `--callId` `--participantId` | 1 | Update a participant in a Microsoft Teams call |
| `update-channel` ·common | `microsoftTeams.updateChannel()` | `--channel-id` `--group-id` | 3 | Update channel properties in a Microsoft Teams group |
| `update-channel-message` ·common | `microsoftTeams.updateChannelMessage()` | `--channel-id` `--message-id` `--team-id` | 6 | Update a message in a channel |
| `update-chat` ·common | `microsoftTeams.updateChat()` | `--chat-id` | 1 | Update the properties of a chat |
| `update-chat-message` ·common | `microsoftTeams.updateChatMessage()` | `--chat-id` `--content` `--message-id` | 2 | Update a specific message in a chat |
| `update-content-sharing-session` | `microsoftTeams.updateContentSharingSession()` | `--call-id` `--content-sharing-session-id` | 2 | Update a content sharing session in a Microsoft Teams call |
| `update-day-note` | `microsoftTeams.updateDayNote()` | `--dayNote-id` `--team-id` | 3 | Update an existing day note in a team's schedule |
| `update-online-meeting` | `microsoftTeams.updateOnlineMeeting()` | `--online-meeting-id` `--user-id` | 8 | Update the properties of an existing Microsoft Teams online meeting |
| `update-open-shift` ·common | `microsoftTeams.updateOpenShift()` | `--openShiftId` `--teamId` | 4 | Update an existing open shift in a Microsoft Teams team schedule |
| `update-scheduling-group` | `microsoftTeams.updateSchedulingGroup()` | `--scheduling-group-id` `--team-id` | 4 | Replace/update a scheduling group in a team's schedule |
| `update-tab` ·common | `microsoftTeams.updateTab()` | `--channel-id` `--tab-id` `--team-id` | 3 | Update the properties of a tab in a Microsoft Teams channel |
| `update-team` ·common | `microsoftTeams.updateTeam()` | `--team-id` | 10 | Update the properties of a team |
| `update-team-member` ·common | `microsoftTeams.updateTeamMember()` | `--conversation-member-id` `--team-id` | 4 | Update a team member's roles or properties in Microsoft Teams |
| `update-team-schedule-shift` ·common | `microsoftTeams.updateTeamScheduleShift()` | `--shiftId` `--teamId` | 5 | Update an existing shift in a Microsoft Teams team schedule |
| `update-time-off` ·common | `microsoftTeams.updateTimeOff()` | `--team-id` `--timeoff-id` `--userId` | 3 | Replace an existing timeOff entry in a team's schedule |
| `update-time-off-reason` ·common | `microsoftTeams.updateTimeOffReason()` | `--team-id` `--time-off-reason-id` | 4 | Update a time off reason in a team's schedule |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
