The Microsoft 365 connector lets your AI agent act in each user's Microsoft 365 account. Each user signs in to Microsoft 365 once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 317 tools.
- Tools
- 317
- What they doRead · write · destructive
- 127 · 150 · 40127 read150 write40 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
What you can do
- Read and send email: list, search, send, reply to, forward, and move Outlook messages, including shared mailboxes
- Manage calendars: create, update, and respond to Outlook events, check free/busy time, and find meeting times
- Work in Teams: send channel and chat messages, reply to threads, create teams and channels, and schedule online meetings
- Manage OneDrive and SharePoint files: upload, download, move, share, and search files and folders across drives and sites
- Update Excel workbooks: read and write ranges, manage tables and worksheets, and create charts
- Manage tasks, contacts, and notes: create and update To Do tasks and Outlook contacts, and create OneNote pages
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 Microsoft 365 connection
In AgentKit > Connections, create a Microsoft 365 connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Microsoft 365, 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 365 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:
-
Create the Microsoft 365 connection in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Microsoft 365 and click Create.
-
In the Configure Microsoft 365 Connection dialog, copy the Redirect URI. You will need this when registering your app in Azure.
-
-
Register an application in Azure
-
Sign into portal.azure.com and go to Microsoft Entra ID → App registrations.
-
Click New registration. Enter a name for your app (for example, “Scalekit Microsoft 365 Connector”).
-
Under Supported account types, select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts.
-
Under Redirect URI, select Web and paste the redirect URI you copied from the Scalekit dashboard. Click Register.
-
-
Get your client credentials
-
From the app’s Overview page, copy the Application (client) ID.
-
Go to Certificates & secrets in the left sidebar, then click + New client secret.
-
Enter a description (for example, “Secret for Scalekit Agent Actions”), set an expiry period, and click Add. Copy the secret Value immediately — it is only shown once.
-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the Microsoft 365 connection you created.
-
Enter your credentials:
- Client ID — the Application (client) ID from the Azure app overview
- Client Secret — the secret value from Certificates & secrets
- Scopes — select the permissions your app needs (for example,
Calendars.Read,Calendars.ReadWrite,Mail.Read,Mail.ReadWrite,Mail.Send,Contacts.Read,Contacts.ReadWrite,User.Read,offline_access). See Microsoft Graph permissions reference for the full list.
-
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 = 'microsoft365'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Microsoft 365:', 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: 'microsoft365_onedrive_get_drive',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 = "microsoft365"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Microsoft 365:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="microsoft365_onedrive_get_drive",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_toolmicrosoft365_excel_export_to_pdfExport an Excel workbook stored in OneDrive to PDF format.Read-onlyExport Excel to PDF
Export an Excel workbook stored in OneDrive to PDF format. Uses the Microsoft Graph OneDrive content endpoint with format=pdf query parameter. Returns the PDF binary content. The response may be a direct 200 with the PDF body or a 302 redirect to a download URL depending on file size.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file to export. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
microsoft365_excel_get_rangeRetrieve the values, formulas, format, and address of a cell range in an Excel worksheet stored in OneDrive.Read-onlyGet Excel Range
Retrieve the values, formulas, format, and address of a cell range in an Excel worksheet stored in OneDrive. Specify the range using standard Excel notation (e.g., 'A1:C10' or 'B2'). Optionally accepts a workbook session ID.
Inputs
addressstringrequired- Cell range address in Excel notation to retrieve. Examples: 'A1' for a single cell, 'A1:C10' for a multi-cell range, 'Sheet1!A1:B5' to target a specific sheet within the address.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the range. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_get_tableRetrieve details of a specific table in an Excel workbook stored in OneDrive, including its name, style, column count, and header/total row settings.Read-onlyGet Excel Table
Retrieve details of a specific table in an Excel workbook stored in OneDrive, including its name, style, column count, and header/total row settings. Accepts either a numeric table ID or the table name.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID to retrieve. Example: 'Table1' or '1'. Both the table name and the workbook-assigned numeric ID are accepted.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_get_used_rangeGet the smallest range that encompasses all cells in a worksheet that have a value or formatting, without needing to know the data's exact boundaries ahead of time.Read-onlyGet Excel Used Range
Get the smallest range that encompasses all cells in a worksheet that have a value or formatting, without needing to know the data's exact boundaries ahead of time.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file.
worksheet_idstringrequired- Worksheet name or GUID containing the data.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_get_worksheetRetrieve the properties of a specific worksheet in an Excel workbook stored in OneDrive.Read-onlyGet Excel Worksheet
Retrieve the properties of a specific worksheet in an Excel workbook stored in OneDrive. Use the worksheet name or its GUID as the worksheet_id. Optionally accepts a workbook session ID.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- The worksheet name or GUID to retrieve. Use the sheet tab name (e.g., 'Sheet1') or the worksheet's unique GUID. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_list_chartsList all charts in an Excel worksheet stored in OneDrive.Read-onlyList Excel Charts
List all charts in an Excel worksheet stored in OneDrive. Returns chart names, IDs, type, dimensions, and position. Supports OData $top for pagination.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the charts to list. Example: 'Sheet1'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of charts to return (1–1000). Defaults to server-defined page size.
microsoft365_excel_list_commentsList all comments in an Excel workbook stored in OneDrive.Read-onlyList Excel Comments
List all comments in an Excel workbook stored in OneDrive. Returns comment IDs, author information, content, cell location, and creation date. Supports OData $top for pagination.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of comments to return (1–1000). Defaults to server-defined page size.
microsoft365_excel_list_named_itemsList all named items (named ranges and constants) in an Excel workbook stored in OneDrive.Read-onlyList Excel Named Items
List all named items (named ranges and constants) in an Excel workbook stored in OneDrive. Returns the name, type, value, and scope for each named item. Supports OData $top for pagination and $select for field projection.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
selectstring- Comma-separated list of properties to return for each named item. Example: 'name,type,value' to return only those fields.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of named items to return (1–1000). Defaults to server-defined page size.
microsoft365_excel_list_pivot_tablesList the pivot tables present in an Excel worksheet, including their names and IDs.Read-onlyList Excel Pivot Tables
List the pivot tables present in an Excel worksheet, including their names and IDs.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file.
worksheet_idstringrequired- Worksheet name or GUID containing the pivot tables.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_list_table_columnsList all columns in an Excel table in a workbook stored in OneDrive.Read-onlyList Excel Table Columns
List all columns in an Excel table in a workbook stored in OneDrive. Returns column objects including their name, index, and values. Supports OData pagination with $top and field selection with $select.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID whose columns to list. Example: 'Table1' or '1'.
selectstring- Comma-separated list of properties to return for each column. Example: 'id,name' to return only the column ID and name.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of columns to return. Useful for tables with many columns. Example: 10.
microsoft365_excel_list_table_rowsList rows in an Excel table stored in OneDrive.Read-onlyList Excel Table Rows
List rows in an Excel table stored in OneDrive. Returns an array of row objects, each containing a values array with the cell data. Supports OData pagination with $top and $skip.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID whose rows to list. Example: 'Table1' or '1'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
skipinteger- Number of rows to skip for pagination. Use in combination with $top to page through large tables. Example: 20 to skip the first 20 rows.
topinteger- Maximum number of rows to return. Defaults to server page size. Example: 50 to return up to 50 rows.
microsoft365_excel_list_tablesList all tables in an Excel workbook stored in OneDrive.Read-onlyList Excel Tables
List all tables in an Excel workbook stored in OneDrive. Returns table names, IDs, style, and header/total row settings. Supports OData query options for pagination and field selection.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
selectstring- Comma-separated list of properties to return. Example: 'id,name,style' to return only those fields for each table.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of tables to return (1–1000). Defaults to server-defined page size.
microsoft365_excel_list_worksheetsList all worksheets in an Excel workbook stored in OneDrive.Read-onlyList Excel Worksheets
List all worksheets in an Excel workbook stored in OneDrive. Supports OData query parameters for field selection and pagination. Optionally accepts a workbook session ID for session-based access.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
selectstring- Comma-separated list of properties to return for each worksheet. Example: 'id,name,position,visibility'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header for session-based access. Example: 'cluster=SN2&session=...'.
topinteger- Maximum number of worksheets to return. Example: 10.
microsoft365_onedrive_download_fileDownload the binary content of a OneDrive file by its item ID.Read-onlyDownload Drive File
Download the binary content of a OneDrive file by its item ID. The response is the raw file bytes (not JSON). For text files this will be readable text; for binary files (images, Office documents) it will be binary data. Use the item ID from get or list operations.
Inputs
item_idstringrequired- The unique ID of the OneDrive file to download. Obtain item IDs from list drive items or search drive items operations.
microsoft365_onedrive_get_driveRetrieve the properties of the signed-in user's default OneDrive drive, including storage quota, owner information, and drive type (personal, business, or SharePoint document library).Read-onlyGet OneDrive
Retrieve the properties of the signed-in user's default OneDrive drive, including storage quota, owner information, and drive type (personal, business, or SharePoint document library).
Inputs
This tool takes no inputs.
microsoft365_onedrive_get_drive_itemRetrieve the metadata for a specific OneDrive file or folder by its item ID.Read-onlyGet Drive Item
Retrieve the metadata for a specific OneDrive file or folder by its item ID. Returns properties including name, size, creation date, last modified date, MIME type, and download URL.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to retrieve. Obtain item IDs from list or search operations.
microsoft365_onedrive_get_item_in_driveRetrieve metadata for a specific file or folder in a drive by drive ID and item ID.Read-onlyGet Item in Drive
Retrieve metadata for a specific file or folder in a drive by drive ID and item ID. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Returns name, size, creation date, last modified date, MIME type, and download URL. To get an item from the signed-in user's personal OneDrive, use microsoft365_onedrive_get_drive_item instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the item. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The unique ID of the file or folder to retrieve. Obtain item IDs from list or search operations.
microsoft365_onedrive_get_special_folderRetrieve a well-known OneDrive folder (Documents, Photos, App Root, etc.) by its special-folder name, without needing to know its item ID or navigate by path.Read-onlyGet OneDrive Special Folder
Retrieve a well-known OneDrive folder (Documents, Photos, App Root, etc.) by its special-folder name, without needing to know its item ID or navigate by path. The folder is created automatically the first time it is written to.
Inputs
namestringrequired- The special folder name to look up.one of
documentsphotoscamerarollapprootmusicrecordings
microsoft365_onedrive_get_thumbnailsRetrieve thumbnail images for a specific OneDrive file or folder.Read-onlyGet Drive Item Thumbnails
Retrieve thumbnail images for a specific OneDrive file or folder. Returns a collection of thumbnail sets including small, medium, and large thumbnail URLs. Useful for displaying file previews.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder whose thumbnails to retrieve. Obtain item IDs from list or get drive item operations.
microsoft365_onedrive_get_version_contentDownload the binary content of a specific version of a OneDrive file.Read-onlyGet Drive Item Version Content
Download the binary content of a specific version of a OneDrive file. Returns the raw file bytes for the requested version. The response is a redirect (302) or direct download (200) depending on the client.
Inputs
item_idstringrequired- The unique ID of the OneDrive file whose version content to download. Obtain item IDs from list or get drive item operations.
version_idstringrequired- The unique ID of the version to download. Obtain version IDs from the list versions operation. Example: '1.0' or a GUID string.
microsoft365_onedrive_list_activitiesRetrieve the activity feed for a specific OneDrive file or folder.Read-onlyList Drive Item Activities
Retrieve the activity feed for a specific OneDrive file or folder. Returns a list of recent actions performed on the item, including who made changes, when, and what type of action was taken (create, edit, delete, share, etc.).
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder whose activity feed to retrieve. Obtain item IDs from list or get drive item operations.
filterstring- OData filter expression to narrow activity results. Example: "times/recordedTime ge 2024-01-01T00:00:00Z" to filter by date.
topinteger- Maximum number of activity records to return per page. Accepts an integer between 1 and 1000. Default: 25.default
25
microsoft365_onedrive_list_drive_itemsList the children (files and folders) of a folder in the signed-in user's personal OneDrive.Read-onlyList Drive Items
List the children (files and folders) of a folder in the signed-in user's personal OneDrive. Use "root" as the item_id to list top-level contents. To list children in a specific drive by drive ID (e.g. a SharePoint document library), use microsoft365_onedrive_list_items_in_drive instead.
Inputs
item_idstringrequired- The ID of the folder whose children to list. Use "root" to list top-level OneDrive contents. Obtain item IDs from other list or search operations.
filterstring- OData filter expression to narrow results. Example: "file ne null" returns only files; "folder ne null" returns only folders.
orderbystring- Property to sort results by. Example: "name asc" or "lastModifiedDateTime desc".
selectstring- Comma-separated list of properties to return. Example: "id,name,size,lastModifiedDateTime" reduces response payload.
skipinteger- Number of items to skip for pagination. Use with $top to page through results.
topinteger- Maximum number of items to return per page (default: 25). Accepts values 1–999.default
25
microsoft365_onedrive_list_drivesList all drives accessible to the signed-in user, including personal OneDrive, SharePoint document libraries, and shared drives.Read-onlyList OneDrive Drives
List all drives accessible to the signed-in user, including personal OneDrive, SharePoint document libraries, and shared drives. Supports OData $top for pagination and $select for field selection.
Inputs
selectstring- Comma-separated list of drive properties to return. Example: "id,name,driveType,quota" reduces response payload to only those fields.
topinteger- Maximum number of drives to return per page. Accepts values 1–999. Defaults to server-side limit if omitted.
microsoft365_onedrive_list_item_versions_in_driveRetrieve the version history for a file in a specific drive by drive ID and item ID.Read-onlyList Item Versions in Drive
Retrieve the version history for a file in a specific drive by drive ID and item ID. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Returns version ID, last modified time, size, and the identity of the user who made each change. To list versions in the signed-in user's personal OneDrive, use microsoft365_onedrive_list_versions instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the file. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The unique ID of the file whose version history to list. Obtain item IDs from list or get item operations.
topinteger- Maximum number of version entries to return per page. Accepts values 1–1000. Default: 25.default
25
microsoft365_onedrive_list_items_in_driveList the children (files and folders) of a folder in a specific drive by drive ID.Read-onlyList Items in Drive
List the children (files and folders) of a folder in a specific drive by drive ID. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Use "root" as item_id to list top-level contents of the drive. To list items in the signed-in user's personal OneDrive, use microsoft365_onedrive_list_drive_items instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the folder. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The ID of the folder whose children to list. Use "root" to list top-level contents of the drive.
filterstring- OData filter expression to narrow results. Example: "file ne null" returns only files; "folder ne null" returns only folders.
orderbystring- Property to sort results by. Example: "name asc" or "lastModifiedDateTime desc".
selectstring- Comma-separated list of properties to return. Example: "id,name,size,lastModifiedDateTime" reduces response payload.
skipinteger- Number of items to skip for pagination. Use with $top to page through results.
topinteger- Maximum number of items to return per page (default: 25). Accepts values 1–999.default
25
microsoft365_onedrive_list_permissionsRetrieve the list of permissions (sharing and access grants) for a specific OneDrive file or folder.Read-onlyList Drive Item Permissions
Retrieve the list of permissions (sharing and access grants) for a specific OneDrive file or folder. Returns all permission objects including sharing links, individual user grants, and inherited permissions.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder whose permissions to list. Obtain item IDs from list or get drive item operations.
topinteger- Maximum number of permission entries to return per page. Accepts an integer between 1 and 100. Default: 25.default
25
microsoft365_onedrive_list_recent_itemsList files recently viewed or modified by the signed-in user in OneDrive.Read-onlyList Recent Drive Items
List files recently viewed or modified by the signed-in user in OneDrive. Returns the most recently accessed items across all drives the user has access to.
Inputs
topinteger- Maximum number of recent items to return. Accepts values 1–999.
microsoft365_onedrive_list_versionsRetrieve the version history for a specific OneDrive file by its item ID.Read-onlyList Drive Item Versions
Retrieve the version history for a specific OneDrive file by its item ID. Returns a list of version objects including version ID, last modified time, size, and the identity of the user who made each change.
Inputs
item_idstringrequired- The unique ID of the OneDrive file whose version history to list. Obtain item IDs from list or get drive item operations.
topinteger- Maximum number of version entries to return per page. Accepts an integer between 1 and 1000. Default: 25.default
25
microsoft365_onedrive_search_drive_itemsSearch the signed-in user's personal OneDrive (root) for files and folders matching a query string.Read-onlySearch Drive Items
Search the signed-in user's personal OneDrive (root) for files and folders matching a query string. Searches across file names, content, and metadata. To search within a specific drive by drive ID (e.g. a SharePoint document library), use microsoft365_onedrive_search_items_in_drive instead.
Inputs
querystringrequired- Search query string to find files or folders by name or content. Example: "budget 2024" searches for items containing that text.
selectstring- Comma-separated list of properties to return. Example: "id,name,size,webUrl" reduces response payload.
topinteger- Maximum number of results to return. Accepts values 1–999.
microsoft365_onedrive_search_items_in_driveSearch for files and folders within a specific drive by drive ID.Read-onlySearch Items in Drive
Search for files and folders within a specific drive by drive ID. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. To search the signed-in user's personal OneDrive, use microsoft365_onedrive_search_drive_items instead.
Inputs
drive_idstringrequired- The unique ID of the drive to search within. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
querystringrequired- Search query string to find files or folders by name or content. Example: "budget 2024" searches for items containing that text.
selectstring- Comma-separated list of properties to return. Example: "id,name,size,webUrl" reduces response payload.
topinteger- Maximum number of results to return. Accepts values 1–999.
microsoft365_onenote_get_page_contentRetrieve the full HTML content of a OneNote page by page ID.Read-onlyGet OneNote Page Content
Retrieve the full HTML content of a OneNote page by page ID. Returns raw HTML (Content-Type: text/html), not JSON — the response body is the page's markup, including any embedded images as data URIs or object references. Set include_ids to true to have the server annotate elements with data-id attributes, useful for building a subsequent content-update request. Requires Notes.Read, Notes.Create, or Notes.ReadWrite scope.
Inputs
page_idstringrequired- The unique ID of the OneNote page whose content to retrieve. Obtain page IDs from microsoft365_onenote_list_pages or microsoft365_onenote_create_page.
include_idsboolean- When true, the returned HTML includes data-id attributes on elements so they can be targeted by a later page-content update. Default: false.default
false
microsoft365_onenote_list_notebooksList all OneNote notebooks owned by or shared with the signed-in user.Read-onlyList OneNote Notebooks
List all OneNote notebooks owned by or shared with the signed-in user. Returns each notebook's id, displayName, createdDateTime, lastModifiedDateTime, userRole, isShared, sectionsUrl, and sectionGroupsUrl. Requires Notes.Read, Notes.Create, or Notes.ReadWrite scope.
Inputs
filterstring- OData filter expression to narrow results. Example: "displayName eq 'Work Notebook'".
orderbystring- Property to sort results by. Example: "displayName desc". The default sort order is "displayName asc".
selectstring- Comma-separated list of notebook properties to return. Example: "id,displayName,lastModifiedDateTime" reduces response payload.
skipinteger- Number of notebooks to skip for pagination.
topinteger- Maximum number of notebooks to return per page. Accepts values 1-999.
microsoft365_onenote_list_pagesList the OneNote pages inside a specific section.Read-onlyList OneNote Pages
List the OneNote pages inside a specific section. Returns each page's id, title, createdByAppId, contentUrl, and lastModifiedDateTime. By default returns the top 20 pages ordered by lastModifiedDateTime descending; the maximum for $top is 100. Use microsoft365_onenote_get_page_content to fetch a page's HTML body. Requires Notes.Read, Notes.Create, or Notes.ReadWrite scope.
Inputs
section_idstringrequired- The unique ID of the section whose pages to list. Obtain section IDs from microsoft365_onenote_list_sections or microsoft365_onenote_create_section.
filterstring- OData filter expression to narrow results. Example: "contains(tolower(title),'standup')".
orderbystring- Property to sort results by. Example: "title asc". The default sort order is "lastModifiedDateTime desc".
selectstring- Comma-separated list of page properties to return. Example: "id,title,lastModifiedDateTime" reduces response payload.
skipinteger- Number of pages to skip for pagination.
topinteger- Maximum number of pages to return per page of results (default: 20). The server-enforced maximum is 100.default
20
microsoft365_onenote_list_sectionsList the OneNote sections inside a specific notebook.Read-onlyList OneNote Sections
List the OneNote sections inside a specific notebook. Returns each section's id, displayName, isDefault, pagesUrl, createdDateTime, and lastModifiedDateTime. Requires Notes.Create, Notes.Read, or Notes.ReadWrite scope.
Inputs
notebook_idstringrequired- The unique ID of the notebook whose sections to list. Obtain notebook IDs from microsoft365_onenote_list_notebooks or microsoft365_onenote_create_notebook.
filterstring- OData filter expression to narrow results. Example: "displayName eq 'Meeting Notes'".
orderbystring- Property to sort results by. Example: "lastModifiedDateTime desc". The default sort order is "displayName asc".
selectstring- Comma-separated list of section properties to return. Example: "id,displayName,pagesUrl" reduces response payload.
skipinteger- Number of sections to skip for pagination.
topinteger- Maximum number of sections to return per page. Accepts values 1-999.
microsoft365_outlook_find_meeting_timesFind available meeting time slots for a set of attendees using Microsoft Graph's findMeetingTimes API.Read-onlyFind Meeting Times
Find available meeting time slots for a set of attendees using Microsoft Graph's findMeetingTimes API. Returns a list of suggested meeting times when all required attendees are available within the given time window.
Inputs
attendee_emailsarrayrequired- Array of attendee email addresses to check availability for. Example: ["alice@example.com", "bob@example.com"]
end_date_timestringrequired- End of the time window to search for meeting times, in ISO 8601 format (e.g., 2025-01-15T18:00:00). The API will not suggest slots after this time.
meeting_durationstringrequired- Duration of the desired meeting in ISO 8601 duration format (e.g., PT30M for 30 minutes, PT1H for 1 hour, PT1H30M for 1.5 hours).
start_date_timestringrequired- Start of the time window to search for meeting times, in ISO 8601 format (e.g., 2025-01-15T08:00:00). The API will look for available slots at or after this time.
is_organizer_optionalboolean- Whether the meeting organizer's presence is optional. When true, the organizer's calendar is not checked for availability. Defaults to false.default
false max_candidatesinteger- Maximum number of meeting time suggestions to return. Defaults to 20. Acceptable range: 1-40.default
20 time_zonestring- IANA time zone identifier for interpreting start_date_time and end_date_time (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC.default
UTC
microsoft365_outlook_get_attachmentDownload a specific attachment from an Outlook email message by attachment ID.Read-onlyGet Attachment
Download a specific attachment from an Outlook email message by attachment ID. Returns the full attachment including base64-encoded file content in the contentBytes field. Use List Attachments to get the attachment ID first.
Inputs
attachment_idstringrequired- The ID of the attachment to download.
message_idstringrequired- The ID of the message containing the attachment.
microsoft365_outlook_get_calendarRetrieve the properties of a specific calendar by ID, such as its name, color, and sharing permissions.Read-onlyGet Calendar
Retrieve the properties of a specific calendar by ID, such as its name, color, and sharing permissions.
Inputs
calendar_idstringrequired- The unique identifier of the calendar to retrieve.
microsoft365_outlook_get_calendar_eventRetrieve an existing calendar event by ID from the user's Outlook calendar.Read-onlyGet Calendar Event
Retrieve an existing calendar event by ID from the user's Outlook calendar.
Inputs
event_idstringrequired- No description.
microsoft365_outlook_get_calendar_viewRetrieve a collection of calendar events within a specific time range from the user's primary Outlook calendar.Read-onlyGet Calendar View
Retrieve a collection of calendar events within a specific time range from the user's primary Outlook calendar. Returns all occurrences, exceptions, and single instances of events whose start/end times fall within the specified window.
Inputs
endDateTimestringrequired- End of the time range in ISO 8601 format (e.g., 2025-01-31T23:59:59). The calendar view returns events that end or overlap with this time.
startDateTimestringrequired- Start of the time range in ISO 8601 format (e.g., 2025-01-01T00:00:00). The calendar view returns events that start or overlap with this time.
filterstring- OData filter expression to further narrow results (e.g., "subject eq 'Team Sync'").
orderbystring- OData orderby expression to sort results (e.g., "start/dateTime asc").
selectstring- Comma-separated list of properties to include in the response (e.g., "subject,start,end,location"). Reduces payload size.
topinteger- Maximum number of events to return (1-1000). Defaults to 10 if omitted.
microsoft365_outlook_get_contactRetrieve a specific contact by ID.Read-onlyGet Contact
Retrieve a specific contact by ID.
Inputs
contact_idstringrequired- Contact ID.
expandstring- Expand relationships.
selectstring- Select properties.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_get_contact_photoRetrieve the profile photo of a specific contact in the signed-in user's mailbox.Read-onlyGet Contact Photo
Retrieve the profile photo of a specific contact in the signed-in user's mailbox. Returns binary image data (JPEG). A 404 response indicates no photo is set for this contact.
Inputs
contact_idstringrequired- The unique ID of the contact whose photo to retrieve (e.g., 'AAMkAGI2...'). Obtain from List Contacts or Get Contact.
microsoft365_outlook_get_event_attachmentDownload a specific attachment from a calendar event by attachment ID.Read-onlyGet Event Attachment
Download a specific attachment from a calendar event by attachment ID. Returns the full attachment including base64-encoded file content in the contentBytes field. Use List Event Attachments to get the attachment ID first.
Inputs
attachment_idstringrequired- The ID of the attachment to download.
event_idstringrequired- The ID of the event containing the attachment.
microsoft365_outlook_get_free_busy_scheduleRetrieve the free/busy availability schedule for one or more users, rooms, or resources within a specific time window.Read-onlyGet Free/Busy Schedule
Retrieve the free/busy availability schedule for one or more users, rooms, or resources within a specific time window. Returns availability view, schedule items, and working hours for each requested address.
Inputs
end_date_timestringrequired- End of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T18:00:00).
schedulesarrayrequired- Array of SMTP email addresses of users, distribution lists, or resources to get free/busy information for. Example: ["alice@example.com", "room@example.com"]
start_date_timestringrequired- Start of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T08:00:00).
availability_view_intervalinteger- Duration in minutes of each time slot in the availability view string. Valid values: 5, 6, 10, 15, 20, 30, 60 (default), 120, 240, 480, or 1440.default
60 time_zonestring- IANA time zone identifier for interpreting start and end times (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC.default
UTC
microsoft365_outlook_get_mail_folderRetrieve the properties of a specific mail folder by ID, including its display name, parent folder, and item counts.Read-onlyGet Mail Folder
Retrieve the properties of a specific mail folder by ID, including its display name, parent folder, and item counts. Accepts well-known folder names such as 'inbox', 'drafts', or 'sentitems'.
Inputs
folder_idstringrequired- The unique identifier or well-known name (e.g. 'inbox', 'drafts') of the mail folder.
microsoft365_outlook_get_messageRetrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata.Read-onlyGet Message
Retrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata.
Inputs
message_idstringrequired- The ID of the message to retrieve.
microsoft365_outlook_get_user_presenceGet the presence status of a specific user.Read-onlyGet User Presence
Get the presence status of a specific user.
Inputs
user_idstringrequired- User ID or email.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_list_attachmentsList all attachments on a specific Outlook email message.Read-onlyList Attachments
List all attachments on a specific Outlook email message. Returns attachment metadata including ID, name, size, and content type. Use the attachment ID with Get Attachment to download the file content.
Inputs
message_idstringrequired- The ID of the message to list attachments for.
microsoft365_outlook_list_calendar_eventsList calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection.Read-onlyList Calendar Events
List calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection.
Inputs
filterstring- OData filter expression to filter events (e.g., startsWith(subject,'All'))
orderbystring- OData orderby expression to sort events (e.g., start/dateTime desc)
selectstring- Comma-separated list of properties to include in the response
skipnumber- Number of events to skip for pagination
topnumber- Maximum number of events to return
microsoft365_outlook_list_calendar_groupsList all calendar groups in the signed-in user's mailbox.Read-onlyList Calendar Groups
List all calendar groups in the signed-in user's mailbox. Calendar groups are containers that organize multiple calendars together in Outlook.
Inputs
selectstring- Comma-separated list of properties to return (e.g., 'name,classId'). Reduces response size.
topinteger- Maximum number of calendar groups to return (1–200, default: 10).
microsoft365_outlook_list_calendar_permissionsList all sharing permissions for a specific Outlook calendar.Read-onlyList Calendar Permissions
List all sharing permissions for a specific Outlook calendar. Returns the set of users and their assigned roles (e.g., freeBusyRead, read, write, delegate) for the given calendar.
Inputs
calendar_idstringrequired- The unique identifier of the calendar whose permissions to list. Use 'primary' for the default calendar or a specific calendar ID from the list calendars endpoint.
topinteger- Maximum number of permission entries to return (1-1000). Defaults to all entries if omitted.
microsoft365_outlook_list_calendarsRetrieve all calendars in the user mailbox.Read-onlyList Calendars
Retrieve all calendars in the user mailbox.
Inputs
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_list_categoriesList all Outlook master categories defined for the signed-in user.Read-onlyList Outlook Categories
List all Outlook master categories defined for the signed-in user. Categories can be applied to messages, events, and contacts for color-coded organization.
Inputs
selectstring- Comma-separated list of category properties to return (e.g., 'displayName,color').
topinteger- Maximum number of categories to return (1–200).
microsoft365_outlook_list_contact_foldersList all contact folders in the signed-in user's mailbox.Read-onlyList Contact Folders
List all contact folders in the signed-in user's mailbox. Supports OData query parameters for filtering, field selection, and pagination.
Inputs
filterstring- OData filter expression to narrow results (e.g., "displayName eq 'Favorites'").
selectstring- Comma-separated list of properties to return (e.g., 'displayName,parentFolderId'). Reduces response size.
topinteger- Maximum number of contact folders to return (1–200, default: 10).
microsoft365_outlook_list_contactsList all contacts in the user's mailbox with support for filtering, pagination, and field selection.Read-onlyList Contacts
List all contacts in the user's mailbox with support for filtering, pagination, and field selection.
Inputs
filterstring- Filter expression to narrow results (e.g., "emailAddresses/any(a:a/address eq 'user@example.com')")
orderbystring- Property to sort by (e.g., "displayName")
selectstring- Comma-separated list of properties to return (e.g., "displayName,emailAddresses,phoneNumbers")
skipinteger- Number of contacts to skip for pagination
topinteger- Number of contacts to return (default: 10)
microsoft365_outlook_list_event_attachmentsList all attachments on a specific calendar event.Read-onlyList Event Attachments
List all attachments on a specific calendar event. Returns attachment metadata including ID, name, size, and content type. Use the attachment ID with Get Event Attachment to download the file content.
Inputs
event_idstringrequired- The ID of the event to list attachments for.
microsoft365_outlook_list_event_instancesList all instances (occurrences) of a recurring calendar event within a specified date-time range.Read-onlyList Event Instances
List all instances (occurrences) of a recurring calendar event within a specified date-time range. Requires the master recurring event ID and a start/end window in ISO 8601 format.
Inputs
end_date_timestringrequired- End of the time window to query for instances, in ISO 8601 format (e.g., '2024-12-31T23:59:59Z'). Required by Microsoft Graph.
event_idstringrequired- The unique ID of the master recurring event whose instances to list (e.g., 'AAMkAGI2...'). This must be the series master event ID, not an individual occurrence.
start_date_timestringrequired- Start of the time window to query for instances, in ISO 8601 format (e.g., '2024-01-01T00:00:00Z'). Required by Microsoft Graph.
selectstring- Comma-separated list of event properties to return (e.g., 'subject,start,end'). Reduces response size.
topinteger- Maximum number of event instances to return (1–200, default: 10).
microsoft365_outlook_list_focused_inbox_overridesList all Focused Inbox overrides for the signed-in user.Read-onlyList Focused Inbox Overrides
List all Focused Inbox overrides for the signed-in user. Overrides define how messages from specific senders are classified — either into the Focused inbox or the Other inbox — overriding the automatic machine learning classification.
Inputs
selectstring- Comma-separated list of properties to return (e.g., 'classifyAs,senderEmailAddress').
topinteger- Maximum number of overrides to return per page.
microsoft365_outlook_list_folder_deltaGet incremental changes (delta sync) for mail folders in the user's mailbox using Microsoft Graph delta query.Read-onlyList Mail Folder Delta
Get incremental changes (delta sync) for mail folders in the user's mailbox using Microsoft Graph delta query. Returns new, updated, and deleted folders since the last sync. The response includes @odata.nextLink for pagination or @odata.deltaLink for the next delta call.
Inputs
deltatokenstring- Delta token from a previous @odata.deltaLink response to retrieve only folder changes since the last sync. Omit on first call to get a full initial sync.
selectstring- Comma-separated list of folder properties to return (e.g., 'displayName,parentFolderId,totalItemCount,unreadItemCount').
topinteger- Maximum number of folders to return per page (1–250).
microsoft365_outlook_list_mail_foldersList all mail folders in the user mailbox.Read-onlyList Mail Folders
List all mail folders in the user mailbox.
Inputs
include_hiddenboolean- Include hidden folders.
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_list_message_deltaGet incremental changes (delta sync) for messages in a specific mail folder using Microsoft Graph delta query.Read-onlyList Message Delta
Get incremental changes (delta sync) for messages in a specific mail folder using Microsoft Graph delta query. Returns new, updated, and deleted messages since the last sync. The response includes @odata.nextLink for pagination or @odata.deltaLink for the next delta call. Pass $deltatoken from a previous deltaLink to get only changes since then.
Inputs
folder_idstringrequired- The mail folder ID or well-known name to sync (e.g., 'inbox', 'sentitems', 'drafts', or a specific folder ID).
deltatokenstring- Delta token from a previous @odata.deltaLink response to retrieve only changes since the last sync. Omit on first call to get a full initial sync.
selectstring- Comma-separated list of properties to return (e.g., 'subject,from,receivedDateTime,isRead'). Reduces response size.
skiptokenstring- Skip token from a previous @odata.nextLink response to continue paginating through a large delta result set.
topinteger- Maximum number of messages to return per page (1–1000).
microsoft365_outlook_list_message_rulesList all inbox message rules for the user.Read-onlyList Message Rules
List all inbox message rules for the user.
Inputs
This tool takes no inputs.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_list_messagesList all messages in the user's mailbox with support for filtering, pagination, and field selection.Read-onlyList Messages
List all messages in the user's mailbox with support for filtering, pagination, and field selection. Returns 10 messages by default.
Inputs
filterstring- Filter expression to narrow results (e.g., "from/emailAddress/address eq 'user@example.com'")
orderbystring- Property to sort by (e.g., "receivedDateTime desc")
selectstring- Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime")
skipinteger- Number of messages to skip for pagination
topinteger- Number of messages to return (1-1000, default: 10)
microsoft365_outlook_mailbox_settings_getRetrieve the mailbox settings for the signed-in user.Read-onlyGet Mailbox Settings
Retrieve the mailbox settings for the signed-in user. Returns automatic replies (out-of-office) configuration, language, timezone, working hours, date/time format, and delegate meeting message delivery preferences.
Inputs
This tool takes no inputs.
microsoft365_outlook_search_messagesSearch messages by keywords across subject, body, sender, and other fields.Read-onlySearch Messages
Search messages by keywords across subject, body, sender, and other fields. Returns matching messages with support for pagination.
Inputs
querystringrequired- Search query string (searches across subject, body, from, to)
selectstring- Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime")
skipinteger- Number of messages to skip for pagination
topinteger- Number of messages to return (1-1000, default: 10)
microsoft365_outlook_search_peopleSearch for people relevant to the signed-in user by name or email.Read-onlySearch People
Search for people relevant to the signed-in user by name or email.
Inputs
filterstring- OData filter.
order_bystring- Order by field.
searchstring- Search query.
selectstring- Select properties.
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_todo_checklist_items_getGet a specific checklist item (subtask) from a task in a Microsoft To Do task list.Read-onlyGet Checklist Item
Get a specific checklist item (subtask) from a task in a Microsoft To Do task list.
Inputs
checklist_item_idstringrequired- The ID of the checklist item.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
microsoft365_outlook_todo_checklist_items_listList all checklist items (subtasks) for a specific task in a Microsoft To Do task list.Read-onlyList Checklist Items
List all checklist items (subtasks) for a specific task in a Microsoft To Do task list.
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
microsoft365_outlook_todo_lists_getGet a specific Microsoft To Do task list by ID.Read-onlyGet To Do List
Get a specific Microsoft To Do task list by ID.
Inputs
list_idstringrequired- The ID of the task list.
microsoft365_outlook_todo_lists_listList all Microsoft To Do task lists for the current user.Read-onlyList To Do Lists
List all Microsoft To Do task lists for the current user.
Inputs
This tool takes no inputs.
microsoft365_outlook_todo_tasks_getGet a specific task from a Microsoft To Do task list.Read-onlyGet To Do Task
Get a specific task from a Microsoft To Do task list.
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
microsoft365_outlook_todo_tasks_listList all tasks in a Microsoft To Do task list with optional filtering and pagination.Read-onlyList To Do Tasks
List all tasks in a Microsoft To Do task list with optional filtering and pagination.
Inputs
list_idstringrequired- The ID of the task list.
filterstring- OData filter expression (e.g. "status eq 'notStarted'").
orderbystring- Property to sort by (e.g. "createdDateTime desc").
skipinteger- Number of tasks to skip for pagination.
topinteger- Number of tasks to return (default: 10).
microsoft365_powerpoint_read_presentationExport a PowerPoint presentation (.pptx) from OneDrive as a PDF by requesting the file content with the format=pdf conversion parameter.Read-onlyRead PowerPoint Presentation as PDF
Export a PowerPoint presentation (.pptx) from OneDrive as a PDF by requesting the file content with the format=pdf conversion parameter. Returns the PDF binary of the presentation. Note: Microsoft Graph converts the presentation server-side to PDF; it does not return Markdown or plain text. Client-side parsing is required to extract text or slide content from the returned PDF. Requires Files.Read or Files.ReadWrite scope.
Inputs
item_idstringrequired- The unique OneDrive item ID of the PowerPoint presentation (.pptx) to export as PDF. Obtain item IDs from list drive items, search drive items, or get drive item operations. Example: "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K".
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_get_chatRetrieve the properties of a specific Microsoft Teams chat by ID, including its type, topic, and creation time.Read-onlyGet Teams Chat
Retrieve the properties of a specific Microsoft Teams chat by ID, including its type, topic, and creation time.
Inputs
chat_idstringrequired- The unique identifier of the chat.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_get_presences_by_user_idGet the presence information (available, busy, away, etc.) for multiple users in a single request.Read-onlyGet Presences by User ID
Get the presence information (available, busy, away, etc.) for multiple users in a single request. More efficient than calling get_user_presence once per user.
Inputs
user_idsstringrequired- Comma-separated list of Azure AD object IDs of the users whose presence to retrieve.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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
microsoft365_teams_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
microsoft365_teams_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.
microsoft365_teams_list_chat_membersList the members of a Microsoft Teams chat, including their display names, roles, and user IDs.Read-onlyList Teams Chat Members
List the members of a Microsoft Teams chat, including their display names, roles, and user IDs.
Inputs
chat_idstringrequired- The unique identifier of the chat whose members to list.
microsoft365_teams_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
microsoft365_teams_list_chatsList the Microsoft Teams chats (1:1, group, and meeting chats) that the signed-in user is a participant in.Read-onlyList Teams Chats
List the Microsoft Teams chats (1:1, group, and meeting chats) that the signed-in user is a participant in.
Inputs
expandstring- Related resource to expand inline, such as 'members'.
filterstring- OData filter expression to narrow the chats returned. Example: "chatType eq 'oneOnOne'".
topinteger- Maximum number of chats to return per page.
microsoft365_teams_list_online_meeting_attendance_reportsList the attendance reports generated for a Microsoft Teams online meeting.Read-onlyList Online Meeting Attendance Reports
List the attendance reports generated for a Microsoft Teams online meeting. Each report covers one meeting session and can optionally be expanded to include per-attendee attendance records.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting whose attendance reports to list.
expandstring- Related resource to expand inline. Set to 'attendanceRecords' to include each attendee's join/leave times in the response.
microsoft365_teams_list_online_meeting_recordingsList the recordings generated for a Microsoft Teams online meeting.Read-onlyList Online Meeting Recordings
List the recordings generated for a Microsoft Teams online meeting. Returns recording metadata; download the recording content separately via its content URL.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting whose recordings to list.
microsoft365_teams_list_online_meeting_transcriptsList the transcripts generated for a Microsoft Teams online meeting.Read-onlyList Online Meeting Transcripts
List the transcripts generated for a Microsoft Teams online meeting. Returns transcript metadata; download the transcript content separately via its content URL.
Inputs
meeting_idstringrequired- The unique identifier of the online meeting whose transcripts to list.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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
microsoft365_excel_add_table_columnAdd a new column to an existing Excel table in OneDrive.WriteAdd Excel Table Column
Add a new column to an existing Excel table in OneDrive. Optionally specify the column name, its zero-based insertion index (null = append at end), and initial cell values as a 2D array (first row is the header). Returns the created column object.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Name or ID of the table to add the column to. Example: 'Table1' or the GUID assigned by Excel.
indexinteger- Zero-based index position at which to insert the column. Null or omitted means append the column at the right end of the table. Example: 0 inserts as the first column.
namestring- Display name for the new column header. If omitted, Excel auto-generates a name (e.g., 'Column1'). Example: 'Revenue'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
valuesarray- 2D array of initial cell values for the column, including the header row in the first element. Example: [["Header"],["row1val"],["row2val"]]. Each inner array is one row. If omitted, the column is created empty.
microsoft365_excel_add_table_rowAdd a new row to an Excel table in a workbook stored in OneDrive.WriteAdd Excel Table Row
Add a new row to an Excel table in a workbook stored in OneDrive. Provide a 2D array of values (one inner array per row to insert). Optionally specify an index to insert the row at a specific position; omit index to append to the end of the table.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID to add a row to. Example: 'Table1' or '1'.
valuesarrayrequired- 2D array of values to insert as a new row. Each inner array represents one row; each element is a cell value (string, number, boolean, or null). The number of elements in each inner array must match the table's column count. Example: [["Alice", 95, true]] inserts one row with three cells.
indexinteger- Zero-based index at which to insert the row. If null or omitted, the row is appended to the end of the table. Example: 0 inserts at the top of the table.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_calculate_workbookForce Excel to recalculate all formulas in a workbook.WriteCalculate Excel Workbook
Force Excel to recalculate all formulas in a workbook. Useful after updating cell values or ranges via the API, since automation-driven writes do not always trigger a recalculation on their own.
- Idempotent
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file.
calculation_typestring- The type of recalculation to perform. 'Recalculate' recalculates cells that depend on changed cells, 'Full' recalculates everything, 'FullRebuild' also rebuilds the dependency chain. Defaults to 'Recalculate'.one of
RecalculateFullFullRebuilddefaultRecalculate session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_clear_rangeClear the contents, formats, or both from a cell range in an Excel worksheet stored in OneDrive.WriteClear Excel Range
Clear the contents, formats, or both from a cell range in an Excel worksheet stored in OneDrive. Use apply_to to control what is cleared: 'All' clears both content and formatting, 'Contents' clears only values and formulas, 'Formats' clears only cell formatting.
Inputs
addressstringrequired- Cell range address in Excel notation to clear. Examples: 'A1:C10' to clear a multi-cell range, 'B2' to clear a single cell.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the range to clear. Example: 'Sheet1'.
apply_tostring- What to clear from the range. Valid values: 'All' (clears both content and formatting, default), 'Contents' (clears only values and formulas), 'Formats' (clears only cell formatting).one of
AllContentsFormatsdefaultAll session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_close_sessionClose an active workbook session for an Excel file in OneDrive.WriteClose Excel Workbook Session
Close an active workbook session for an Excel file in OneDrive. Releases server-side resources associated with the session. Pass the session ID returned by the createSession call as session_id.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file whose session should be closed. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
session_idstringrequired- Workbook session ID returned by the createSession call. Sent as the workbook-session-id request header to identify which session to close. Example: 'cluster=SN2&session=...'.
microsoft365_excel_create_chartCreate a new chart in an Excel worksheet stored in OneDrive.WriteCreate Excel Chart
Create a new chart in an Excel worksheet stored in OneDrive. Specify the chart type (e.g., ColumnClustered, Line, Pie), the source data range address (e.g., 'A1:B10'), and optionally how series are arranged (Auto, Columns, Rows). Returns the created chart object including its ID.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
source_datastringrequired- Cell range address providing the chart source data in Excel notation. Example: 'A1:B10' uses columns A and B, rows 1–10 as the chart data.
worksheet_idstringrequired- Worksheet name or GUID in which to create the chart. Example: 'Sheet1'.
chart_typestring- Type of chart to create. Valid values: ColumnClustered, ColumnStacked, ColumnStacked100, BarClustered, BarStacked, BarStacked100, Line, LineStacked, LineMarkers, Pie, Doughnut, Scatter, Area, Radar, XYScatter. Default is 'ColumnClustered'.one of
ColumnClusteredColumnStackedColumnStacked100BarClusteredBarStackedBarStacked100LineLineStackedLineMarkersPieDoughnutScatterXYScatterAreaAreaStackedRadardefaultColumnClustered series_bystring- How data series are determined from the source range. Valid values: 'Auto' (Excel decides), 'Columns' (each column is a series), 'Rows' (each row is a series). Default is 'Auto'.one of
AutoColumnsRowsdefaultAuto session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_create_sessionCreate a workbook session for an Excel file in OneDrive.WriteCreate Excel Workbook Session
Create a workbook session for an Excel file in OneDrive. Returns a session ID that can be passed as the workbook-session-id header in subsequent Excel API calls to maintain state and improve performance. Requires the OneDrive item ID of the .xlsx file.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file to open a session for. Obtain this from the OneDrive file listing or drive item API. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
persist_changesboolean- Whether to persist changes made during the session to the workbook. Set to true (default) to save changes; set to false for a read-only transient session that does not commit edits.default
true
microsoft365_excel_create_tableCreate a new Excel table from a cell range in a worksheet stored in OneDrive.WriteCreate Excel Table
Create a new Excel table from a cell range in a worksheet stored in OneDrive. Specify the address of the range (e.g., 'A1:D10') and whether the first row contains headers. Returns the created table object including its assigned ID and name.
Inputs
addressstringrequired- Cell range address for the new table in Excel notation. Example: 'A1:D10' creates a table spanning columns A–D and rows 1–10.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID in which to create the table. Example: 'Sheet1'.
has_headersboolean- Whether the first row of the range contains column headers. When true (default), the first row becomes the header row of the table. When false, Excel auto-generates header names.default
true session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_create_worksheetAdd a new worksheet to an Excel workbook stored in OneDrive.WriteCreate Excel Worksheet
Add a new worksheet to an Excel workbook stored in OneDrive. Specify the sheet name. Returns the newly created worksheet object including its ID, name, position, and visibility.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file to add the worksheet to. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
namestringrequired- Name for the new worksheet tab. Must be unique within the workbook and cannot exceed 31 characters. Example: 'Q1 Sales'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_filter_tableApply a filter to a column in an Excel table stored in OneDrive.WriteFilter Excel Table Column
Apply a filter to a column in an Excel table stored in OneDrive. Specify the filter criteria type (e.g., Values, Dynamic, Top, Custom) and the values or criteria to filter by. For 'Values' filtering, provide an array of exact string values to show. The filter is applied in place; no data is returned.
Inputs
column_idstringrequired- Name or ID of the column within the table on which to apply the filter. Example: 'Status' or the column's integer ID.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Name or ID of the table to filter. Example: 'Table1' or the GUID assigned by Excel.
valuesarrayrequired- Array of string values to filter by when filter_on is 'Values'. Only rows whose cell in this column matches one of these values will be shown. Example: ["Active", "Pending"].
filter_onstring- Filter type that determines how the criteria are applied. Valid values: 'Values' (match exact values), 'Custom' (custom expression), 'CellColor' (cell background color), 'FontColor' (cell font color), 'Dynamic' (dynamic filter such as Above Average), 'Top10' (top or bottom N items), 'Icon' (cell icon). Default is 'Values'.one of
ValuesCustomCellColorFontColorDynamicTop10IcondefaultValues session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_merge_rangeMerge a cell range in an Excel worksheet stored in OneDrive.WriteMerge Excel Range
Merge a cell range in an Excel worksheet stored in OneDrive. Specify the range address (e.g., 'A1:C3') and optionally set 'across' to true to merge each row separately rather than merging the entire block into one cell.
Inputs
addressstringrequired- Cell range address in Excel notation to merge. Examples: 'A1:C3' for a 3-column by 3-row block, 'B2:D4' for a rectangular range.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the range to merge. Example: 'Sheet1'.
acrossboolean- When true, merges cells in each row of the range separately (row-by-row merge) instead of merging the entire block into a single cell. Defaults to false.default
false session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_protect_worksheetApply protection to a worksheet in an Excel workbook stored in OneDrive.WriteProtect Excel Worksheet
Apply protection to a worksheet in an Excel workbook stored in OneDrive. You can optionally set a password and configure which actions are allowed while the sheet is protected (e.g., allow formatting cells but prevent deleting rows).
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID to protect. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'.
allow_auto_filterboolean- Whether to allow AutoFilter operations while the worksheet is protected. Default is false.
allow_delete_columnsboolean- Whether to allow deleting columns while the worksheet is protected. Default is false.
allow_delete_rowsboolean- Whether to allow deleting rows while the worksheet is protected. Default is false.
allow_format_cellsboolean- Whether to allow formatting cells while the worksheet is protected. Default is false.
allow_format_columnsboolean- Whether to allow formatting columns while the worksheet is protected. Default is false.
allow_format_rowsboolean- Whether to allow formatting rows while the worksheet is protected. Default is false.
allow_insert_columnsboolean- Whether to allow inserting columns while the worksheet is protected. Default is false.
allow_insert_hyperlinksboolean- Whether to allow inserting hyperlinks while the worksheet is protected. Default is false.
allow_insert_rowsboolean- Whether to allow inserting rows while the worksheet is protected. Default is false.
allow_pivot_tablesboolean- Whether to allow PivotTable operations while the worksheet is protected. Default is false.
allow_sortboolean- Whether to allow sorting while the worksheet is protected. Default is false.
passwordstring- Optional password to protect the worksheet. If set, users must enter this password to unprotect the sheet. Example: 'MySecretPass123'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_sort_rangeApply a sort to a cell range in an Excel worksheet stored in OneDrive.WriteSort Excel Range
Apply a sort to a cell range in an Excel worksheet stored in OneDrive. Specify one or more sort fields defining which column index to sort by and whether to sort ascending or descending. Optionally control case sensitivity and whether the range has a header row.
Inputs
addressstringrequired- Cell range address in Excel notation to sort. Example: 'A1:D20' to sort a 4-column, 20-row range.
fieldsarrayrequired- Array of sort field objects defining the sort criteria. Each object must have a 'key' (zero-based column index within the range) and optionally 'ascending' (bool, default true) and 'sortOn' (e.g., 'Value', 'CellColor', 'FontColor', 'Icon'). Example: [{"key": 0, "ascending": true, "sortOn": "Value"}].
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the range to sort. Example: 'Sheet1'.
has_headersboolean- Whether the range has a header row that should not be sorted. Default is true — the first row is treated as a header and excluded from sorting.default
true match_caseboolean- Whether the sort is case-sensitive. Default is false (case-insensitive).default
false session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_sort_tableApply a sort to an Excel table stored in OneDrive.WriteSort Excel Table
Apply a sort to an Excel table stored in OneDrive. Provide one or more sort field objects specifying the zero-based column key within the table, sort direction (ascending/descending), and sort basis (Value, CellColor, FontColor, Icon). Optionally control case sensitivity. The sort is applied in place; no data is returned.
Inputs
fieldsarrayrequired- Array of sort field objects defining the sort criteria. Each object must include 'key' (zero-based column index within the table). Optionally include 'ascending' (bool, default true) and 'sortOn' (e.g., 'Value', 'CellColor', 'FontColor', 'Icon'). Example: [{"key": 0, "ascending": true, "sortOn": "Value"}].
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Name or ID of the table to sort. Example: 'Table1' or the GUID assigned by Excel.
match_caseboolean- Whether the sort is case-sensitive. Default is false (case-insensitive). Example: set to true to distinguish 'Apple' from 'apple'.default
false session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_unmerge_rangeUnmerge a previously merged cell range in an Excel worksheet stored in OneDrive.WriteUnmerge Excel Range
Unmerge a previously merged cell range in an Excel worksheet stored in OneDrive. Specify the range address to split any merged cells back into individual cells.
Inputs
addressstringrequired- Cell range address in Excel notation to unmerge. Example: 'A1:C3' to unmerge a block that was previously merged.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the range to unmerge. Example: 'Sheet1'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_update_chartUpdate properties of an existing chart in an Excel worksheet stored in OneDrive.WriteUpdate Excel Chart
Update properties of an existing chart in an Excel worksheet stored in OneDrive. You can update the chart title text, dimensions (height, width in points), and position (left, top offsets in points). Only fields provided will be updated. Returns the updated chart object.
- Idempotent
Inputs
chart_idstringrequired- Name or ID of the chart to update. Example: 'Chart 1' or the GUID assigned by Excel.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the chart. Example: 'Sheet1'.
heightinteger- Height of the chart in points. Example: 300 sets the chart height to 300 points.
leftinteger- Left offset of the chart from the worksheet origin in points. Example: 0 positions the chart at the left edge.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
titlestring- New text for the chart title. Example: 'Monthly Revenue'. This wraps to the Graph API shape {"title":{"text":"..."}}.
topinteger- Top offset of the chart from the worksheet origin in points. Example: 0 positions the chart at the top edge.
widthinteger- Width of the chart in points. Example: 400 sets the chart width to 400 points.
microsoft365_excel_update_rangeWrite values, formulas, or number formats to a cell range in an Excel worksheet stored in OneDrive.WriteUpdate Excel Range
Write values, formulas, or number formats to a cell range in an Excel worksheet stored in OneDrive. Provide a 2D array of values matching the dimensions of the target range. Optionally set formulas and number formats for cells.
- Idempotent
Inputs
addressstringrequired- Cell range address in Excel notation to update. Must match the dimensions of the values array. Examples: 'A1:C2' for a 2-row by 3-column range, 'B5' for a single cell.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
valuesarrayrequired- 2D array of cell values to write. Each inner array represents a row; each element is a cell value (string, number, boolean, or null). Example: [["Name", "Score"], ["Alice", 95], ["Bob", 87]].
worksheet_idstringrequired- Worksheet name or GUID containing the range to update. Example: 'Sheet1'.
formulasarray- 2D array of formula strings to write. Each inner array represents a row; each element is a cell formula string (e.g., '=SUM(A1:A5)') or null to leave blank. Must match the dimensions of the address range.
number_formatarray- 2D array of number format strings to apply. Each element is an Excel number format code (e.g., 'mm/dd/yyyy', '0.00', '@' for text). Must match the dimensions of the address range.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_update_tableUpdate the properties of an existing Excel table in a workbook stored in OneDrive.WriteUpdate Excel Table
Update the properties of an existing Excel table in a workbook stored in OneDrive. Supports renaming the table, toggling header and total rows, and changing the table style.
- Idempotent
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID to update. Example: 'Table1' or '1'.
namestring- New name for the table. Must be unique within the workbook. Example: 'SalesData'. Only alphanumeric characters and underscores; must not start with a number.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
show_headersboolean- Whether to show the header row of the table. Set to true to display column headers, false to hide them.
show_totalsboolean- Whether to show the totals row at the bottom of the table. Set to true to display the totals row, false to hide it.
stylestring- Table style name to apply. Valid values follow the Excel table style naming convention, e.g., 'TableStyleLight1', 'TableStyleMedium2', 'TableStyleDark3'. See Excel table styles for available options.
microsoft365_excel_update_worksheetUpdate properties of an existing worksheet in an Excel workbook stored in OneDrive.WriteUpdate Excel Worksheet
Update properties of an existing worksheet in an Excel workbook stored in OneDrive. You can rename the sheet, change its tab position, or change its visibility. At least one of name, position, or visibility must be provided.
- Idempotent
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID to update. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'.
namestring- New name for the worksheet tab. Must be unique within the workbook and no longer than 31 characters. Example: 'Q2 Sales'.
positioninteger- Zero-based index position of the worksheet among other sheets. Example: 0 makes it the first sheet.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
visibilitystring- Visibility of the worksheet. Valid values: 'Visible' (shown), 'Hidden' (hidden but can be unhidden by user), 'VeryHidden' (hidden and cannot be unhidden from the UI).one of
VisibleHiddenVeryHidden
microsoft365_onedrive_checkin_fileCheck in a checked-out OneDrive file to make the version available to others.WriteCheck In OneDrive File
Check in a checked-out OneDrive file to make the version available to others. Optionally provide a comment describing the changes and specify the check-in type. Requires the file to be checked out first.
Inputs
item_idstringrequired- The unique ID of the OneDrive file to check in. The file must currently be checked out. Obtain item IDs from list or get drive item operations.
check_in_asstring- The type of check-in to perform. 'published' makes the version visible to all users. 'unspecified' (default) lets the server decide based on document library configuration.one of
publishedunspecifieddefaultunspecified commentstring- An optional comment to associate with the checked-in version, describing the changes made. Maximum length varies by library configuration.
microsoft365_onedrive_checkout_fileCheck out a OneDrive file to prevent others from editing it while you make changes.WriteCheck Out OneDrive File
Check out a OneDrive file to prevent others from editing it while you make changes. Once checked out, only you can modify the file until it is checked back in or the checkout is discarded.
Inputs
item_idstringrequired- The unique ID of the OneDrive file to check out. The file must be in a document library that supports check out. Obtain item IDs from list or get drive item operations.
microsoft365_onedrive_copy_drive_itemCopy a OneDrive file or folder to a new location asynchronously.WriteCopy Drive Item
Copy a OneDrive file or folder to a new location asynchronously. The operation returns HTTP 202 Accepted with a monitor URL; the actual copy completes in the background. Provide the destination folder ID and an optional new name.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to copy. Obtain item IDs from list or get drive item operations.
new_parent_idstringrequired- The item ID of the destination folder for the copy. Use "root" to copy the item to the top level of OneDrive.
new_namestring- Optional name for the copied item in the destination. If omitted, the copy retains the original name.
microsoft365_onedrive_copy_item_in_driveCopy a file or folder in a specific drive to a new location asynchronously.WriteCopy Item in Drive
Copy a file or folder in a specific drive to a new location asynchronously. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Returns HTTP 202 with a monitor URL; the copy completes in the background. To copy an item in the signed-in user's personal OneDrive, use microsoft365_onedrive_copy_drive_item instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the item to copy. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The unique ID of the file or folder to copy. Obtain item IDs from list or get item operations.
new_parent_idstringrequired- The item ID of the destination folder for the copy. Use "root" to copy to the top level of the drive.
new_namestring- Optional name for the copied item in the destination. If omitted, the copy retains the original name.
microsoft365_onedrive_create_folderCreate a new folder in OneDrive under the specified parent folder.WriteCreate OneDrive Folder
Create a new folder in OneDrive under the specified parent folder. Use "root" as the parent_id to create a top-level folder. Supports conflict behavior control when a folder with the same name already exists.
Inputs
namestringrequired- The name of the folder to create. Must be a valid folder name without path separators.
parent_idstringrequired- The ID of the parent folder under which to create the new folder. Use "root" to create a folder at the top level of OneDrive. Obtain folder IDs from list or get drive item operations.
conflict_behaviorstring- Behavior when a folder with the same name already exists. "fail" returns an error, "replace" overwrites the existing item, "rename" saves the new folder with a different name. Default: rename.one of
failreplacerenamedefaultrename
microsoft365_onedrive_create_sharing_linkCreate a sharing link for a OneDrive file or folder.WriteCreate Sharing Link
Create a sharing link for a OneDrive file or folder. Supports view-only, edit, and embed link types. The link can optionally be scoped to the organization, password-protected, or set with an expiration date.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder for which to create a sharing link. Obtain item IDs from list or get drive item operations.
typestringrequired- Type of sharing link to create. "view" is read-only, "edit" allows modifications, "embed" provides an HTML embed code for web pages.one of
vieweditembed expiration_date_timestring- Optional expiration date and time for the sharing link in ISO 8601 format. After this date/time the link will no longer work. Example: "2026-12-31T23:59:00Z".
passwordstring- Optional password to protect the sharing link. Recipients will need to enter this password to access the shared item.
scopestring- Scope of the sharing link. "anonymous" allows anyone with the link to access the item. "organization" restricts access to users within the same Microsoft 365 organization. Default: anonymous.one of
anonymousorganizationdefaultanonymous
microsoft365_onedrive_create_sharing_link_in_driveCreate a sharing link for a file or folder in a specific drive by drive ID.WriteCreate Sharing Link in Drive
Create a sharing link for a file or folder in a specific drive by drive ID. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Supports view-only, edit, and embed link types with optional org scope, password, and expiration. To create a sharing link for an item in the signed-in user's personal OneDrive, use microsoft365_onedrive_create_sharing_link instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the item to share. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The unique ID of the file or folder for which to create a sharing link. Obtain item IDs from list or get item operations.
typestringrequired- Type of sharing link to create. "view" is read-only, "edit" allows modifications, "embed" provides an HTML embed code for web pages.one of
vieweditembed expiration_date_timestring- Optional expiration date and time for the sharing link in ISO 8601 format. After this date/time the link will no longer work. Example: "2026-12-31T23:59:00Z".
passwordstring- Optional password to protect the sharing link. Recipients will need to enter this password to access the shared item.
scopestring- Scope of the sharing link. "anonymous" allows anyone with the link to access the item. "organization" restricts access to users within the same Microsoft 365 organization. Default: anonymous.one of
anonymousorganizationdefaultanonymous
microsoft365_onedrive_discard_checkoutDiscard a pending checkout for a OneDrive file, releasing the lock without saving any changes.WriteDiscard OneDrive File Checkout
Discard a pending checkout for a OneDrive file, releasing the lock without saving any changes. The file reverts to the state it was in before the checkout. Use this when you want to cancel edits and allow others to edit the file again.
Inputs
item_idstringrequired- The unique ID of the OneDrive file whose checkout to discard. The file must currently be checked out by you. Obtain item IDs from list or get drive item operations.
microsoft365_onedrive_follow_drive_itemFollow a OneDrive file or folder so it appears in your list of followed items.WriteFollow Drive Item
Follow a OneDrive file or folder so it appears in your list of followed items. Following an item allows you to track changes and receive notifications. Returns the updated drive item.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to follow. Obtain item IDs from list or get drive item operations.
microsoft365_onedrive_invite_usersSend sharing invitations for a OneDrive file or folder to one or more recipients by email address.WriteInvite Users to Drive Item
Send sharing invitations for a OneDrive file or folder to one or more recipients by email address. Assigns the specified roles (read or write) and optionally sends an email notification with a message.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to share. Obtain item IDs from list or get drive item operations.
recipient_emailsarrayrequired- Array of email addresses of users to invite. Each email will receive an invitation to access the shared item. Example: ["alice@example.com", "bob@example.com"].
rolesarrayrequired- Array of permission roles to grant to the invited users. Use "read" for view-only access and "write" for edit access. Example: ["read"].
messagestring- Optional message to include in the invitation email sent to the recipients.
require_sign_inboolean- Whether the recipient must sign in to access the shared item. Set to false to allow access without signing in. Default: true.default
true send_invitationboolean- Whether to send an email invitation to the recipients. Set to false to grant access silently without sending an email. Default: true.default
true
microsoft365_onedrive_move_drive_itemMove a OneDrive file or folder to a different parent folder by updating its parentReference.WriteMove Drive Item
Move a OneDrive file or folder to a different parent folder by updating its parentReference. Optionally rename the item during the move. Provide the destination folder's item ID as new_parent_id.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to move. Obtain item IDs from list or get drive item operations.
new_parent_idstringrequired- The item ID of the destination folder. Use "root" to move the item to the top level of OneDrive. Obtain folder IDs from list or get drive item operations.
new_namestring- Optional new name to assign to the item during the move. If omitted, the item keeps its current name.
microsoft365_onedrive_preview_drive_itemObtain a short-lived embeddable preview URL for a OneDrive file, suitable for rendering the file inline in a web page.WritePreview OneDrive Item
Obtain a short-lived embeddable preview URL for a OneDrive file, suitable for rendering the file inline in a web page. For long-lived shareable links, use create_sharing_link instead.
Inputs
item_idstringrequired- The unique identifier of the OneDrive file to generate a preview for.
pagestring- Optional page number of the document to start at, if applicable.
zoominteger- Optional zoom level to start the preview at, if applicable.
microsoft365_onedrive_restore_drive_itemRestore a deleted OneDrive file or folder from the recycle bin back to its original location or an optionally specified destination.WriteRestore Drive Item
Restore a deleted OneDrive file or folder from the recycle bin back to its original location or an optionally specified destination. Provide new_parent_id and new_name to restore to a different location or with a different name.
Inputs
item_idstringrequired- The unique ID of the deleted OneDrive item to restore. Obtain deleted item IDs from recycle bin list operations.
new_namestring- Optional new name to assign to the item when restoring. If omitted, the item is restored with its original name.
new_parent_idstring- Optional item ID of the folder to restore the item into. If omitted, the item is restored to its original parent location.
microsoft365_onedrive_unfollow_drive_itemStop following a OneDrive file or folder.WriteUnfollow Drive Item
Stop following a OneDrive file or folder. The item will no longer appear in your list of followed items and you will stop receiving change notifications for it.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to unfollow. The item must currently be in your followed items list. Obtain item IDs from list or get drive item operations.
microsoft365_onedrive_update_drive_itemUpdate the metadata of a OneDrive file or folder by its item ID.WriteUpdate Drive Item
Update the metadata of a OneDrive file or folder by its item ID. Supports renaming (via name) and updating the description. At least one of name or description should be provided.
- Idempotent
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to update. Obtain item IDs from list or get drive item operations.
descriptionstring- New description for the file or folder. Provide a short text description to attach to the item. Optional — can be updated independently from name.
namestring- New name for the file or folder. Renaming a file preserves its extension unless explicitly changed. Optional — provide only when renaming.
microsoft365_onedrive_update_permissionUpdate the roles assigned to an existing permission on a OneDrive file or folder.WriteUpdate Drive Item Permission
Update the roles assigned to an existing permission on a OneDrive file or folder. Use this to change a user's access level from read to write or vice versa. Requires the item ID and the specific permission ID to update.
- Idempotent
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder whose permission to update. Obtain item IDs from list or get drive item operations.
permission_idstringrequired- The unique ID of the permission to update. Obtain permission IDs from the list permissions operation on the same item.
rolesarrayrequired- New array of permission roles to assign. Use "read" for view-only access and "write" for edit access. Example: ["write"].
microsoft365_onedrive_upload_large_fileCreate a resumable upload session for uploading large files (greater than 4 MB) to OneDrive.WriteCreate OneDrive Upload Session
Create a resumable upload session for uploading large files (greater than 4 MB) to OneDrive. Returns an upload URL that the caller uses to upload file bytes in separate PATCH requests. The file is placed under the specified parent folder with the given filename.
Inputs
filenamestringrequired- The name of the file to create or replace in OneDrive, including extension. Example: "report.xlsx".
parent_idstringrequired- The ID of the parent folder where the file will be uploaded. Use "root" to upload to the top-level OneDrive folder. Obtain folder IDs from list or get drive item operations.
conflict_behaviorstring- Behavior when a file with the same name already exists. "fail" aborts the upload, "replace" overwrites the existing file, "rename" saves with a new name. Default: replace.one of
failreplacerenamedefaultreplace
microsoft365_onenote_create_notebookCreate a new OneNote notebook for the signed-in user.WriteCreate OneNote Notebook
Create a new OneNote notebook for the signed-in user. Notebook names must be unique within the user's OneNote, cannot exceed 128 characters, and cannot contain the characters ?*/:<>|'\". Returns the new notebook object including its id and sectionsUrl. Requires Notes.Create or Notes.ReadWrite scope.
Inputs
display_namestringrequired- The display name for the new notebook. Must be unique among the user's notebooks, 128 characters or fewer, and cannot contain the characters ?*/:<>|'\".
microsoft365_onenote_create_pageCreate a new OneNote page in the specified section by posting well-formed HTML directly as the request body.WriteCreate OneNote Page
Create a new OneNote page in the specified section by posting well-formed HTML directly as the request body. Content-Type is text/html — the body must be valid XHTML-compliant markup (properly closed/nested tags), not JSON. Use a <title> element inside <head> to set the page title. This tool only supports plain HTML (including remote image URLs); pages that embed binary image/file data require a multipart/form-data request, which is not supported by this tool. Requires Notes.Create or Notes.ReadWrite scope.
Inputs
html_contentstringrequired- Well-formed XHTML-compliant HTML for the new page, including the <html>, <head>, and <body> elements. Example: "<!DOCTYPE html><html><head><title>Meeting Notes</title></head><body><p>Agenda items...</p></body></html>". Remote image URLs are allowed in <img src="https://...">; embedded binary data is not supported by this tool.
section_idstringrequired- The unique ID of the section in which to create the new page. Obtain section IDs from microsoft365_onenote_list_sections or microsoft365_onenote_create_section.
microsoft365_onenote_create_sectionCreate a new OneNote section inside the specified notebook.WriteCreate OneNote Section
Create a new OneNote section inside the specified notebook. Section names must be unique within the same hierarchy level, cannot exceed 50 characters, and cannot contain the characters ?*/:<>|'%~. Returns the new onenoteSection object including its id and pagesUrl. Requires Notes.Create or Notes.ReadWrite scope.
Inputs
display_namestringrequired- The display name for the new section. Must be unique among the notebook's other sections, 50 characters or fewer, and cannot contain the characters ?*/:<>|'%~.
notebook_idstringrequired- The unique ID of the notebook in which to create the new section. Obtain notebook IDs from microsoft365_onenote_list_notebooks or microsoft365_onenote_create_notebook.
microsoft365_outlook_accept_eventAccept a calendar event invitation.WriteAccept Event
Accept a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_add_event_attachmentAdd a small file attachment (under 3 MB) directly to a calendar event by posting to its attachments collection.WriteAdd Event Attachment
Add a small file attachment (under 3 MB) directly to a calendar event by posting to its attachments collection. Provide the file content as base64-encoded bytes.
Inputs
content_bytesstringrequired- The base64-encoded content of the file to attach.
event_idstringrequired- The unique identifier of the event.
namestringrequired- The name of the attachment file, including its extension.
content_typestring- The MIME content type of the attachment. Defaults to application/octet-stream if omitted.
microsoft365_outlook_add_message_attachmentAdd a file attachment to an existing draft message by posting to its attachments collection.WriteAdd Message Attachment
Add a file attachment to an existing draft message by posting to its attachments collection. Provide the file content as base64-encoded bytes. Works on draft messages created via create_draft_message or the reply/forward draft actions.
Inputs
content_bytesstringrequired- The base64-encoded content of the file to attach.
message_idstringrequired- The unique identifier of the draft message.
namestringrequired- The name of the attachment file, including its extension.
content_typestring- The MIME content type of the attachment. Defaults to application/octet-stream if omitted.
microsoft365_outlook_batch_move_messagesMove up to 20 Outlook messages to a destination folder in a single Microsoft Graph batch request.WriteBatch Move Messages
Move up to 20 Outlook messages to a destination folder in a single Microsoft Graph batch request. Builds a $batch envelope where each subrequest POSTs to /me/messages/{id}/move. Returns a 200 response with per-subrequest status codes inside the responses array.
Inputs
destination_folder_idstringrequired- The ID or well-known name of the destination folder (e.g., 'inbox', 'deleteditems', 'drafts', or a specific folder ID like 'AAMkAGI2...').
message_idsarrayrequired- Array of message IDs to move (max 20). Each ID is an Outlook message ID string.
microsoft365_outlook_batch_update_messagesUpdate properties on up to 20 Outlook messages in a single Microsoft Graph batch request.WriteBatch Update Messages
Update properties on up to 20 Outlook messages in a single Microsoft Graph batch request. Builds a $batch envelope where each subrequest PATCHes /me/messages/{id} with the provided updates object. Common use: mark messages as read by passing {"isRead": true}. Returns a 200 response with per-subrequest status codes inside the responses array.
Inputs
message_idsarrayrequired- Array of message IDs to update (max 20). Each ID is an Outlook message ID string.
updatesobjectrequired- Free-form object of message properties to update on all specified messages. Example: {"isRead": true} to mark as read, or {"isRead": false, "flag": {"flagStatus": "flagged"}} for multiple changes.
microsoft365_outlook_copy_messageCopy an email message to another mail folder, leaving the original message in place.WriteCopy Message
Copy an email message to another mail folder, leaving the original message in place. Returns the newly created copy.
Inputs
destination_idstringrequired- The ID or well-known name (e.g. 'inbox', 'archive') of the mail folder to copy the message into.
message_idstringrequired- The unique identifier of the message to copy.
microsoft365_outlook_create_calendarCreate a new named calendar in the user's mailbox (in the default calendar group).WriteCreate Calendar
Create a new named calendar in the user's mailbox (in the default calendar group). Distinct from calendar groups and events — this creates the calendar container itself, e.g. a separate calendar for a project or team.
Inputs
namestringrequired- The display name for the new calendar.
colorstring- Color theme to distinguish the calendar in the UI. One of: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor.one of
autolightBluelightGreenlightOrangelightGraylightYellowlightTeallightPinklightBrownlightRedmaxColor
microsoft365_outlook_create_calendar_eventCreate a new calendar event in the user's Outlook calendar.WriteCreate Calendar Event
Create a new calendar event in the user's Outlook calendar. Supports attendees, recurrence, reminders, online meetings, multiple locations, and event properties.
Inputs
end_datetimestringrequired- No description.
end_timezonestringrequired- No description.default
UTC start_datetimestringrequired- No description.
start_timezonestringrequired- No description.default
UTC subjectstringrequired- No description.
attendees_optionalstring- Array of email addresses for optional attendees
attendees_requiredstring- Array of email addresses for required attendees
attendees_resourcestring- Array of email addresses for resources (meeting rooms, equipment)
body_contentstring- No description.
body_contentTypestring- No description.one of
HTMLTextdefaultHTML hideAttendeesboolean- When true, each attendee only sees themselves
importancestring- Event importance levelone of
lownormalhighdefaultnormal isAllDayboolean- Mark as all-day event
isOnlineMeetingboolean- Create an online meeting (Teams/Skype)
isReminderOnboolean- Enable or disable reminderdefault
true locationstring- No description.
locationsstring- JSON array of location objects with displayName, address, coordinates
onlineMeetingProviderstring- Online meeting providerone of
teamsForBusinessskypeForBusinessskypeForConsumer recurrence_days_of_weekstring- Days of week for weekly recurrence (comma-separated)
recurrence_end_datestring- End date for recurrence (YYYY-MM-DD), required if range_type is endDate
recurrence_intervalinteger- How often the event recurs (e.g., every 2 weeks = 2)
recurrence_occurrencesinteger- Number of occurrences, required if range_type is numbered
recurrence_range_typestring- How the recurrence endsone of
endDatenoEndnumbered recurrence_start_datestring- Start date for recurrence (YYYY-MM-DD)
recurrence_typestring- Recurrence pattern typeone of
dailyweeklymonthlyyearly reminderMinutesBeforeStartinteger- Minutes before event start to show reminderdefault
15 sensitivitystring- Event sensitivity/privacy levelone of
normalpersonalprivateconfidentialdefaultnormal showAsstring- Free/busy statusone of
freetentativebusyoofworkingElsewheredefaultbusy
microsoft365_outlook_create_calendar_groupCreate a new calendar group in the signed-in user's mailbox.WriteCreate Calendar Group
Create a new calendar group in the signed-in user's mailbox. Calendar groups organize multiple calendars together in Outlook.
Inputs
namestringrequired- The name of the new calendar group (e.g., 'Work Calendars'). Must be unique among calendar groups for the user.
microsoft365_outlook_create_calendar_permissionGrant a user access to a specific Outlook calendar by creating a calendar permission entry.WriteCreate Calendar Permission
Grant a user access to a specific Outlook calendar by creating a calendar permission entry. Specify the user's email address and the role level (e.g., freeBusyRead, read, write, delegate).
Inputs
calendar_idstringrequired- The unique identifier of the calendar to share. Use a specific calendar ID from the list calendars endpoint.
email_addressstringrequired- The email address of the user to grant calendar access to. Example: colleague@example.com
rolestringrequired- The permission role to grant. Valid values: freeBusyRead (see free/busy only), limitedRead (see title and location), read (see all event details), write (create/edit/delete events), delegateWithoutPrivateEventAccess (delegate, no private events), delegateWithPrivateEventAccess (delegate including private events), custom (custom role).one of
freeBusyReadlimitedReadreadwritedelegateWithoutPrivateEventAccessdelegateWithPrivateEventAccesscustom namestring- Display name of the user to grant access to. Optional; the Graph API will resolve it from the email if omitted.
microsoft365_outlook_create_categoryCreate a new Outlook master category for the signed-in user.WriteCreate Outlook Category
Create a new Outlook master category for the signed-in user. Categories have a display name and a color preset (none or preset0–preset24). Once created, categories can be applied to messages, events, and contacts.
Inputs
display_namestringrequired- The display name of the new category. Must be unique among the user's categories.
colorstring- The color assigned to the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot. Defaults to preset0.one of
nonepreset0preset1preset2preset3preset4preset5preset6preset7preset8preset9preset10preset11preset12preset13preset14preset15preset16preset17preset18preset19preset20preset21preset22preset23preset24defaultpreset0
microsoft365_outlook_create_contactCreate a new contact in the user's mailbox with name, email addresses, and phone numbers.WriteCreate Contact
Create a new contact in the user's mailbox with name, email addresses, and phone numbers.
Inputs
givenNamestringrequired- First name of the contact
surnamestringrequired- Last name of the contact
businessPhonesarray- Array of business phone numbers
companyNamestring- Company name
emailAddressesarray- Array of email address objects with 'address' and optional 'name' fields
jobTitlestring- Job title
mobilePhonestring- Mobile phone number
microsoft365_outlook_create_contact_folderCreate a new contact folder in the signed-in user's mailbox.WriteCreate Contact Folder
Create a new contact folder in the signed-in user's mailbox. Optionally nest it under an existing parent folder by providing a parent folder ID.
Inputs
display_namestringrequired- The display name for the new contact folder (e.g., 'Work Contacts').
parent_folder_idstring- Optional ID of the parent contact folder under which to create this folder. If omitted, the folder is created at the top level.
microsoft365_outlook_create_draft_messageCreate a new email draft in the mailbox.WriteCreate Draft Message
Create a new email draft in the mailbox. Supports setting a follow-up flag.
Inputs
bcc_recipientsstring- BCC recipients.
bodystring- Email body content.
body_typestring- Body content type.
cc_recipientsstring- CC recipients.
flag_statusstring- Follow-up flag status.
importancestring- Importance.
subjectstring- Email subject.
to_recipientsstring- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_focused_inbox_overrideCreate a Focused Inbox override that classifies all messages from a specific sender into either the Focused or Other inbox.WriteCreate Focused Inbox Override
Create a Focused Inbox override that classifies all messages from a specific sender into either the Focused or Other inbox. This overrides the automatic machine learning classification for that sender.
Inputs
classify_asstringrequired- How to classify messages from this sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox.one of
focusedother sender_emailstringrequired- The email address of the sender to create an override for (e.g., 'newsletter@example.com').
sender_namestring- Optional display name for the sender (e.g., 'Weekly Newsletter'). Used for display purposes only.
microsoft365_outlook_create_forward_draftCreate a forward draft for a specific message.WriteCreate Forward Draft
Create a forward draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Forward comment.
to_recipientsstring- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_mail_folderCreate a new mail folder in the mailbox.WriteCreate Mail Folder
Create a new mail folder in the mailbox.
Inputs
display_namestringrequired- Folder name.
is_hiddenboolean- Hidden folder.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_message_ruleCreate a new inbox message rule.WriteCreate Message Rule
Create a new inbox message rule.
Inputs
display_namestringrequired- Rule name.
actionsobject- Rule actions.
conditionsobject- Rule conditions.
exceptionsobject- Exception conditions for the rule.
is_enabledboolean- Enable rule.
sequenceinteger- Rule sequence.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_reply_all_draftCreate a reply-all draft for a specific message.WriteCreate Reply-All Draft
Create a reply-all draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Reply comment.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_reply_draftCreate a reply draft for a specific message.WriteCreate Reply Draft
Create a reply draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Reply comment.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_create_upload_sessionCreate an upload session for attaching a large file to an Outlook message using Microsoft Graph.WriteCreate Attachment Upload Session
Create an upload session for attaching a large file to an Outlook message using Microsoft Graph. Returns an uploadUrl and expiration time. Use the uploadUrl to upload file content in chunks via PUT requests. Required for attachments larger than 3 MB.
Inputs
attachment_namestringrequired- The filename of the attachment (e.g., 'report.pdf'). Must include the file extension.
attachment_sizeintegerrequired- The total size of the attachment in bytes. Must be the exact file size before uploading.
message_idstringrequired- The ID of the draft Outlook message to attach the file to.
microsoft365_outlook_decline_eventDecline a calendar event invitation.WriteDecline Event
Decline a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
proposed_new_timeobject- Proposed new meeting time.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_forward_eventForward a calendar event to other people.WriteForward Event
Forward a calendar event to other people.
Inputs
commentstringrequired- Forward comment.
event_idstringrequired- Event ID.
to_recipientsstringrequired- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_forward_messageForward an existing email message directly to new recipients.WriteForward Message
Forward an existing email message directly to new recipients. The message is sent immediately and a copy is saved in Sent Items. Use create_forward_draft instead if you need to edit the forwarded message before sending.
Inputs
message_idstringrequired- The unique identifier of the message to forward.
to_recipientsstringrequired- Comma-separated list of email addresses to forward the message to.
commentstring- Optional comment to include with the forwarded message.
microsoft365_outlook_get_mail_tipsGet mail tips for a list of recipients before sending an email.WriteGet Mail Tips
Get mail tips for a list of recipients before sending an email.
Inputs
email_addressesarrayrequired- Recipient email addresses.
mail_tips_optionsstringrequired- Mail tip types.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_mailbox_settings_updateUpdate mailbox settings for the signed-in user.WriteUpdate Mailbox Settings
Update mailbox settings for the signed-in user. Supports configuring automatic replies (out-of-office), language, timezone, working hours, date/time format, and delegate meeting message delivery preferences. Only fields provided will be updated.
- Idempotent
Inputs
automaticRepliesSettingobject- Configuration for automatic replies (out-of-office). Set status, internal/external reply messages, and optional scheduled time window.
dateFormatstring- Preferred date format string for the mailbox (e.g., 'MM/dd/yyyy', 'dd/MM/yyyy', 'yyyy-MM-dd').
delegateMeetingMessageDeliveryOptionsstring- Controls how meeting messages are delivered when a delegate is configured.one of
sendToDelegateAndInformationToPrincipalsendToDelegateAndPrincipalsendToDelegateOnly languageobject- Language and locale for the mailbox. Object with locale (e.g., 'en-US') and displayName.
timeFormatstring- Preferred time format string for the mailbox (e.g., 'hh:mm tt' for 12-hour, 'HH:mm' for 24-hour).
timeZonestring- Preferred time zone for the mailbox (e.g., 'UTC', 'Pacific Standard Time', 'Eastern Standard Time').
workingHoursobject- Working hours configuration including days of week, start/end times, and time zone.
microsoft365_outlook_move_messageMove a message to a different mail folder.WriteMove Message
Move a message to a different mail folder.
Inputs
destination_idstringrequired- Destination folder ID.
message_idstringrequired- Message ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_reply_all_to_messageReply immediately to all recipients of a message (sender, To, and Cc).WriteReply All to Message
Reply immediately to all recipients of a message (sender, To, and Cc). The reply is sent right away and saved in Sent Items. Use create_reply_all_draft instead if you need to edit the reply before sending.
Inputs
message_idstringrequired- The unique identifier of the message to reply to.
commentstring- The reply message content.
microsoft365_outlook_reply_to_messageReply to an existing email message.WriteReply to Message
Reply to an existing email message. The reply is automatically sent to the original sender and saved in the Sent Items folder.
Inputs
commentstringrequired- Reply message content
messageIdstringrequired- The unique identifier of the message to reply to
microsoft365_outlook_send_draft_messageSend a previously created draft message (from create_draft_message, create_reply_draft, create_reply_all_draft, or create_forward_draft).WriteSend Draft Message
Send a previously created draft message (from create_draft_message, create_reply_draft, create_reply_all_draft, or create_forward_draft). The message is sent as-is and saved in Sent Items.
Inputs
message_idstringrequired- The unique identifier of the draft message to send.
microsoft365_outlook_send_messageSend an email message using Microsoft Graph API.WriteSend Email
Send an email message using Microsoft Graph API. The message is saved in the Sent Items folder by default.
Inputs
bodystringrequired- Body content of the email
subjectstringrequired- Subject line of the email
toRecipientsarrayrequired- Array of email addresses to send to
bccRecipientsarray- Array of email addresses to BCC
bodyTypestring- Content type of the body (Text or HTML)
ccRecipientsarray- Array of email addresses to CC
saveToSentItemsboolean- Save the message in Sent Items folder (default: true)
microsoft365_outlook_tentatively_accept_eventTentatively accept a calendar event invitation.WriteTentatively Accept Event
Tentatively accept a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
proposed_new_timeobject- Proposed new meeting time.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_todo_checklist_items_createAdd a checklist item (subtask) to a specific task in a Microsoft To Do task list.WriteCreate Checklist Item
Add a checklist item (subtask) to a specific task in a Microsoft To Do task list.
Inputs
display_namestringrequired- The display name of the checklist item.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to add the checklist item to.
is_checkedboolean- Whether the checklist item is already checked/completed.default
false
microsoft365_outlook_todo_checklist_items_updateUpdate a checklist item (subtask) in a Microsoft To Do task.WriteUpdate Checklist Item
Update a checklist item (subtask) in a Microsoft To Do task. Only provided fields are changed.
- Idempotent
Inputs
checklist_item_idstringrequired- The ID of the checklist item to update.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
display_namestring- New display name for the checklist item.
is_checkedboolean- Whether the checklist item is checked/completed.
microsoft365_outlook_todo_lists_createCreate a new Microsoft To Do task list.WriteCreate To Do List
Create a new Microsoft To Do task list.
Inputs
display_namestringrequired- The name of the task list.
microsoft365_outlook_todo_lists_updateRename a Microsoft To Do task list.WriteUpdate To Do List
Rename a Microsoft To Do task list.
- Idempotent
Inputs
display_namestringrequired- The new name for the task list.
list_idstringrequired- The ID of the task list to update.
microsoft365_outlook_todo_tasks_createCreate a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder.WriteCreate To Do Task
Create a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder.
Inputs
list_idstringrequired- The ID of the task list to add the task to.
titlestringrequired- The title of the task.
bodystring- The body/notes of the task (plain text).
categoriesarray- Array of category names to assign to the task.
due_datestring- Due date in YYYY-MM-DD format (e.g. "2026-04-15").
due_time_zonestring- Time zone for the due date (e.g. "UTC", "America/New_York"). Defaults to UTC.
importancestring- The importance of the task: low, normal, or high.one of
lownormalhigh reminder_date_timestring- Reminder date and time in ISO 8601 format (e.g. "2026-04-15T09:00:00").
reminder_time_zonestring- Time zone for the reminder (e.g. "UTC"). Defaults to UTC.
statusstring- The status of the task: notStarted, inProgress, completed, waitingOnOthers, or deferred.one of
notStartedinProgresscompletedwaitingOnOthersdeferred
microsoft365_outlook_todo_tasks_updateUpdate a task in a Microsoft To Do task list.WriteUpdate To Do Task
Update a task in a Microsoft To Do task list. Only provided fields are changed.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to update.
bodystring- New body/notes for the task (plain text).
categoriesarray- Array of category names to assign to the task.
due_datestring- Due date in YYYY-MM-DD format.
due_time_zonestring- Time zone for the due date. Defaults to UTC.
importancestring- The importance: low, normal, or high.one of
lownormalhigh statusstring- The status: notStarted, inProgress, completed, waitingOnOthers, or deferred.one of
notStartedinProgresscompletedwaitingOnOthersdeferred titlestring- New title for the task.
microsoft365_outlook_update_calendarUpdate the properties of an existing calendar, such as renaming it or changing its display color.WriteUpdate Calendar
Update the properties of an existing calendar, such as renaming it or changing its display color.
- Idempotent
Inputs
calendar_idstringrequired- The unique identifier of the calendar to update.
colorstring- New color theme for the calendar. One of: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor.one of
autolightBluelightGreenlightOrangelightGraylightYellowlightTeallightPinklightBrownlightRedmaxColor namestring- New display name for the calendar.
microsoft365_outlook_update_calendar_eventUpdate an existing Outlook calendar event.WriteUpdate Calendar Event
Update an existing Outlook calendar event. Only provided fields will be updated. Supports time, attendees, location, reminders, online meetings, recurrence, and event properties.
- Idempotent
Inputs
event_idstringrequired- The ID of the calendar event to update
attendees_optionalstring- Comma-separated optional attendee emails
attendees_requiredstring- Comma-separated required attendee emails
attendees_resourcestring- Comma-separated resource emails (meeting rooms, equipment)
body_contentstring- Event description/body
body_contentTypestring- Content type of bodyone of
HTMLText categoriesstring- Comma-separated categories
end_datetimestring- Event end time in RFC3339 format
end_timezonestring- Timezone for end time
hideAttendeesboolean- When true, each attendee only sees themselves
importancestring- Event importance levelone of
lownormalhigh isAllDayboolean- Mark as all-day event
isOnlineMeetingboolean- Create an online meeting (Teams/Skype)
isReminderOnboolean- Enable or disable reminder
locationstring- Physical or virtual location
locationsstring- JSON array of location objects with displayName, address, coordinates
onlineMeetingProviderstring- Online meeting providerone of
teamsForBusinessskypeForBusinessskypeForConsumer recurrence_days_of_weekstring- Days of week for weekly recurrence (comma-separated)
recurrence_end_datestring- End date for recurrence (YYYY-MM-DD)
recurrence_intervalinteger- How often the event recurs (e.g., every 2 weeks = 2)
recurrence_occurrencesinteger- Number of occurrences
recurrence_range_typestring- How the recurrence endsone of
endDatenoEndnumbered recurrence_start_datestring- Start date for recurrence (YYYY-MM-DD)
recurrence_typestring- Recurrence pattern typeone of
dailyweeklymonthlyyearly reminderMinutesBeforeStartinteger- Minutes before event start to show reminder
sensitivitystring- Event sensitivity/privacy levelone of
normalpersonalprivateconfidential showAsstring- Free/busy statusone of
freetentativebusyoofworkingElsewhere start_datetimestring- Event start time in RFC3339 format
start_timezonestring- Timezone for start time
subjectstring- Event title/summary
microsoft365_outlook_update_calendar_groupUpdate the name of an existing calendar group in the signed-in user's mailbox.WriteUpdate Calendar Group
Update the name of an existing calendar group in the signed-in user's mailbox.
- Idempotent
Inputs
group_idstringrequired- The unique ID of the calendar group to update (e.g., 'AAMkAGI2...'). Obtain from List Calendar Groups.
namestringrequired- The new name for the calendar group (e.g., 'Personal Calendars').
microsoft365_outlook_update_calendar_permissionUpdate the role of an existing calendar permission entry.WriteUpdate Calendar Permission
Update the role of an existing calendar permission entry. Use this to change a user's access level (e.g., upgrade from read to write, or downgrade from delegate to read) on a specific calendar.
- Idempotent
Inputs
calendar_idstringrequired- The unique identifier of the calendar that contains the permission to update.
permission_idstringrequired- The unique identifier of the calendar permission entry to update. Retrieve from the list calendar permissions endpoint.
rolestringrequired- The new permission role to assign. Valid values: freeBusyRead (see free/busy only), limitedRead (see title and location), read (see all event details), write (create/edit/delete events), delegateWithoutPrivateEventAccess (delegate, no private events), delegateWithPrivateEventAccess (delegate including private events), custom (custom role).one of
freeBusyReadlimitedReadreadwritedelegateWithoutPrivateEventAccessdelegateWithPrivateEventAccesscustom
microsoft365_outlook_update_categoryUpdate the display name or color of an existing Outlook master category.WriteUpdate Outlook Category
Update the display name or color of an existing Outlook master category. Provide the category ID and at least one of display_name or color to update.
- Idempotent
Inputs
category_idstringrequired- The unique ID of the Outlook category to update. Retrieve it from the list_categories tool.
colorstring- New color for the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot.one of
nonepreset0preset1preset2preset3preset4preset5preset6preset7preset8preset9preset10preset11preset12preset13preset14preset15preset16preset17preset18preset19preset20preset21preset22preset23preset24 display_namestring- New display name for the category. Must be unique among the user's categories if provided.
microsoft365_outlook_update_contactUpdate properties of an existing contact.WriteUpdate Contact
Update properties of an existing contact.
Inputs
contact_idstringrequired- Contact ID.
company_namestring- Company name.
email_addressesstring- Email addresses.
given_namestring- First name.
job_titlestring- Job title.
mobile_phonestring- Mobile phone.
surnamestring- Last name.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_update_contact_folderUpdate the display name of an existing contact folder in the signed-in user's mailbox.WriteUpdate Contact Folder
Update the display name of an existing contact folder in the signed-in user's mailbox.
- Idempotent
Inputs
display_namestringrequired- The new display name for the contact folder (e.g., 'Updated Contacts').
folder_idstringrequired- The unique ID of the contact folder to update (e.g., 'AAMkAGI2...'). Obtain from List Contact Folders.
microsoft365_outlook_update_focused_inbox_overrideUpdate an existing Focused Inbox override to change how messages from a specific sender are classified.WriteUpdate Focused Inbox Override
Update an existing Focused Inbox override to change how messages from a specific sender are classified. Use this to switch a sender between Focused and Other inbox routing.
- Idempotent
Inputs
classify_asstringrequired- Updated classification for the sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox.one of
focusedother override_idstringrequired- The unique ID of the Focused Inbox override to update. Retrieve it from the list_focused_inbox_overrides tool.
microsoft365_outlook_update_mail_folderRename or update a mail folder.WriteUpdate Mail Folder
Rename or update a mail folder.
Inputs
display_namestringrequired- New folder name.
folder_idstringrequired- Folder ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_update_messageUpdate properties of an email message (e.g.WriteUpdate Message
Update properties of an email message (e.g. mark as read, set importance, set a follow-up flag).
Inputs
message_idstringrequired- Message ID.
bodystring- Message body content.
body_content_typestring- Body content type.
categoriesarray- Categories.
flag_statusstring- Follow-up flag status.
importancestring- Importance.
inference_classificationstring- Inference classification.
is_delivery_receipt_requestedboolean- Delivery receipt requested.
is_readboolean- Mark as read.
is_read_receipt_requestedboolean- Read receipt requested.
subjectstring- Updated subject.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_update_message_ruleUpdate an existing inbox message rule.WriteUpdate Message Rule
Update an existing inbox message rule.
Inputs
rule_idstringrequired- Rule ID.
actionsobject- Rule actions.
conditionsobject- Rule conditions.
display_namestring- Rule name.
exceptionsobject- Exception conditions for the rule.
is_enabledboolean- Enable rule.
is_read_onlyboolean- Mark rule as read-only.
sequenceinteger- Rule sequence.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_powerpoint_create_presentationCreate a new PowerPoint presentation (.pptx) in OneDrive by initiating a resumable upload session.WriteCreate PowerPoint Presentation
Create a new PowerPoint presentation (.pptx) in OneDrive by initiating a resumable upload session. Returns an uploadUrl that the caller must use to upload the .pptx file bytes via one or more PUT requests. The presentation is placed under the specified parent folder with the given filename. Requires Files.ReadWrite or Files.ReadWrite.All scope.
Inputs
filenamestringrequired- The base name of the PowerPoint presentation to create, without the .pptx extension. The extension is appended automatically. Example: "Q4 Review" creates "Q4 Review.pptx".
parent_idstringrequired- The OneDrive item ID of the parent folder where the presentation will be created. Use "root" to create the file at the top level of OneDrive. Obtain folder IDs from list or get drive item operations.
conflict_behaviorstring- Behavior when a file with the same name already exists in the target folder. "fail" aborts and returns an error, "replace" overwrites the existing file, "rename" saves the new presentation with a different auto-generated name. Default: replace.one of
failreplacerenamedefaultreplace
microsoft365_teams_add_chat_memberAdd a user to an existing group chat.WriteAdd Teams Chat Member
Add a user to an existing group chat. Cannot be used on one-on-one chats, whose two-person roster is fixed.
Inputs
chat_idstringrequired- The unique identifier of the group chat to add the member to.
user_idstringrequired- The Azure AD object ID of the user to add to the chat.
is_ownerboolean- Whether the new member should be granted the 'owner' role. Defaults to false (regular member).default
false
microsoft365_teams_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
microsoft365_teams_approve_shift_swap_requestApprove a pending shift swap request in a Microsoft Teams team schedule.WriteApprove Teams Shift Swap Request
Approve a pending shift swap request in a Microsoft Teams team schedule. Requires the team ID and request ID. Optionally include a manager note with the approval.
Inputs
request_idstringrequired- The unique identifier of the shift swap request to approve.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the swap request.
messagestring- Optional message from the manager to include with the approval decision.
microsoft365_teams_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!'
microsoft365_teams_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
microsoft365_teams_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
microsoft365_teams_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'.
microsoft365_teams_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
microsoft365_teams_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
microsoft365_teams_create_channel_tabAdd (pin) a new app tab to a Microsoft Teams channel, such as a website, document, or third-party app tab.WriteCreate Teams Channel Tab
Add (pin) a new app tab to a Microsoft Teams channel, such as a website, document, or third-party app tab.
Inputs
channel_idstringrequired- The unique identifier of the channel to add the tab to.
content_urlstringrequired- The URL to render inside the tab (the tab's configuration.contentUrl).
display_namestringrequired- The display name of the new tab.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
teams_app_idstringrequired- The teamsApp catalog identifier for the app to pin as a tab. Use 'com.microsoft.teamspace.tab.web' for a generic website tab.
entity_idstring- Optional app-defined identifier for the entity displayed in the tab.
website_urlstring- Optional URL to use when the tab is opened outside of Teams, in a browser.
microsoft365_teams_create_chatCreate a new one-on-one or group chat in Microsoft Teams.WriteCreate Teams Chat
Create a new one-on-one or group chat in Microsoft Teams. Provide the Azure AD object IDs of the members to include (not including the caller, who is added automatically).
Inputs
chat_typestringrequired- The type of chat to create. Use 'oneOnOne' when member_user_ids contains exactly one other user, or 'group' for a group chat.one of
oneOnOnegroup member_user_idsstringrequired- Comma-separated Azure AD object IDs of the users to add to the chat, in addition to the caller.
topicstring- Optional subject or topic for the chat. Only applies to group chats.
microsoft365_teams_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.
microsoft365_teams_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
microsoft365_teams_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.'
microsoft365_teams_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
microsoft365_teams_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.'
microsoft365_teams_decline_shift_swap_requestDecline a pending shift swap request in a Microsoft Teams team schedule.WriteDecline Teams Shift Swap Request
Decline a pending shift swap request in a Microsoft Teams team schedule. Requires the team ID and request ID. Optionally include a manager note with the decision.
Inputs
request_idstringrequired- The unique identifier of the shift swap request to decline.
team_idstringrequired- The unique identifier of the Microsoft Teams team whose schedule contains the swap request.
messagestring- Optional message from the manager to include with the decline decision.
microsoft365_teams_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.'
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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).
microsoft365_teams_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
microsoft365_teams_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).
microsoft365_teams_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
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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
microsoft365_teams_update_chatUpdate the properties of a group chat, such as renaming its topic.WriteUpdate Teams Chat
Update the properties of a group chat, such as renaming its topic. Only applies to group chats — 1:1 chats do not support a topic.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the chat to update.
topicstringrequired- The new subject or topic for the group chat.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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
microsoft365_teams_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.
microsoft365_word_create_documentCreate a new Word document (.docx) in OneDrive by initiating a resumable upload session.WriteCreate Word Document
Create a new Word document (.docx) in OneDrive by initiating a resumable upload session. Returns an uploadUrl that the caller must use to upload the .docx file bytes via one or more PUT requests. The document is placed under the specified parent folder with the given filename. Requires Files.ReadWrite or Files.ReadWrite.All scope.
Inputs
filenamestringrequired- The base name of the Word document to create, without the .docx extension. The extension is appended automatically. Example: "Project Proposal" creates "Project Proposal.docx".
parent_idstringrequired- The OneDrive item ID of the parent folder where the document will be created. Use "root" to create the document at the top level of OneDrive. Obtain folder IDs from list or get drive item operations.
conflict_behaviorstring- Behavior when a file with the same name already exists in the target folder. "fail" aborts and returns an error, "replace" overwrites the existing file, "rename" saves the new document with a different auto-generated name. Default: replace.one of
failreplacerenamedefaultreplace
microsoft365_excel_delete_chartDelete a chart from an Excel worksheet stored in OneDrive.DestructiveDelete Excel Chart
Delete a chart from an Excel worksheet stored in OneDrive. This permanently removes the chart from the worksheet. Requires the OneDrive item ID, worksheet name or GUID, and chart name or GUID.
- Idempotent
Inputs
chart_idstringrequired- Name or ID of the chart to delete. Example: 'Chart 1' or the GUID assigned by Excel.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID containing the chart to delete. Example: 'Sheet1'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_delete_tablePermanently delete a table from an Excel workbook stored in OneDrive.DestructiveDelete Excel Table
Permanently delete a table from an Excel workbook stored in OneDrive. The underlying cell data is preserved but the table formatting and structure are removed. This action cannot be undone.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Table name or numeric ID to delete. Example: 'Table1' or '1'. This permanently removes the table structure (cell data is kept).
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_delete_table_columnDelete a column from an Excel table by its zero-based index.DestructiveDelete Excel Table Column
Delete a column from an Excel table by its zero-based index. This permanently removes the column and all its data from the table. Requires the OneDrive item ID, table name or ID, and the column index to delete.
- Idempotent
Inputs
column_indexintegerrequired- Zero-based index of the column to delete within the table. Example: 0 deletes the first column, 2 deletes the third column.
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
table_idstringrequired- Name or ID of the table containing the column to delete. Example: 'Table1' or the GUID assigned by Excel.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_delete_table_rowPermanently delete a row from an Excel table in a workbook stored in OneDrive by its zero-based row index.DestructiveDelete Excel Table Row
Permanently delete a row from an Excel table in a workbook stored in OneDrive by its zero-based row index. All rows below the deleted row shift up by one. This action cannot be undone.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
row_indexintegerrequired- Zero-based index of the row to delete within the table. The header row is not counted; index 0 refers to the first data row. Example: 0 deletes the first data row.
table_idstringrequired- Table name or numeric ID from which to delete the row. Example: 'Table1' or '1'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_excel_delete_worksheetPermanently delete a worksheet from an Excel workbook stored in OneDrive.DestructiveDelete Excel Worksheet
Permanently delete a worksheet from an Excel workbook stored in OneDrive. This action cannot be undone. The workbook must have at least one remaining visible worksheet after deletion.
Inputs
item_idstringrequired- OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
worksheet_idstringrequired- Worksheet name or GUID to delete. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'.
session_idstring- Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'.
microsoft365_onedrive_delete_drive_itemPermanently delete a file or folder from OneDrive by its item ID.DestructiveDelete Drive Item
Permanently delete a file or folder from OneDrive by its item ID. This action cannot be undone — the item is moved to the recycle bin and eventually purged. Use with caution.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder to delete. Obtain item IDs from list or get drive item operations. Deleting a folder also removes all its contents.
microsoft365_onedrive_delete_item_in_driveDelete a file or folder from a specific drive by drive ID and item ID.DestructiveDelete Item in Drive
Delete a file or folder from a specific drive by drive ID and item ID. The item is moved to the recycle bin. Works across any drive accessible to the signed-in user, including SharePoint document libraries and Teams drives. Deleting a folder also removes all its contents. To delete an item from the signed-in user's personal OneDrive, use microsoft365_onedrive_delete_drive_item instead.
Inputs
drive_idstringrequired- The unique ID of the drive containing the item to delete. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives.
item_idstringrequired- The unique ID of the file or folder to delete. Obtain item IDs from list or get item operations. Deleting a folder also removes all its contents.
microsoft365_onedrive_delete_permissionRemove a specific permission (sharing link or user grant) from a OneDrive file or folder.DestructiveDelete Drive Item Permission
Remove a specific permission (sharing link or user grant) from a OneDrive file or folder. Once deleted, users who had access only through this permission will lose access. This action cannot be undone.
Inputs
item_idstringrequired- The unique ID of the OneDrive file or folder from which to remove the permission. Obtain item IDs from list or get drive item operations.
permission_idstringrequired- The unique ID of the permission to delete. Obtain permission IDs from list permissions operations.
microsoft365_outlook_delete_calendarDelete a calendar and all the events it contains.DestructiveDelete Calendar
Delete a calendar and all the events it contains. Cannot be used to delete the user's default calendar.
- Idempotent
Inputs
calendar_idstringrequired- The unique identifier of the calendar to delete.
microsoft365_outlook_delete_calendar_eventDelete a calendar event by ID.DestructiveDelete Calendar Event
Delete a calendar event by ID.
- Idempotent
Inputs
event_idstringrequired- No description.
microsoft365_outlook_delete_calendar_groupPermanently delete a calendar group from the signed-in user's mailbox.DestructiveDelete Calendar Group
Permanently delete a calendar group from the signed-in user's mailbox. Note: you cannot delete the default calendar group. All calendars within the group will also be deleted.
- Idempotent
Inputs
group_idstringrequired- The unique ID of the calendar group to delete (e.g., 'AAMkAGI2...'). Obtain from List Calendar Groups. Cannot be the default calendar group.
microsoft365_outlook_delete_calendar_permissionRevoke a user's access to a specific Outlook calendar by deleting the calendar permission entry.DestructiveDelete Calendar Permission
Revoke a user's access to a specific Outlook calendar by deleting the calendar permission entry. This action is permanent and immediately removes the user's access.
Inputs
calendar_idstringrequired- The unique identifier of the calendar from which to remove the permission.
permission_idstringrequired- The unique identifier of the calendar permission entry to delete. Retrieve from the list calendar permissions endpoint.
microsoft365_outlook_delete_categoryDelete an Outlook master category for the signed-in user.DestructiveDelete Outlook Category
Delete an Outlook master category for the signed-in user. This permanently removes the category definition. Any messages or items tagged with this category will retain the tag label but the category color will no longer appear.
- Idempotent
Inputs
category_idstringrequired- The unique ID of the Outlook category to delete. Retrieve it from the list_categories tool.
microsoft365_outlook_delete_contactPermanently delete a contact.DestructiveDelete Contact
Permanently delete a contact.
Inputs
contact_idstringrequired- Contact ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_delete_contact_folderPermanently delete a contact folder and all its contents from the signed-in user's mailbox.DestructiveDelete Contact Folder
Permanently delete a contact folder and all its contents from the signed-in user's mailbox. This action cannot be undone.
- Idempotent
Inputs
folder_idstringrequired- The unique ID of the contact folder to delete (e.g., 'AAMkAGI2...'). Obtain from List Contact Folders. Warning: deletes all contacts within the folder.
microsoft365_outlook_delete_event_attachmentDelete a single attachment from a calendar event by attachment ID.DestructiveDelete Event Attachment
Delete a single attachment from a calendar event by attachment ID.
- Idempotent
Inputs
attachment_idstringrequired- The ID of the attachment to delete.
event_idstringrequired- The ID of the event the attachment belongs to.
microsoft365_outlook_delete_focused_inbox_overrideDelete a Focused Inbox override rule for the signed-in user.DestructiveDelete Focused Inbox Override
Delete a Focused Inbox override rule for the signed-in user. Once deleted, messages from that sender will revert to automatic machine learning classification.
- Idempotent
Inputs
override_idstringrequired- The unique ID of the Focused Inbox override rule to delete (e.g., 'AAMkAGI2...'). Obtain this from the List Focused Inbox Overrides tool.
microsoft365_outlook_delete_mail_folderPermanently delete a mail folder and its contents.DestructiveDelete Mail Folder
Permanently delete a mail folder and its contents.
Inputs
folder_idstringrequired- Folder ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_delete_messagePermanently delete an email message.DestructiveDelete Message
Permanently delete an email message.
Inputs
message_idstringrequired- Message ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_delete_message_ruleDelete an inbox message rule.DestructiveDelete Message Rule
Delete an inbox message rule.
Inputs
rule_idstringrequired- Rule ID.
Also accepts
schema_versionandtool_versionto pin a version.microsoft365_outlook_permanently_delete_messagePermanently delete a message, bypassing the Deleted Items folder.DestructivePermanently Delete Message
Permanently delete a message, bypassing the Deleted Items folder. The message is moved straight to the Purges folder in Recoverable Items and cannot be restored from the mailbox UI. Use delete_message instead for a normal, recoverable delete.
- Idempotent
Inputs
message_idstringrequired- The unique identifier of the message to permanently delete.
microsoft365_outlook_todo_checklist_items_deletePermanently delete a checklist item (subtask) from a task in a Microsoft To Do task list.DestructiveDelete Checklist Item
Permanently delete a checklist item (subtask) from a task in a Microsoft To Do task list.
- Idempotent
Inputs
checklist_item_idstringrequired- The ID of the checklist item to delete.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
microsoft365_outlook_todo_lists_deletePermanently delete a Microsoft To Do task list and all its tasks.DestructiveDelete To Do List
Permanently delete a Microsoft To Do task list and all its tasks.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list to delete.
microsoft365_outlook_todo_tasks_deletePermanently delete a task from a Microsoft To Do task list.DestructiveDelete To Do Task
Permanently delete a task from a Microsoft To Do task list.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to delete.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_delete_chat_messageSoft-delete a message in a Microsoft Teams chat.DestructiveDelete Teams Chat Message
Soft-delete a message in a Microsoft Teams chat. The message is retracted and replaced with a tombstone indicating it was deleted.
Inputs
chat_idstringrequired- The unique identifier of the chat that contains the message.
message_idstringrequired- The unique identifier of the message to soft-delete.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_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.
microsoft365_teams_remove_channel_tabRemove (unpin) a tab from a Microsoft Teams channel.DestructiveRemove Teams Channel Tab
Remove (unpin) a tab from a Microsoft Teams channel.
- Idempotent
Inputs
channel_idstringrequired- The unique identifier of the channel that contains the tab.
tab_idstringrequired- The unique identifier of the tab to remove.
team_idstringrequired- The unique identifier of the Microsoft Teams team that contains the channel.
microsoft365_teams_remove_chat_memberRemove a member from a Microsoft Teams group chat.DestructiveRemove Teams Chat Member
Remove a member from a Microsoft Teams group chat.
- Idempotent
Inputs
chat_idstringrequired- The unique identifier of the chat to remove the member from.
membership_idstringrequired- The conversationMember ID identifying the user's membership in this chat. Obtain from list_chat_members.
microsoft365_teams_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.
No tools match.
Workflows
Proxy API call
const result = await actions.request({ connectionName: 'microsoft365', identifier: 'user_123', path: '/v1.0/me/messages', method: 'GET',});console.log(result);result = actions.request( connection_name='microsoft365', identifier='user_123', path="/v1.0/me/messages", method="GET")print(result)Execute a tool
const result = await actions.executeTool({ connector: 'microsoft365', identifier: 'user_123', toolName: 'microsoft365_outlook_create_calendar_event', toolInput: { subject: 'Project sync', start_datetime: '2026-10-15T10:00:00', start_timezone: 'UTC', end_datetime: '2026-10-15T10:30:00', end_timezone: 'UTC', },});console.log(result);result = actions.execute_tool( connection_name='microsoft365', identifier='user_123', tool_name='microsoft365_outlook_create_calendar_event', tool_input={ 'subject': 'Project sync', 'start_datetime': '2026-10-15T10:00:00', 'start_timezone': 'UTC', 'end_datetime': '2026-10-15T10:30:00', 'end_timezone': 'UTC', },)print(result)