The Teams connector lets your AI agent act in each user's Teams account. Each user signs in to Teams once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 82 tools.
- Tools
- 82
- What they doRead · write · destructive
- 28 · 42 · 1228 read42 write12 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
What you can do
- Send and read messages: post, reply to, edit, and read messages in channels and chats
- Search messages: find chat and channel messages across everything the user can access
- Manage teams and channels: create, update, archive, and delete teams and channels, and add or remove members
- Run online meetings: schedule and update meetings, and pull transcripts, recordings, and attendance reports
- Manage chats: start one-on-one or group chats and add or remove chat members
- Handle shifts and time off: create shifts, request swaps, and approve or decline time-off requests
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Teams connection
In AgentKit > Connections, create a Teams connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Teams, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.
Use your own OAuth app
Register your Scalekit environment with the Microsoft Teams connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:
-
Register an Azure app
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Teams and click Create. Copy the redirect URI. It will look like
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.
-
Sign into portal.azure.com and go to Microsoft Entra ID → App registrations → New registration.
-
Enter a name for your app.
-
Under Supported account types, select Accounts in any organizational directory (Any Azure AD directory - Multitenant).
-
Under Redirect URI, select Web and paste the redirect URI from step 1. Click Register.

-
Go to Certificates & secrets → New client secret, set an expiry, and click Add. Copy the Value immediately.
-
From the Overview page, copy the Application (client) ID.
-
-
Create an Azure bot
-
In the Azure portal, search for Azure Bot and click Create.
-
Enter a bot handle name, select your subscription and resource group, and set the Microsoft App ID to the Application (client) ID from above. Click Review + create.

-
Once created, go to Channels and add the Microsoft Teams channel to enable Teams integration.
-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.
-
Enter your credentials:
- Client ID (Application (client) ID from Azure App Registration)
- Client Secret (from Certificates & secrets)
- Permissions (scopes — see Microsoft Graph permissions reference)

-
Click Save.
-
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'microsoftteams'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Teams:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'microsoftteams_list_all_teams',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "microsoftteams"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Teams:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="microsoftteams_list_all_teams",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolmicrosoftteams_get_channelRetrieve the properties and metadata of a specific channel in a Microsoft Teams team, including its display name, description, membership type, and web URL.Read-onlyGet Teams Channel
Retrieve the properties and metadata of a specific channel in a Microsoft Teams team, including its display name, description, membership type, and web URL.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to retrieve.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_get_channel_messageRetrieve a single message from a Microsoft Teams channel by its ID, including body content, sender info, attachments, reactions, and metadata.Read-onlyGet Teams Channel Message
Retrieve a single message from a Microsoft Teams channel by its ID, including body content, sender info, attachments, reactions, and metadata.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel containing the message.
message_idstringrequired- The unique identifier of the Teams channel message to retrieve.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_get_chatRetrieve the properties of a single Microsoft Teams chat (without its messages), such as its topic, chat type, and creation time.Read-onlyGet Teams Chat
Retrieve the properties of a single Microsoft Teams chat (without its messages), such as its topic, chat type, and creation time.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
microsoftteams_get_chat_messageRetrieve a single message from a Microsoft Teams chat by its ID, including body content, sender info, attachments, reactions, and metadata.Read-onlyGet Teams Chat Message
Retrieve a single message from a Microsoft Teams chat by its ID, including body content, sender info, attachments, reactions, and metadata.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat that contains the message.
message_idstringrequired- The unique identifier of the Teams chat message to retrieve.
microsoftteams_get_meeting_transcript_contentDownload the text content of a specific Microsoft Teams meeting transcript, identified by the meeting ID and transcript ID (obtained from microsoftteams_list_meeting_transcripts).Read-onlyGet Meeting Transcript Content
Download the text content of a specific Microsoft Teams meeting transcript, identified by the meeting ID and transcript ID (obtained from microsoftteams_list_meeting_transcripts). Returned as WebVTT-formatted text with timestamped speaker turns.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting the transcript belongs to.
transcript_idstringrequired- The unique identifier of the transcript to download. Obtain from microsoftteams_list_meeting_transcripts.
microsoftteams_get_online_meetingRetrieve details of a specific Microsoft Teams online meeting by meeting ID.Read-onlyGet Teams Online Meeting
Retrieve details of a specific Microsoft Teams online meeting by meeting ID. Returns meeting properties including subject, join URL, start/end times, participants, and meeting options.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to retrieve. Obtain from the create meeting response or list meetings API.
microsoftteams_get_teamRetrieve the properties and relationships of a Microsoft Teams team by its team ID.Read-onlyGet Teams Team
Retrieve the properties and relationships of a Microsoft Teams team by its team ID. Returns team details including display name, description, visibility, member settings, and guest settings.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team to retrieve.
microsoftteams_list_all_teamsList all teams in the organization's tenant, not just those the signed-in user has joined.Read-onlyList All Teams
List all teams in the organization's tenant, not just those the signed-in user has joined. This is a tenant-wide directory query distinct from 'List Joined Teams' and typically requires an application permission such as Team.ReadBasic.All.
Inputs
filterstring- OData filter expression to narrow results. Example: "displayName eq 'Engineering'".
selectstring- Comma-separated list of team properties to return. Reduces response payload size.
topinteger- Maximum number of teams to return per page. Use for pagination.
microsoftteams_list_channel_membersList the members of a Microsoft Teams channel, including direct members of standard, private, and shared channels.Read-onlyList Teams Channel Members
List the members of a Microsoft Teams channel, including direct members of standard, private, and shared channels. Channel membership can differ from team membership, especially for private and shared channels.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
filterstring- OData filter expression to narrow results.
selectstring- Comma-separated list of member properties to return.
topinteger- Maximum number of members to return per page. Use for pagination.
microsoftteams_list_channel_message_repliesList all replies in a Microsoft Teams channel message thread.Read-onlyList Teams Channel Message Replies
List all replies in a Microsoft Teams channel message thread. Returns replies to the specified parent message with support for pagination.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel containing the message thread.
message_idstringrequired- The unique identifier of the parent channel message whose replies to list.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
$skipinteger- Number of replies to skip for pagination. Use with $top to page through results.
$topinteger- Maximum number of replies to return per page. Use to control page size.
microsoftteams_list_channel_messagesList messages in a Microsoft Teams channel with support for pagination.Read-onlyList Teams Channel Messages
List messages in a Microsoft Teams channel with support for pagination. Returns up to 20 messages by default (max 50 per page).
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to list messages from.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
$skipinteger- Number of messages to skip for pagination. Use with $top to page through results.
$topinteger- Number of channel messages to return per page (1–50, default: 20). Microsoft Graph caps this at 50 for channel messages.default
20
microsoftteams_list_channel_tabsList all tabs pinned to a Microsoft Teams channel.Read-onlyList Teams Channel Tabs
List all tabs pinned to a Microsoft Teams channel. By default expands the teamsApp relationship to include app details for each tab.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel whose tabs to list.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
expandstring- OData $expand expression to include related resources. Defaults to 'teamsApp' which includes the app details for each tab. Set to null to suppress expansion.default
teamsApp
microsoftteams_list_channelsList all channels in a Microsoft Teams team.Read-onlyList Teams Channels
List all channels in a Microsoft Teams team. Supports OData filtering (e.g., by membershipType) and field selection to reduce response size.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose channels to list.
filterstring- OData filter expression to narrow results. Example: "membershipType eq 'standard'" or "displayName eq 'General'".
selectstring- Comma-separated list of channel properties to return. Example: 'id,displayName,membershipType,webUrl'. Reduces response payload size.
microsoftteams_list_chat_membersList the conversation members of a Microsoft Teams chat.Read-onlyList Teams Chat Members
List the conversation members of a Microsoft Teams chat.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
filterstring- OData filter expression to narrow results.
selectstring- Comma-separated list of member properties to return.
topinteger- Maximum number of members to return per page. Use for pagination.
microsoftteams_list_chat_message_repliesList all replies in a Microsoft Teams chat message thread.Read-onlyList Teams Chat Message Replies
List all replies in a Microsoft Teams chat message thread. Returns replies to the specified parent message with support for pagination. This endpoint is available on the Microsoft Graph beta API.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
message_idstringrequired- The unique identifier of the chat message.
skipinteger- Number of replies to skip for pagination. Use with $top to page through results.
topinteger- Maximum number of replies to return per page. Use to control page size.
microsoftteams_list_chat_messagesList messages in a Microsoft Teams chat (1:1, group, or meeting chat) with support for pagination and ordering.Read-onlyList Teams Chat Messages
List messages in a Microsoft Teams chat (1:1, group, or meeting chat) with support for pagination and ordering. Returns up to 50 messages per page ordered by creation time descending by default.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat to list messages from. Obtain from the list chats API or Teams URL.
orderbystring- OData orderby expression for sorting messages. Default is 'createdDateTime desc' (newest first). Example: 'createdDateTime asc' for oldest first.default
createdDateTime desc topinteger- Number of chat messages to return per page (1–50, default: 50). Microsoft Graph caps this at 50 for chat messages.default
50
microsoftteams_list_chatsList the chats (one-on-one, group, and meeting chats) that the signed-in user is part of.Read-onlyList Teams Chats
List the chats (one-on-one, group, and meeting chats) that the signed-in user is part of. Use this to discover chat_id values before calling the other chat-scoped Teams tools.
Inputs
filterstring- OData filter expression to narrow results.
selectstring- Comma-separated list of chat properties to return.
topinteger- Maximum number of chats to return per page. Use for pagination.
microsoftteams_list_installed_appsList the apps installed in a Microsoft Teams team.Read-onlyList Teams Installed Apps
List the apps installed in a Microsoft Teams team. Use $expand=teamsApp to include the app's display name and other catalog details in the response.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team.
expandstring- OData $expand expression. Use 'teamsApp' to include the app's display name and details.
selectstring- Comma-separated list of installation properties to return.
topinteger- Maximum number of installed apps to return per page. Use for pagination.
microsoftteams_list_meeting_attendance_reportsList the attendance reports for a Microsoft Teams online meeting, showing who joined/left and when for each meeting session.Read-onlyList Meeting Attendance Reports
List the attendance reports for a Microsoft Teams online meeting, showing who joined/left and when for each meeting session. A meeting can have multiple attendance reports if it was started and stopped more than once.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to list attendance reports for. Obtain from the create meeting response or list meetings API.
topinteger- Maximum number of attendance reports to return. Example: 10.
microsoftteams_list_meeting_recordingsList the recordings generated for a Microsoft Teams online meeting.Read-onlyList Meeting Recordings
List the recordings generated for a Microsoft Teams online meeting. Supports meetings scheduled on the user's calendar (not ad-hoc meetings created via the application API). Each recording includes a recordingContentUrl for downloading the video content.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to list recordings for. Obtain from the create meeting response or list meetings API.
filterstring- OData filter expression to narrow recording results. Example: "createdDateTime gt 2024-07-01T00:00:00Z".
topinteger- Maximum number of recordings to return. Example: 10.
microsoftteams_list_meeting_transcriptsList the transcripts generated for a Microsoft Teams online meeting.Read-onlyList Meeting Transcripts
List the transcripts generated for a Microsoft Teams online meeting. Supports meetings scheduled on the user's calendar (not ad-hoc meetings created via the application API). Use microsoftteams_get_meeting_transcript_content to download the actual transcript text for one of the returned transcript IDs.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to list transcripts for. Obtain from the create meeting response or list meetings API.
filterstring- OData filter expression to narrow transcript results. Example: "createdDateTime gt 2024-07-01T00:00:00Z".
topinteger- Maximum number of transcripts to return. Example: 10.
microsoftteams_list_scheduling_groupsList the scheduling groups (team-member groupings that shifts can be assigned to) in a Microsoft Teams team's schedule.Read-onlyList Scheduling Groups
List the scheduling groups (team-member groupings that shifts can be assigned to) in a Microsoft Teams team's schedule. Use the returned group IDs with microsoftteams_create_shift's scheduling_group_id field.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule's scheduling groups to list.
microsoftteams_list_shift_swap_requestsList shift swap change requests in a Microsoft Teams team schedule.Read-onlyList Teams Shift Swap Requests
List shift swap change requests in a Microsoft Teams team schedule. Supports OData $filter (e.g., filter by state) and $top to control the number of results returned.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule shift swap requests to list.
filterstring- OData filter expression to narrow shift swap request results. Example: "state eq 'pending'" to fetch only pending swap requests.
topinteger- Maximum number of shift swap requests to return. Use to limit the response size. Example: 25.
microsoftteams_list_shiftsList shifts in a Microsoft Teams team schedule.Read-onlyList Teams Shifts
List shifts in a Microsoft Teams team schedule. Supports OData $filter (e.g., filter by start date) and $top to control the number of results returned.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule shifts to list.
filterstring- OData filter expression to narrow shift results. Example: "sharedShift/startDateTime ge 2024-07-01T00:00:00Z" to fetch shifts starting on or after July 1, 2024.
topinteger- Maximum number of shifts to return. Use to limit the response size. Example: 25.
microsoftteams_list_team_membersList all members (including owners) of a Microsoft Teams team.Read-onlyList Teams Team Members
List all members (including owners) of a Microsoft Teams team. Returns conversationMember resources with membership IDs, user details, and roles. Supports OData filtering and field selection.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose members to list.
filterstring- OData filter expression to narrow results. Example: "roles/any(r:r eq 'owner')" to list only owners.
selectstring- Comma-separated list of member properties to return. Example: 'id,displayName,roles,email'. Reduces response payload size.
topinteger- Maximum number of members to return per page. Use for pagination.
microsoftteams_list_teamsList all Microsoft Teams teams that the signed-in user has joined.Read-onlyList Joined Teams
List all Microsoft Teams teams that the signed-in user has joined. Supports OData query options for filtering, field selection, and pagination.
Inputs
$filterstring- OData filter expression to narrow results. Example: "displayName eq 'Engineering'".
$selectstring- Comma-separated list of team properties to return. Example: 'id,displayName,description,visibility'. Reduces response payload size.
$topinteger- Maximum number of teams to return per page. Use for pagination.
microsoftteams_list_time_off_requestsList time-off requests in a Microsoft Teams team schedule.Read-onlyList Teams Time Off Requests
List time-off requests in a Microsoft Teams team schedule. Supports OData $filter (e.g., filter by status or date range) and $top to control the number of results returned.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule time-off requests to list.
filterstring- OData filter expression to narrow time-off request results. Example: "state eq 'pending'" to fetch only pending requests.
topinteger- Maximum number of time-off requests to return. Use to limit the response size. Example: 25.
microsoftteams_search_messagesSearch Microsoft Teams chat messages across all chats and channels accessible to the signed-in user using the Microsoft Search API.Read-onlySearch Teams Messages
Search Microsoft Teams chat messages across all chats and channels accessible to the signed-in user using the Microsoft Search API. Supports pagination via from/size parameters. Returns up to 25 results by default.
Inputs
querystringrequired- The search query string to find matching Teams messages. Supports keyword search and KQL (Keyword Query Language). Example: 'project kickoff' or 'from:alice@example.com subject:budget'.
frominteger- Zero-based index of the first result to return, used for pagination. Default is 0 (start from the first result).default
0 sizeinteger- Number of results to return per page. Default is 25, maximum is 200.default
25
microsoftteams_add_channel_memberAdd a user as a conversationMember of a Microsoft Teams channel.WriteAdd Teams Channel Member
Add a user as a conversationMember of a Microsoft Teams channel. This operation is only allowed for channels with a membershipType of private or shared; standard channel membership is derived from team membership instead.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
user_idstringrequired- The Azure AD object ID of the user to add. This is the user's unique identifier in Microsoft Entra ID, not their email address.
rolestring- The role to assign to the added user. Valid values: 'member' or 'owner'. Defaults to 'member'.one of
memberownerdefaultmember
microsoftteams_add_chat_memberAdd a user as a conversationMember of a Microsoft Teams chat.WriteAdd Teams Chat Member
Add a user as a conversationMember of a Microsoft Teams chat. Typically used to add members to an existing group chat; one-on-one chats cannot have a third member added (create a group chat instead).
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
user_idstringrequired- The Azure AD object ID of the user to add. This is the user's unique identifier in Microsoft Entra ID, not their email address.
rolestring- The role to assign to the added user. Valid values: 'member' or 'owner'. Defaults to 'member'.one of
memberownerdefaultmember
microsoftteams_add_team_memberAdd a user to a Microsoft Teams team as a member or owner.WriteAdd Teams Team Member
Add a user to a Microsoft Teams team as a member or owner. Requires the team ID and the Azure AD user ID of the person to add. The user must exist in the same tenant. Returns the new conversationMember resource on success (HTTP 201).
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team to add the member to.
user_idstringrequired- The Azure AD object ID of the user to add to the team. This is the user's unique identifier in Microsoft Entra ID, not their email address.
rolestring- The role to assign to the added user. Valid values: 'member' (standard member) or 'owner' (team owner with admin privileges). Defaults to 'member'.one of
memberownerdefaultmember
microsoftteams_approve_time_off_requestApprove a pending time-off request in a Microsoft Teams team schedule.WriteApprove Teams Time Off Request
Approve a pending time-off request in a Microsoft Teams team schedule. Requires the team ID and request ID. Optionally include a manager note to send with the approval. Returns HTTP 204 No Content on success.
Inputs
request_idstringrequired- The unique identifier of the time-off request to approve. Obtain from the list time-off requests API.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the time-off request.
messagestring- Optional message from the manager to include with the approval decision. Example: 'Approved, enjoy your vacation!'
microsoftteams_archive_channelArchive a channel in a Microsoft Teams team, making it read-only for members.WriteArchive Teams Channel
Archive a channel in a Microsoft Teams team, making it read-only for members. Archiving is reversible — the channel can be unarchived later. Optionally sets the associated SharePoint site to read-only.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to archive.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel to archive.
set_spo_site_readonlyboolean- If true, the SharePoint Online (SPO) site associated with the channel will also be set to read-only when the channel is archived. Defaults to false.default
false
microsoftteams_archive_teamArchive a Microsoft Teams team, making it read-only.WriteArchive Teams Team
Archive a Microsoft Teams team, making it read-only. The team is archived asynchronously (HTTP 202). Optionally set the SharePoint site associated with the team to read-only as well. To restore a team, use the unarchive endpoint.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team to archive.
should_set_spo_site_read_only_for_membersboolean- If true, sets the SharePoint Online site associated with the team to read-only for members. Defaults to false.default
false
microsoftteams_clear_user_presenceClear a previously set presence override for the signed-in user in Microsoft Teams for a specific application session.WriteClear Teams User Presence
Clear a previously set presence override for the signed-in user in Microsoft Teams for a specific application session. Provide the same session ID used when calling setPresence. After clearing, Teams reverts to the user's actual computed presence. Requires the Presence.ReadWrite scope.
Inputs
session_idstringrequired- The GUID of the application session whose presence override should be cleared. Must match the session ID passed to the setPresence call. Example: '22553876-f5ab-4529-bffb-cfe50aa89f87'.
microsoftteams_clone_teamClone an existing Microsoft Teams team into a new team, copying selected parts such as apps, tabs, settings, channels, and/or members.WriteClone Teams Team
Clone an existing Microsoft Teams team into a new team, copying selected parts such as apps, tabs, settings, channels, and/or members. The clone operation is asynchronous (HTTP 202). Required: team_id, display_name, parts_to_clone.
Inputs
display_namestringrequired- The display name for the new cloned team.
parts_to_clonestringrequired- Comma-separated list of team parts to clone. Valid parts: apps, tabs, settings, channels, members. Example: 'apps,tabs,settings,channels,members'.
team_idstringrequired- The unique identifier of the Microsoft Teams team to clone.
classificationstring- Classification label for the cloned team (organization-defined, e.g., 'Confidential', 'Internal'). Optional.
descriptionstring- Optional description for the cloned team.
mail_nicknamestring- The mail alias (nickname) for the new team's Microsoft 365 Group. Must be unique in the tenant and contain only alphanumeric characters and hyphens.
visibilitystring- Visibility of the cloned team. Valid values: 'public' (anyone in org can join), 'private' (owner must invite). Defaults to 'private'.one of
publicprivatedefaultprivate
microsoftteams_create_channelCreate a new channel in a Microsoft Teams team.WriteCreate Teams Channel
Create a new channel in a Microsoft Teams team. Supports standard, private, and shared channel membership types. Requires the team ID and a display name for the new channel.
Inputs
display_namestringrequired- The display name of the new channel. Must be unique within the team and cannot contain special characters like #, &, :, <, >, *, ?.
team_idstringrequired- The unique identifier of the Microsoft Teams team in which to create the channel.
descriptionstring- Optional description for the new channel (plain text, up to 1024 characters).
membership_typestring- The membership type of the channel: 'standard' (visible to all team members), 'private' (invite-only subset of team members), or 'shared' (shared with people outside the team). Defaults to 'standard'.one of
standardprivateshareddefaultstandard
microsoftteams_create_channel_tabAdd (pin) a tab to a Microsoft Teams channel, backed by an app that is already installed in the team and has the configurableTabs property defined in its app manifest.WriteCreate Teams Channel Tab
Add (pin) a tab to a Microsoft Teams channel, backed by an app that is already installed in the team and has the configurableTabs property defined in its app manifest.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
content_urlstringrequired- URL used for rendering tab contents in Teams. Required for the tab to display content.
display_namestringrequired- Name of the tab.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
teams_app_idstringrequired- The ID of the Teams app (from the app catalog) that is linked to the tab. This can't be changed after tab creation.
entity_idstring- Identifier for the entity hosted by the tab provider.
remove_urlstring- URL called by Teams client when a tab is removed using the Teams client.
website_urlstring- URL for showing tab contents outside of Teams.
microsoftteams_create_chatCreate a new one-on-one or group chat in Microsoft Teams with the given members.WriteCreate Teams Chat
Create a new one-on-one or group chat in Microsoft Teams with the given members. A oneOnOne chat requires exactly 2 members; a group chat requires 2 or more and may have a topic. All initial members are added with the 'owner' role, matching Microsoft Graph's requirement for chat creation.
Inputs
chat_typestringrequired- The type of chat to create. Valid values: 'oneOnOne' (exactly 2 members) or 'group' (2+ members).one of
oneOnOnegroup member_user_idsarrayrequired- Azure AD object IDs of the users to add as chat members.
topicstring- Optional subject or topic for the chat. Only available for group chats.
microsoftteams_create_online_meetingCreate a new Microsoft Teams online meeting for the signed-in user.WriteCreate Teams Online Meeting
Create a new Microsoft Teams online meeting for the signed-in user. Requires a subject, start time, and end time in ISO 8601 format. Optionally invite attendees by UPN (email) and control who can present.
Inputs
end_date_timestringrequired- The end date and time of the meeting in ISO 8601 UTC format. Example: '2024-07-15T10:00:00Z'.
start_date_timestringrequired- The start date and time of the meeting in ISO 8601 UTC format. Example: '2024-07-15T09:00:00Z'.
subjectstringrequired- The subject/title of the online meeting. Displayed to all participants in the meeting invite and join page.
allowed_presentersstring- Who can present in the meeting. 'everyone' allows all participants, 'organization' restricts to org members, 'roleIsPresenter' limits to assigned presenters, 'organizer' restricts to the meeting organizer only. Defaults to 'organization'.one of
everyoneorganizationroleIsPresenterorganizerdefaultorganization attendee_upnsarray- Array of UPN (User Principal Name / email address) strings for meeting attendees. Example: ["alice@contoso.com", "bob@contoso.com"]. Each UPN is mapped to an attendee object in the participants block.
microsoftteams_create_scheduling_groupCreate a new scheduling group (a team-member grouping shifts can be assigned to) in a Microsoft Teams team's schedule.WriteCreate Scheduling Group
Create a new scheduling group (a team-member grouping shifts can be assigned to) in a Microsoft Teams team's schedule. Required before microsoftteams_create_shift can assign a shift to a group if none exist yet.
Inputs
display_namestringrequired- The display name for the scheduling group, shown on the schedule view. Example: 'Cashiers'.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule to create the scheduling group in.
codestring- An external identifier code for this scheduling group, for use with external systems.
is_activeboolean- Whether the scheduling group can be used when creating new shifts. Defaults to true.default
true user_idsarray- The Azure AD object IDs of the users who are members of this scheduling group.
microsoftteams_create_shiftCreate a new shift in a Microsoft Teams team schedule.WriteCreate Teams Shift
Create a new shift in a Microsoft Teams team schedule. Requires team ID, user ID, scheduling group ID, and start/end date times in ISO 8601 format. Optionally set a display name, notes, and theme color for the shift.
Inputs
end_date_timestringrequired- The end date and time of the shift in ISO 8601 UTC format. Example: '2024-07-15T17:00:00Z'.
scheduling_group_idstringrequired- The unique identifier of the scheduling group (team member group) to assign the shift to. Obtain from the scheduling groups API.
start_date_timestringrequired- The start date and time of the shift in ISO 8601 UTC format. Example: '2024-07-15T09:00:00Z'.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule to create the shift in.
user_idstringrequired- The unique identifier (object ID) of the user to assign the shift to. Obtain from the Microsoft Entra user object or list users API.
display_namestring- Optional display name for the shift, shown on the schedule. Example: 'Morning Shift'.
notesstring- Optional notes or instructions for the shift, visible to the assigned user. Example: 'Please cover the front desk.'.
themestring- Color theme for the shift block on the schedule view. Valid values: white, blue, green, purple, pink, yellow, gray, darkBlue, darkGreen, darkPurple, darkPink, darkYellow. Defaults to 'blue'.one of
whitebluegreenpurplepinkyellowgraydarkBluedarkGreendarkPurpledarkPinkdarkYellowdefaultblue
microsoftteams_create_shift_swap_requestCreate a shift swap request in a Microsoft Teams team schedule, proposing that two employees exchange their shifts.WriteCreate Teams Shift Swap Request
Create a shift swap request in a Microsoft Teams team schedule, proposing that two employees exchange their shifts. Requires the team ID, both employees' user IDs and their respective shift IDs. Optionally include a message from the requester.
Inputs
recipient_shift_idstringrequired- The unique identifier of the shift belonging to the recipient (the employee whose shift the sender wants to take). Obtain from the list shifts API.
recipient_user_idstringrequired- The Azure AD object ID of the employee being asked to swap their shift.
sender_shift_idstringrequired- The unique identifier of the shift belonging to the sender (the employee initiating the swap). Obtain from the list shifts API.
sender_user_idstringrequired- The Azure AD object ID of the employee initiating the shift swap request.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule the shift swap request belongs to.
sender_messagestring- Optional message from the requesting employee explaining why they want to swap. Example: 'I have a doctor's appointment during my shift.'
microsoftteams_create_teamCreate a new Microsoft Teams team from a template.WriteCreate Teams Team
Create a new Microsoft Teams team from a template. The team is created asynchronously (HTTP 202); poll the returned operation URL for completion. Required: display_name. Optional: description and template (defaults to 'standard').
Inputs
display_namestringrequired- The display name of the new team. Must be unique within the tenant.
descriptionstring- Optional description for the new team (plain text, up to 1024 characters).
templatestring- The Teams template to use when creating the team. Valid values: 'standard', 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity', 'healthcareWard', 'healthcareTeam'. Defaults to 'standard'.one of
standardeducationClasseducationStaffeducationProfessionalLearningCommunityhealthcareWardhealthcareTeamdefaultstandard
microsoftteams_create_time_off_requestSubmit a time-off request in a Microsoft Teams team schedule.WriteCreate Teams Time Off Request
Submit a time-off request in a Microsoft Teams team schedule. Requires the team ID, the sender's user ID, start and end date-times in ISO 8601 UTC format, and the time-off reason ID. Optionally include a message from the sender to the manager.
Inputs
end_date_timestringrequired- The end date and time of the time-off period in ISO 8601 UTC format. Example: '2024-08-02T17:00:00Z'.
sender_user_idstringrequired- The Azure AD object ID of the employee submitting the time-off request. Obtain from the Microsoft Entra user object or list users API.
start_date_timestringrequired- The start date and time of the time-off period in ISO 8601 UTC format. Example: '2024-07-29T00:00:00Z'.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule the request belongs to.
time_off_reason_idstringrequired- The ID of the time-off reason (e.g., vacation, sick leave) defined in the team schedule. Obtain from the team's timeOffReasons API.
sender_messagestring- Optional message from the employee to the manager accompanying the time-off request. Example: 'Family vacation.'
microsoftteams_decline_time_off_requestDecline a pending time-off request in a Microsoft Teams team schedule.WriteDecline Teams Time Off Request
Decline a pending time-off request in a Microsoft Teams team schedule. Requires the team ID and request ID. Optionally include a manager message explaining the decision. Returns HTTP 204 No Content on success.
Inputs
request_idstringrequired- The unique identifier of the time-off request to decline. Obtain from the list time-off requests API.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the time-off request.
messagestring- Optional message from the manager to include with the decline decision. Example: 'Insufficient coverage during that period.'
microsoftteams_install_appInstall an app from the tenant's app catalog into a Microsoft Teams team.WriteInstall Teams App
Install an app from the tenant's app catalog into a Microsoft Teams team.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team.
teams_app_idstringrequired- The ID of the Teams app (from the tenant's app catalog) to install into the team.
microsoftteams_pin_channel_messagePin a message in a Microsoft Teams channel so it appears in the channel's pinned messages list.WritePin Teams Channel Message
Pin a message in a Microsoft Teams channel so it appears in the channel's pinned messages list. Requires the team ID, channel ID, and message ID.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel that contains the message to pin.
message_idstringrequired- The unique identifier of the Teams channel message to pin.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_provision_channel_emailProvision an email address for a Microsoft Teams channel, enabling users to send emails directly to the channel.WriteProvision Teams Channel Email
Provision an email address for a Microsoft Teams channel, enabling users to send emails directly to the channel. Returns the provisioned email address. If an email has already been provisioned, returns the existing address.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel for which to provision an email address.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_react_to_channel_messageAdd a reaction (such as like, heart, laugh, surprised, sad, or angry) from the signed-in user to a Microsoft Teams channel message.WriteReact to Teams Channel Message
Add a reaction (such as like, heart, laugh, surprised, sad, or angry) from the signed-in user to a Microsoft Teams channel message.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
message_idstringrequired- The unique identifier of the chat message.
reaction_typestringrequired- The type of reaction to set on the message, e.g. 'like', 'heart', 'laugh', 'surprised', 'sad', or 'angry'.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_remove_channel_emailRemove the email address provisioned for a Microsoft Teams channel.WriteRemove Teams Channel Email
Remove the email address provisioned for a Microsoft Teams channel. After removal, emails can no longer be sent to the channel via that email address.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel from which to remove the provisioned email address.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_reply_to_channel_messagePost a reply to an existing Microsoft Teams channel message thread.WriteReply to Teams Channel Message
Post a reply to an existing Microsoft Teams channel message thread. Supports plain text or HTML content, an optional subject, and importance levels.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel containing the message to reply to.
contentstringrequired- The text or HTML content of the reply message.
message_idstringrequired- The unique identifier of the channel message to reply to.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
content_typestring- The format of the reply content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'.one of
texthtmldefaulttext importancestring- The importance of the reply message. Valid values: 'normal', 'high', 'urgent'.one of
normalhighurgent subjectstring- Optional subject line for the reply (appears as a headline above the body).
microsoftteams_reply_to_chat_messageSend a reply to an existing message in a Microsoft Teams chat thread.WriteReply to Teams Chat Message
Send a reply to an existing message in a Microsoft Teams chat thread. Supports plain text or HTML content. This endpoint is available on the Microsoft Graph beta API.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat that contains the message to reply to.
contentstringrequired- The text or HTML content of the reply message.
message_idstringrequired- The unique identifier of the Teams chat message to reply to.
content_typestring- The format of the reply content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'.one of
texthtmldefaulttext
microsoftteams_restore_channel_messageUndo the soft deletion of a Microsoft Teams channel message or reply, restoring its original content.WriteRestore Teams Channel Message
Undo the soft deletion of a Microsoft Teams channel message or reply, restoring its original content. Only works on messages that were previously soft-deleted.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
message_idstringrequired- The unique identifier of the chat message.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_send_channel_messageSend a new message to a Microsoft Teams channel.WriteSend Teams Channel Message
Send a new message to a Microsoft Teams channel. Supports plain text or HTML content, an optional subject line, and importance levels (normal, high, urgent).
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to send the message to.
contentstringrequired- The text or HTML content of the message to send.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
content_typestring- The format of the message content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'.one of
texthtmldefaulttext importancestring- The importance of the message. Valid values: 'normal', 'high', 'urgent'. Defaults to normal if omitted.one of
normalhighurgent subjectstring- Optional subject line for the channel message (appears as a headline above the body).
microsoftteams_send_chat_messageSend a new message to a Microsoft Teams chat (1:1, group, or meeting chat).WriteSend Teams Chat Message
Send a new message to a Microsoft Teams chat (1:1, group, or meeting chat). Supports plain text or HTML content. Requires Chat.ReadWrite scope.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat to send the message to. Obtain from the list chats API or Teams client URL.
contentstringrequired- The text or HTML content of the message to send to the chat.
content_typestring- The format of the message content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'.one of
texthtmldefaulttext
microsoftteams_set_preferred_presenceSet the preferred presence status for the signed-in user in Microsoft Teams.WriteSet Teams Preferred Presence
Set the preferred presence status for the signed-in user in Microsoft Teams. Unlike setPresence (which is session-scoped), this persists a user-level preferred status that overrides the computed presence. Requires availability and activity values. Optionally specify an expiration duration in ISO 8601 format (e.g., PT1H). Requires the Presence.ReadWrite scope.
Inputs
activitystringrequired- The preferred activity of the user. Must be consistent with the chosen availability. Valid values: Available, Busy, InACall, InAConferenceCall, InAMeeting, Presenting, Away, DoNotDisturb, UrgentInterruptionsOnly, OffWork.one of
AvailableBusyInACallInAConferenceCallInAMeetingPresentingAwayDoNotDisturbUrgentInterruptionsOnlyOffWork availabilitystringrequired- The preferred presence state of the user at the user level (not session-scoped). Valid values: Available, Busy, DoNotDisturb, BeRightBack, Away, Offline.one of
AvailableBusyDoNotDisturbBeRightBackAwayOffline expiration_durationstring- How long the preferred presence override should remain active, expressed as an ISO 8601 duration. Example: 'PT1H' for 1 hour, 'PT4H' for 4 hours. If omitted, the preference persists until explicitly cleared via clearUserPreferredPresence.
microsoftteams_set_user_presenceSet the presence status of the signed-in user in Microsoft Teams for a specific application session.WriteSet Teams User Presence
Set the presence status of the signed-in user in Microsoft Teams for a specific application session. Requires a session ID (a stable GUID representing the calling app), an availability value (e.g., Available, Busy, DoNotDisturb), and an activity value. Optionally specify an expiration duration in ISO 8601 duration format (e.g., PT1H). Requires the Presence.ReadWrite scope.
Inputs
activitystringrequired- The current activity of the user. Must be consistent with the chosen availability. Valid values: Available, Busy, InACall, InAConferenceCall, InAMeeting, Presenting, Away, DoNotDisturb, UrgentInterruptionsOnly, OffWork.one of
AvailableBusyInACallInAConferenceCallInAMeetingPresentingAwayDoNotDisturbUrgentInterruptionsOnlyOffWork availabilitystringrequired- The base presence state of the user. Valid values: Available, Busy, DoNotDisturb, BeRightBack, Away, Offline.one of
AvailableBusyDoNotDisturbBeRightBackAwayOffline session_idstringrequired- A stable GUID identifying the calling application session. Use a consistent GUID per application so multiple calls from the same app update the same session. Example: '22553876-f5ab-4529-bffb-cfe50aa89f87'.
expiration_durationstring- How long the presence override should remain active, expressed as an ISO 8601 duration. Example: 'PT1H' for 1 hour, 'PT30M' for 30 minutes. If omitted, the presence persists until explicitly cleared.
microsoftteams_unarchive_channelRestore an archived channel in a Microsoft Teams team, allowing members to send messages and edit the channel again.WriteUnarchive Teams Channel
Restore an archived channel in a Microsoft Teams team, allowing members to send messages and edit the channel again. Unarchiving is an asynchronous operation (HTTP 202); the channel is fully restored once the async operation completes, which may occur after this call returns.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_unarchive_teamRestore an archived Microsoft Teams team, allowing members to send messages and edit the team again.WriteUnarchive Teams Team
Restore an archived Microsoft Teams team, allowing members to send messages and edit the team again. Unarchiving is an asynchronous operation (HTTP 202); the team is fully restored once the async operation completes, which may occur after this call returns.
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_unpin_channel_messageUnpin a previously pinned message in a Microsoft Teams channel.WriteUnpin Teams Channel Message
Unpin a previously pinned message in a Microsoft Teams channel. The message remains in the channel history but is removed from the pinned messages list.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel that contains the pinned message.
message_idstringrequired- The unique identifier of the Teams channel message to unpin.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_unreact_to_channel_messageRemove a reaction previously set by the signed-in user from a Microsoft Teams channel message.WriteRemove Reaction from Teams Channel Message
Remove a reaction previously set by the signed-in user from a Microsoft Teams channel message.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
message_idstringrequired- The unique identifier of the chat message.
reaction_typestringrequired- The type of reaction to unset on the message, e.g. 'like', 'heart', 'laugh', 'surprised', 'sad', or 'angry'.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_update_channelUpdate the properties of an existing Microsoft Teams channel, such as its display name or description.WriteUpdate Teams Channel
Update the properties of an existing Microsoft Teams channel, such as its display name or description. At least one of display_name or description must be provided.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to update.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel to update.
descriptionstring- New description for the channel. Optional. At least one of display_name or description must be provided.
display_namestring- New display name for the channel. Cannot contain special characters like #, &, :, <, >, *, ?. At least one of display_name or description must be provided.
microsoftteams_update_channel_messageUpdate the body content of an existing Microsoft Teams channel message.WriteUpdate Teams Channel Message
Update the body content of an existing Microsoft Teams channel message. Only the message body can be edited after posting.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the Teams channel containing the message to update.
contentstringrequired- The new text or HTML content to replace the existing message body with.
message_idstringrequired- The unique identifier of the channel message to update.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
content_typestring- The format of the updated content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'.one of
texthtmldefaulttext
microsoftteams_update_chatRename a Microsoft Teams group chat by updating its topic.WriteUpdate Teams Chat
Rename a Microsoft Teams group chat by updating its topic. The topic property only applies to group chats.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
topicstringrequired- The new subject or topic for the chat. Only applies to group chats.
microsoftteams_update_chat_messageUpdate the body content of an existing Microsoft Teams chat message.WriteUpdate Teams Chat Message
Update the body content of an existing Microsoft Teams chat message. Only the message body can be edited after sending.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
contentstringrequired- The new text or HTML content to replace the existing message body with.
message_idstringrequired- The unique identifier of the chat message.
content_typestring- The format of the updated content: 'text' or 'html'. Defaults to 'text'.one of
texthtmldefaulttext
microsoftteams_update_online_meetingUpdate an existing Microsoft Teams online meeting by meeting ID.WriteUpdate Teams Online Meeting
Update an existing Microsoft Teams online meeting by meeting ID. Any combination of subject, start time, end time, and allowed presenters can be updated in a single call.
- Idempotent
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to update. Obtain from the ID field returned when creating or listing meetings.
allowed_presentersstring- Updated setting for who can present in the meeting. Valid values: 'everyone', 'organization', 'roleIsPresenter', 'organizer'.one of
everyoneorganizationroleIsPresenterorganizer end_date_timestring- Updated end date and time for the meeting in ISO 8601 UTC format. Example: '2024-07-15T11:00:00Z'. Leave blank to keep the existing end time.
start_date_timestring- Updated start date and time for the meeting in ISO 8601 UTC format. Example: '2024-07-15T10:00:00Z'. Leave blank to keep the existing start time.
subjectstring- Updated subject/title for the online meeting. Leave blank to keep the existing subject.
microsoftteams_update_shiftUpdate an existing shift in a Microsoft Teams team schedule by shift ID.WriteUpdate Teams Shift
Update an existing shift in a Microsoft Teams team schedule by shift ID. Replaces the shift with the provided fields. Requires team ID and shift ID. The sharedShift block fields (start/end time, display name, notes, theme) are built conditionally from optional inputs.
- Idempotent
Inputs
shift_idstringrequired- The unique identifier of the shift to update. Obtain from the create shift response or list shifts API.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the shift.
display_namestring- Updated display name for the shift shown on the schedule. Leave blank to keep the existing display name.
end_date_timestring- Updated end date and time for the shift in ISO 8601 UTC format. Example: '2024-07-15T18:00:00Z'. Leave blank to keep the existing end time.
notesstring- Updated notes for the shift visible to the assigned employee. Leave blank to keep the existing notes.
scheduling_group_idstring- Updated scheduling group ID for the shift. Leave blank to keep the existing scheduling group.
start_date_timestring- Updated start date and time for the shift in ISO 8601 UTC format. Example: '2024-07-15T10:00:00Z'. Leave blank to keep the existing start time.
themestring- Updated color theme for the shift block on the schedule view. Valid values: white, blue, green, purple, pink, yellow, gray, darkBlue, darkGreen, darkPurple, darkPink, darkYellow.one of
whitebluegreenpurplepinkyellowgraydarkBluedarkGreendarkPurpledarkPinkdarkYellow user_idstring- Updated user ID (Azure AD object ID) to reassign the shift to. Leave blank to keep the existing assignment.
microsoftteams_update_teamUpdate the properties of an existing Microsoft Teams team.WriteUpdate Teams Team
Update the properties of an existing Microsoft Teams team. Requires team_id. At least one of display_name, description, or visibility must be provided. Returns HTTP 204 with no body on success.
- Idempotent
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team to update.
descriptionstring- New description for the team (plain text, up to 1024 characters).
display_namestring- New display name for the team.
visibilitystring- Visibility of the team. Valid values: 'public' (anyone in org can join), 'private' (owner must invite). Note: changing from private to public is allowed; changing back may be restricted.one of
publicprivate
microsoftteams_update_team_memberUpdate the role of an existing member in a Microsoft Teams team, promoting them to owner or demoting them to member.WriteUpdate Teams Team Member
Update the role of an existing member in a Microsoft Teams team, promoting them to owner or demoting them to member. Requires the team ID, the conversationMember ID (membership_id), and the new role. Returns the updated conversationMember resource (HTTP 200).
- Idempotent
Inputs
membership_idstringrequired- The conversationMember ID of the membership to update. This is the unique ID of the member's team membership returned by the list team members or add member APIs — it is NOT the Azure AD user ID.
rolestringrequired- The new role to assign to the team member. Valid values: 'member' (standard member) or 'owner' (team owner with admin privileges).one of
memberowner team_idstringrequired- The unique identifier of the Microsoft Teams team containing the member to update.
microsoftteams_delete_channelPermanently delete a channel from a Microsoft Teams team.DestructiveDelete Teams Channel
Permanently delete a channel from a Microsoft Teams team. The General channel of a team cannot be deleted. This action is irreversible and removes all messages and content within the channel.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the Teams channel to delete. The General channel cannot be deleted.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel to delete.
microsoftteams_delete_channel_messageSoft-delete a Microsoft Teams channel message.DestructiveDelete Teams Channel Message
Soft-delete a Microsoft Teams channel message. The message is retracted and replaced with a tombstone indicating it was deleted.
Inputs
channel_idstringrequired- The unique identifier of the Teams channel containing the message to delete.
message_idstringrequired- The unique identifier of the channel message to soft-delete.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoftteams_delete_channel_tabRemove (unpin) a tab from a Microsoft Teams channel.DestructiveDelete Teams Channel Tab
Remove (unpin) a tab from a Microsoft Teams channel.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
tab_idstringrequired- The unique identifier of the tab to remove.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_delete_chatSoft-delete a Microsoft Teams chat.DestructiveDelete Teams Chat
Soft-delete a Microsoft Teams chat. When called with delegated permissions, this operation only works for tenant admins and Teams service admins.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
microsoftteams_delete_chat_messageSoft-delete a Microsoft Teams chat message.DestructiveDelete Teams Chat Message
Soft-delete a Microsoft Teams chat message. The message is retracted and replaced with a tombstone indicating it was deleted.
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
message_idstringrequired- The unique identifier of the chat message.
microsoftteams_delete_online_meetingPermanently delete a Microsoft Teams online meeting by meeting ID.DestructiveDelete Teams Online Meeting
Permanently delete a Microsoft Teams online meeting by meeting ID. This action cannot be undone and removes the meeting for all participants.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting to delete. Obtain from the create meeting response or list meetings API.
microsoftteams_delete_shiftPermanently delete a shift from a Microsoft Teams team schedule.DestructiveDelete Teams Shift
Permanently delete a shift from a Microsoft Teams team schedule. Requires both the team ID and the shift ID. This action cannot be undone.
Inputs
shift_idstringrequired- The unique identifier of the shift to delete. Obtain from the create shift response or list shifts API.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the shift to delete.
microsoftteams_delete_teamPermanently delete a Microsoft Teams team by deleting the underlying Microsoft 365 Group.DestructiveDelete Teams Team
Permanently delete a Microsoft Teams team by deleting the underlying Microsoft 365 Group. This action is irreversible. The team and all its channels, messages, and files will be permanently removed. Returns HTTP 204 with no body on success.
- Idempotent
Inputs
team_idstringrequired- The unique identifier of the Microsoft Teams team (Group ID) to permanently delete.
microsoftteams_remove_channel_memberRemove a member from a Microsoft Teams channel.DestructiveRemove Teams Channel Member
Remove a member from a Microsoft Teams channel. Requires the conversationMember ID (not the Azure AD user ID) as returned by the list channel members or add channel member APIs.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the Teams channel.
membership_idstringrequired- The conversationMember ID of the channel membership to remove. This is NOT the Azure AD user ID.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
microsoftteams_remove_chat_memberRemove a member from a Microsoft Teams chat.DestructiveRemove Teams Chat Member
Remove a member from a Microsoft Teams chat. Requires the conversationMember ID (not the Azure AD user ID) as returned by the list chat members or add chat member APIs.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the Teams chat.
membership_idstringrequired- The conversationMember ID of the chat membership to remove. This is NOT the Azure AD user ID.
microsoftteams_remove_team_memberRemove a member from a Microsoft Teams team.DestructiveRemove Teams Team Member
Remove a member from a Microsoft Teams team. Requires the team ID and the conversationMember ID (not the Azure AD user ID). The membership_id is the ID returned by the list team members or add team member APIs. Returns HTTP 204 with no body on success.
- Idempotent
Inputs
membership_idstringrequired- The conversationMember ID of the membership to remove. This is the unique ID of the member's team membership, returned by the list team members or add member APIs — it is NOT the Azure AD user ID.
team_idstringrequired- The unique identifier of the Microsoft Teams team from which to remove the member.
microsoftteams_uninstall_appUninstall an app from a Microsoft Teams team.DestructiveUninstall Teams App
Uninstall an app from a Microsoft Teams team.
- Idempotent
Inputs
app_installation_idstringrequired- The unique identifier of the teamsAppInstallation to remove. This is NOT the app catalog ID.
team_idstringrequired- The unique identifier of the Microsoft Teams team.
No tools match.
Workflows
Proxy API call
// Make a request via Scalekit proxyconst result = await actions.request({ connectionName: 'microsoftteams', identifier: 'user_123', path: '/v1.0/me', method: 'GET',});console.log(result);# Make a request via Scalekit proxyresult = actions.request( connection_name='microsoftteams', identifier='user_123', path="/v1.0/me", method="GET")print(result)Execute a tool
const result = await actions.executeTool({ connector: 'microsoftteams', identifier: 'user_123', toolName: 'microsoftteams_list_teams', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='microsoftteams', identifier='user_123', tool_name='microsoftteams_list_teams', tool_input={},)print(result)