Microsoft 365 connector
OAuth 2.0 ProductivityCommunicationCollaborationFiles & DocumentsCalendarAnalyticsConnect to Microsoft 365. Unified access to Outlook, Excel, Word, OneNote, OneDrive, SharePoint, and Teams through Microsoft Graph API.
Microsoft 365 connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set 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> -
Set up the connector
Section titled “Set up the connector”Register your Microsoft 365 credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
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 and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_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)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'microsoft365_outlook_mailbox_settings_get',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_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_outlook_mailbox_settings_get",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Link onedrive resolve shared — Resolve a OneDrive or SharePoint sharing URL (e.g
- List sharepoint, onedrive — List all SharePoint sites that the signed-in user is following
- Delete onedrive, teams — Delete a file or folder from a specific drive by drive ID and item ID
- Create onedrive, word, teams — Create a sharing link for a file or folder in a specific drive by drive ID
- Drive onedrive copy item in — Copy a file or folder in a specific drive to a new location asynchronously
- Get onedrive, teams — Retrieve metadata for a specific file or folder in a drive by drive ID and item ID
- Shared/delegated calendar write — Create or update events on another user’s calendar (
microsoft365_outlook_create_shared_calendar_event,microsoft365_outlook_update_shared_calendar_event) - Shared mailbox read — Get a single message from a shared mailbox by ID (
microsoft365_outlook_get_shared_mailbox_message) - Colleague contacts — List or get contacts from another user’s contacts folder (
microsoft365_outlook_list_shared_contacts,microsoft365_outlook_get_shared_contact) - Colleague tasks — List another user’s To Do task lists and tasks (
microsoft365_outlook_list_shared_todo_lists,microsoft365_outlook_list_shared_todo_tasks)
Common workflows
Section titled “Common 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_create_calendar_event', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='microsoft365', identifier='user_123', tool_name='microsoft365_create_calendar_event', tool_input={},)print(result)Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
microsoft365_excel_add_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. 6 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Name or ID of the table to add the column to. Example: 'Table1' or the GUID assigned by Excel. index integer optional 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. name string optional Display name for the new column header. If omitted, Excel auto-generates a name (e.g., 'Column1'). Example: 'Revenue'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. values array optional 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_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. 5 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID to add a row to. Example: 'Table1' or '1'. values array required 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. index integer optional 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_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_clear_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. 5 params
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.
address string required Cell range address in Excel notation to clear. Examples: 'A1:C10' to clear a multi-cell range, 'B2' to clear a single cell. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the range to clear. Example: 'Sheet1'. apply_to string optional 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). session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_close_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. 2 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file whose session should be closed. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. session_id string required 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_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. 6 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. source_data string required 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_id string required Worksheet name or GUID in which to create the chart. Example: 'Sheet1'. chart_type string optional 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'. series_by string optional 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'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_create_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. 2 params
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.
item_id string required 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_changes boolean optional 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. microsoft365_excel_create_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. 5 params
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.
address string required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID in which to create the table. Example: 'Sheet1'. has_headers boolean optional 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. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_create_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file to add the worksheet to. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. name string required Name for the new worksheet tab. Must be unique within the workbook and cannot exceed 31 characters. Example: 'Q1 Sales'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_delete_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. 4 params
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.
chart_id string required Name or ID of the chart to delete. Example: 'Chart 1' or the GUID assigned by Excel. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the chart to delete. Example: 'Sheet1'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_delete_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID to delete. Example: 'Table1' or '1'. This permanently removes the table structure (cell data is kept). session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_delete_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. 4 params
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.
column_index integer required Zero-based index of the column to delete within the table. Example: 0 deletes the first column, 2 deletes the third column. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Name or ID of the table containing the column to delete. Example: 'Table1' or the GUID assigned by Excel. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_delete_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. 4 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. row_index integer required 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_id string required Table name or numeric ID from which to delete the row. Example: 'Table1' or '1'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_delete_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID to delete. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_export_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. 1 param
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file to export. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. microsoft365_excel_filter_table
#
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. 6 params
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.
column_id string required Name or ID of the column within the table on which to apply the filter. Example: 'Status' or the column's integer ID. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Name or ID of the table to filter. Example: 'Table1' or the GUID assigned by Excel. values array required 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_on string optional 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'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_get_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. 4 params
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.
address string required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the range. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_get_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID to retrieve. Example: 'Table1' or '1'. Both the table name and the workbook-assigned numeric ID are accepted. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_get_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required 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_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_charts
#
List all charts in an Excel worksheet stored in OneDrive. Returns chart names, IDs, type, dimensions, and position. Supports OData $top for pagination. 4 params
List all charts in an Excel worksheet stored in OneDrive. Returns chart names, IDs, type, dimensions, and position. Supports OData $top for pagination.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the charts to list. Example: 'Sheet1'. $top integer optional Maximum number of charts to return (1–1000). Defaults to server-defined page size. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 3 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. $top integer optional Maximum number of comments to return (1–1000). Defaults to server-defined page size. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 4 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. $select string optional Comma-separated list of properties to return for each named item. Example: 'name,type,value' to return only those fields. $top integer optional Maximum number of named items to return (1–1000). Defaults to server-defined page size. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 5 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID whose columns to list. Example: 'Table1' or '1'. $select string optional Comma-separated list of properties to return for each column. Example: 'id,name' to return only the column ID and name. $top integer optional Maximum number of columns to return. Useful for tables with many columns. Example: 10. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 5 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID whose rows to list. Example: 'Table1' or '1'. $skip integer optional 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. $top integer optional Maximum number of rows to return. Defaults to server page size. Example: 50 to return up to 50 rows. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 4 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. $select string optional Comma-separated list of properties to return. Example: 'id,name,style' to return only those fields for each table. $top integer optional Maximum number of tables to return (1–1000). Defaults to server-defined page size. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_list_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. 4 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. $select string optional Comma-separated list of properties to return for each worksheet. Example: 'id,name,position,visibility'. $top integer optional Maximum number of worksheets to return. Example: 10. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header for session-based access. Example: 'cluster=SN2&session=...'. microsoft365_excel_merge_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. 5 params
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.
address string required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the range to merge. Example: 'Sheet1'. across boolean optional 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. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_protect_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). 15 params
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).
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID to protect. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'. allow_auto_filter boolean optional Whether to allow AutoFilter operations while the worksheet is protected. Default is false. allow_delete_columns boolean optional Whether to allow deleting columns while the worksheet is protected. Default is false. allow_delete_rows boolean optional Whether to allow deleting rows while the worksheet is protected. Default is false. allow_format_cells boolean optional Whether to allow formatting cells while the worksheet is protected. Default is false. allow_format_columns boolean optional Whether to allow formatting columns while the worksheet is protected. Default is false. allow_format_rows boolean optional Whether to allow formatting rows while the worksheet is protected. Default is false. allow_insert_columns boolean optional Whether to allow inserting columns while the worksheet is protected. Default is false. allow_insert_hyperlinks boolean optional Whether to allow inserting hyperlinks while the worksheet is protected. Default is false. allow_insert_rows boolean optional Whether to allow inserting rows while the worksheet is protected. Default is false. allow_pivot_tables boolean optional Whether to allow PivotTable operations while the worksheet is protected. Default is false. allow_sort boolean optional Whether to allow sorting while the worksheet is protected. Default is false. password string optional Optional password to protect the worksheet. If set, users must enter this password to unprotect the sheet. Example: 'MySecretPass123'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_sort_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. 7 params
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.
address string required Cell range address in Excel notation to sort. Example: 'A1:D20' to sort a 4-column, 20-row range. fields array required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the range to sort. Example: 'Sheet1'. has_headers boolean optional 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. match_case boolean optional Whether the sort is case-sensitive. Default is false (case-insensitive). session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_sort_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. 5 params
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.
fields array required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Name or ID of the table to sort. Example: 'Table1' or the GUID assigned by Excel. match_case boolean optional Whether the sort is case-sensitive. Default is false (case-insensitive). Example: set to true to distinguish 'Apple' from 'apple'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_unmerge_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. 4 params
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.
address string required Cell range address in Excel notation to unmerge. Example: 'A1:C3' to unmerge a block that was previously merged. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the range to unmerge. Example: 'Sheet1'. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_update_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. 9 params
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.
chart_id string required Name or ID of the chart to update. Example: 'Chart 1' or the GUID assigned by Excel. item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID containing the chart. Example: 'Sheet1'. height integer optional Height of the chart in points. Example: 300 sets the chart height to 300 points. left integer optional Left offset of the chart from the worksheet origin in points. Example: 0 positions the chart at the left edge. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. title string optional New text for the chart title. Example: 'Monthly Revenue'. This wraps to the Graph API shape {"title":{"text":"..."}}. top integer optional Top offset of the chart from the worksheet origin in points. Example: 0 positions the chart at the top edge. width integer optional Width of the chart in points. Example: 400 sets the chart width to 400 points. microsoft365_excel_update_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. 7 params
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.
address string required 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_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. values array required 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_id string required Worksheet name or GUID containing the range to update. Example: 'Sheet1'. formulas array optional 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_format array optional 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_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. microsoft365_excel_update_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. 7 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. table_id string required Table name or numeric ID to update. Example: 'Table1' or '1'. name string optional 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_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. show_headers boolean optional Whether to show the header row of the table. Set to true to display column headers, false to hide them. show_totals boolean optional Whether to show the totals row at the bottom of the table. Set to true to display the totals row, false to hide it. style string optional 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_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. 6 params
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.
item_id string required OneDrive item ID of the Excel (.xlsx) file. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'. worksheet_id string required Worksheet name or GUID to update. Example: 'Sheet1' or '{00000000-0001-0000-0000-000000000000}'. name string optional New name for the worksheet tab. Must be unique within the workbook and no longer than 31 characters. Example: 'Q2 Sales'. position integer optional Zero-based index position of the worksheet among other sheets. Example: 0 makes it the first sheet. session_id string optional Optional workbook session ID from createSession. When provided, sent as the workbook-session-id header. Example: 'cluster=SN2&session=...'. visibility string optional 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). microsoft365_onedrive_checkin_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. 3 params
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.
item_id string required 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_as string optional 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. comment string optional An optional comment to associate with the checked-in version, describing the changes made. Maximum length varies by library configuration. microsoft365_onedrive_checkout_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. 1 param
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.
item_id string required 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_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. 3 params
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.
item_id string required The unique ID of the OneDrive file or folder to copy. Obtain item IDs from list or get drive item operations. new_parent_id string required The item ID of the destination folder for the copy. Use "root" to copy the item to the top level of OneDrive. new_name string optional Optional name for the copied item in the destination. If omitted, the copy retains the original name. microsoft365_onedrive_copy_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. 4 params
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.
drive_id string required 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_id string required The unique ID of the file or folder to copy. Obtain item IDs from list or get item operations. new_parent_id string required The item ID of the destination folder for the copy. Use "root" to copy to the top level of the drive. new_name string optional Optional name for the copied item in the destination. If omitted, the copy retains the original name. microsoft365_onedrive_create_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. 3 params
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.
name string required The name of the folder to create. Must be a valid folder name without path separators. parent_id string required 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_behavior string optional 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. microsoft365_onedrive_create_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. 5 params
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.
item_id string required 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. type string required Type of sharing link to create. "view" is read-only, "edit" allows modifications, "embed" provides an HTML embed code for web pages. expiration_date_time string optional 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". password string optional Optional password to protect the sharing link. Recipients will need to enter this password to access the shared item. scope string optional 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. microsoft365_onedrive_create_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. 6 params
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.
drive_id string required 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_id string required The unique ID of the file or folder for which to create a sharing link. Obtain item IDs from list or get item operations. type string required Type of sharing link to create. "view" is read-only, "edit" allows modifications, "embed" provides an HTML embed code for web pages. expiration_date_time string optional 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". password string optional Optional password to protect the sharing link. Recipients will need to enter this password to access the shared item. scope string optional 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. microsoft365_onedrive_delete_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. 1 param
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.
item_id string required 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_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. 2 params
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.
drive_id string required 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_id string required 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_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. 2 params
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.
item_id string required 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_id string required The unique ID of the permission to delete. Obtain permission IDs from list permissions operations. microsoft365_onedrive_discard_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. 1 param
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.
item_id string required 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_download_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. 1 param
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.
item_id string required The unique ID of the OneDrive file to download. Obtain item IDs from list drive items or search drive items operations. microsoft365_onedrive_follow_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. 1 param
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.
item_id string required The unique ID of the OneDrive file or folder to follow. Obtain item IDs from list or get drive item operations. microsoft365_onedrive_get_drive
#
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). 0 params
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).
microsoft365_onedrive_get_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. 1 param
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.
item_id string required The unique ID of the OneDrive file or folder to retrieve. Obtain item IDs from list or search operations. microsoft365_onedrive_get_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. 2 params
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.
drive_id string required The unique ID of the drive containing the item. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives. item_id string required The unique ID of the file or folder to retrieve. Obtain item IDs from list or search operations. microsoft365_onedrive_get_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. 1 param
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.
item_id string required 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_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. 2 params
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.
item_id string required The unique ID of the OneDrive file whose version content to download. Obtain item IDs from list or get drive item operations. version_id string required 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_invite_users
#
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. 6 params
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.
item_id string required The unique ID of the OneDrive file or folder to share. Obtain item IDs from list or get drive item operations. recipient_emails array required 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"]. roles array required Array of permission roles to grant to the invited users. Use "read" for view-only access and "write" for edit access. Example: ["read"]. message string optional Optional message to include in the invitation email sent to the recipients. require_sign_in boolean optional Whether the recipient must sign in to access the shared item. Set to false to allow access without signing in. Default: true. send_invitation boolean optional Whether to send an email invitation to the recipients. Set to false to grant access silently without sending an email. Default: true. microsoft365_onedrive_list_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.). 3 params
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.).
item_id string required The unique ID of the OneDrive file or folder whose activity feed to retrieve. Obtain item IDs from list or get drive item operations. $filter string optional OData filter expression to narrow activity results. Example: "times/recordedTime ge 2024-01-01T00:00:00Z" to filter by date. $top integer optional Maximum number of activity records to return per page. Accepts an integer between 1 and 1000. Default: 25. microsoft365_onedrive_list_drive_items
#
List the children (files and folders) of a OneDrive folder by item ID. Use "root" as the item_id to list top-level drive contents. Supports OData filtering, sorting, pagination, and field selection. 6 params
List the children (files and folders) of a OneDrive folder by item ID. Use "root" as the item_id to list top-level drive contents. Supports OData filtering, sorting, pagination, and field selection.
item_id string required 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. $filter string optional OData filter expression to narrow results. Example: "file ne null" returns only files; "folder ne null" returns only folders. $orderby string optional Property to sort results by. Example: "name asc" or "lastModifiedDateTime desc". $select string optional Comma-separated list of properties to return. Example: "id,name,size,lastModifiedDateTime" reduces response payload. $skip integer optional Number of items to skip for pagination. Use with $top to page through results. $top integer optional Maximum number of items to return per page (default: 25). Accepts values 1–999. microsoft365_onedrive_list_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. 2 params
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.
$select string optional Comma-separated list of drive properties to return. Example: "id,name,driveType,quota" reduces response payload to only those fields. $top integer optional 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_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. 3 params
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.
drive_id string required The unique ID of the drive containing the file. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives. item_id string required The unique ID of the file whose version history to list. Obtain item IDs from list or get item operations. top integer optional Maximum number of version entries to return per page. Accepts values 1–1000. Default: 25. microsoft365_onedrive_list_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. 7 params
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.
drive_id string required The unique ID of the drive containing the folder. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives. item_id string required The ID of the folder whose children to list. Use "root" to list top-level contents of the drive. $filter string optional OData filter expression to narrow results. Example: "file ne null" returns only files; "folder ne null" returns only folders. $orderby string optional Property to sort results by. Example: "name asc" or "lastModifiedDateTime desc". $select string optional Comma-separated list of properties to return. Example: "id,name,size,lastModifiedDateTime" reduces response payload. $skip integer optional Number of items to skip for pagination. Use with $top to page through results. $top integer optional Maximum number of items to return per page (default: 25). Accepts values 1–999. microsoft365_onedrive_list_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. 2 params
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.
item_id string required The unique ID of the OneDrive file or folder whose permissions to list. Obtain item IDs from list or get drive item operations. top integer optional Maximum number of permission entries to return per page. Accepts an integer between 1 and 100. Default: 25. microsoft365_onedrive_list_recent_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. 1 param
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.
$top integer optional Maximum number of recent items to return. Accepts values 1–999. microsoft365_onedrive_list_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. 2 params
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.
item_id string required The unique ID of the OneDrive file whose version history to list. Obtain item IDs from list or get drive item operations. top integer optional Maximum number of version entries to return per page. Accepts an integer between 1 and 1000. Default: 25. microsoft365_onedrive_move_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. 3 params
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.
item_id string required The unique ID of the OneDrive file or folder to move. Obtain item IDs from list or get drive item operations. new_parent_id string required 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_name string optional Optional new name to assign to the item during the move. If omitted, the item keeps its current name. microsoft365_onedrive_restore_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. 3 params
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.
item_id string required The unique ID of the deleted OneDrive item to restore. Obtain deleted item IDs from recycle bin list operations. new_name string optional Optional new name to assign to the item when restoring. If omitted, the item is restored with its original name. new_parent_id string optional Optional item ID of the folder to restore the item into. If omitted, the item is restored to its original parent location. microsoft365_onedrive_search_drive_items
#
Search the signed-in user's OneDrive for files and folders matching a query string. Searches across file names, content, and metadata. Supports OData $top for result count and $select for field selection. 3 params
Search the signed-in user's OneDrive for files and folders matching a query string. Searches across file names, content, and metadata. Supports OData $top for result count and $select for field selection.
query string required Search query string to find files or folders by name or content. Example: "budget 2024" searches for items containing that text. $select string optional Comma-separated list of properties to return. Example: "id,name,size,webUrl" reduces response payload. $top integer optional Maximum number of results to return. Accepts values 1–999. microsoft365_onedrive_search_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. 4 params
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.
drive_id string required The unique ID of the drive to search within. Obtain drive IDs from microsoft365_onedrive_list_drives or microsoft365_sharepoint_list_drives. query string required Search query string to find files or folders by name or content. Example: "budget 2024" searches for items containing that text. $select string optional Comma-separated list of properties to return. Example: "id,name,size,webUrl" reduces response payload. $top integer optional Maximum number of results to return. Accepts values 1–999. microsoft365_onedrive_unfollow_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. 1 param
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.
item_id string required 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_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. 3 params
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.
item_id string required The unique ID of the OneDrive file or folder to update. Obtain item IDs from list or get drive item operations. description string optional New description for the file or folder. Provide a short text description to attach to the item. Optional — can be updated independently from name. name string optional New name for the file or folder. Renaming a file preserves its extension unless explicitly changed. Optional — provide only when renaming. microsoft365_onedrive_update_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. 3 params
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.
item_id string required The unique ID of the OneDrive file or folder whose permission to update. Obtain item IDs from list or get drive item operations. permission_id string required The unique ID of the permission to update. Obtain permission IDs from the list permissions operation on the same item. roles array required New array of permission roles to assign. Use "read" for view-only access and "write" for edit access. Example: ["write"]. microsoft365_onedrive_upload_large_file
#
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. 3 params
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.
filename string required The name of the file to create or replace in OneDrive, including extension. Example: "report.xlsx". parent_id string required 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_behavior string optional 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. microsoft365_outlook_accept_event
#
Accept a calendar event invitation. 5 params
Accept a calendar event invitation.
event_id string required Event ID. comment string optional Response comment. schema_version string optional Schema version send_response boolean optional Send response. tool_version string optional Tool version microsoft365_outlook_batch_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. 2 params
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.
destination_folder_id string required The ID or well-known name of the destination folder (e.g., 'inbox', 'deleteditems', 'drafts', or a specific folder ID like 'AAMkAGI2...'). message_ids array required Array of message IDs to move (max 20). Each ID is an Outlook message ID string. microsoft365_outlook_batch_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. 2 params
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.
message_ids array required Array of message IDs to update (max 20). Each ID is an Outlook message ID string. updates object required 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_create_calendar_event
#
Create a new calendar event in the user's Outlook calendar. Supports attendees, recurrence, reminders, online meetings, multiple locations, and event properties. 28 params
Create a new calendar event in the user's Outlook calendar. Supports attendees, recurrence, reminders, online meetings, multiple locations, and event properties.
end_datetime string required No description. end_timezone string required No description. start_datetime string required No description. start_timezone string required No description. subject string required No description. attendees_optional string optional Array of email addresses for optional attendees attendees_required string optional Array of email addresses for required attendees attendees_resource string optional Array of email addresses for resources (meeting rooms, equipment) body_content string optional No description. body_contentType string optional No description. hideAttendees boolean optional When true, each attendee only sees themselves importance string optional Event importance level isAllDay boolean optional Mark as all-day event isOnlineMeeting boolean optional Create an online meeting (Teams/Skype) isReminderOn boolean optional Enable or disable reminder location string optional No description. locations string optional JSON array of location objects with displayName, address, coordinates onlineMeetingProvider string optional Online meeting provider recurrence_days_of_week string optional Days of week for weekly recurrence (comma-separated) recurrence_end_date string optional End date for recurrence (YYYY-MM-DD), required if range_type is endDate recurrence_interval integer optional How often the event recurs (e.g., every 2 weeks = 2) recurrence_occurrences integer optional Number of occurrences, required if range_type is numbered recurrence_range_type string optional How the recurrence ends recurrence_start_date string optional Start date for recurrence (YYYY-MM-DD) recurrence_type string optional Recurrence pattern type reminderMinutesBeforeStart integer optional Minutes before event start to show reminder sensitivity string optional Event sensitivity/privacy level showAs string optional Free/busy status microsoft365_outlook_create_calendar_group
#
Create a new calendar group in the signed-in user's mailbox. Calendar groups organize multiple calendars together in Outlook. 1 param
Create a new calendar group in the signed-in user's mailbox. Calendar groups organize multiple calendars together in Outlook.
name string required The name of the new calendar group (e.g., 'Work Calendars'). Must be unique among calendar groups for the user. microsoft365_outlook_create_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). 4 params
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).
calendar_id string required The unique identifier of the calendar to share. Use a specific calendar ID from the list calendars endpoint. email_address string required The email address of the user to grant calendar access to. Example: colleague@example.com role string required 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). name string optional Display name of the user to grant access to. Optional; the Graph API will resolve it from the email if omitted. microsoft365_outlook_create_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. 2 params
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.
display_name string required The display name of the new category. Must be unique among the user's categories. color string optional The color assigned to the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot. Defaults to preset0. microsoft365_outlook_create_contact
#
Create a new contact in the user's mailbox with name, email addresses, and phone numbers. 7 params
Create a new contact in the user's mailbox with name, email addresses, and phone numbers.
givenName string required First name of the contact surname string required Last name of the contact businessPhones array optional Array of business phone numbers companyName string optional Company name emailAddresses array optional Array of email address objects with 'address' and optional 'name' fields jobTitle string optional Job title mobilePhone string optional Mobile phone number microsoft365_outlook_create_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. 2 params
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.
display_name string required The display name for the new contact folder (e.g., 'Work Contacts'). parent_folder_id string optional 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_message
#
Create a new email draft in the mailbox. 9 params
Create a new email draft in the mailbox.
bcc_recipients string optional BCC recipients. body string optional Email body content. body_type string optional Body content type. cc_recipients string optional CC recipients. importance string optional Importance. schema_version string optional Schema version subject string optional Email subject. to_recipients string optional To recipients. tool_version string optional Tool version microsoft365_outlook_create_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. 3 params
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.
classify_as string required How to classify messages from this sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox. sender_email string required The email address of the sender to create an override for (e.g., 'newsletter@example.com'). sender_name string optional Optional display name for the sender (e.g., 'Weekly Newsletter'). Used for display purposes only. microsoft365_outlook_create_forward_draft
#
Create a forward draft for a specific message. 5 params
Create a forward draft for a specific message.
message_id string required Message ID. comment string optional Forward comment. schema_version string optional Schema version to_recipients string optional To recipients. tool_version string optional Tool version microsoft365_outlook_create_mail_folder
#
Create a new mail folder in the mailbox. 4 params
Create a new mail folder in the mailbox.
display_name string required Folder name. is_hidden boolean optional Hidden folder. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_create_message_rule
#
Create a new inbox message rule. 8 params
Create a new inbox message rule.
display_name string required Rule name. actions object optional Rule actions. conditions object optional Rule conditions. exceptions object optional Exception conditions for the rule. is_enabled boolean optional Enable rule. schema_version string optional Schema version sequence integer optional Rule sequence. tool_version string optional Tool version microsoft365_outlook_create_reply_all_draft
#
Create a reply-all draft for a specific message. 4 params
Create a reply-all draft for a specific message.
message_id string required Message ID. comment string optional Reply comment. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_create_reply_draft
#
Create a reply draft for a specific message. 4 params
Create a reply draft for a specific message.
message_id string required Message ID. comment string optional Reply comment. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_create_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. 3 params
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.
attachment_name string required The filename of the attachment (e.g., 'report.pdf'). Must include the file extension. attachment_size integer required The total size of the attachment in bytes. Must be the exact file size before uploading. message_id string required The ID of the draft Outlook message to attach the file to. microsoft365_outlook_decline_event
#
Decline a calendar event invitation. 6 params
Decline a calendar event invitation.
event_id string required Event ID. comment string optional Response comment. proposed_new_time object optional Proposed new meeting time. schema_version string optional Schema version send_response boolean optional Send response. tool_version string optional Tool version microsoft365_outlook_delete_calendar_event
#
Delete a calendar event by ID. 1 param
Delete a calendar event by ID.
event_id string required No description. microsoft365_outlook_delete_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. 1 param
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.
group_id string required 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_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. 2 params
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.
calendar_id string required The unique identifier of the calendar from which to remove the permission. permission_id string required The unique identifier of the calendar permission entry to delete. Retrieve from the list calendar permissions endpoint. microsoft365_outlook_delete_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. 1 param
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.
category_id string required The unique ID of the Outlook category to delete. Retrieve it from the list_categories tool. microsoft365_outlook_delete_contact
#
Permanently delete a contact. 3 params
Permanently delete a contact.
contact_id string required Contact ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_delete_contact_folder
#
Permanently delete a contact folder and all its contents from the signed-in user's mailbox. This action cannot be undone. 1 param
Permanently delete a contact folder and all its contents from the signed-in user's mailbox. This action cannot be undone.
folder_id string required 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_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. 1 param
Delete a Focused Inbox override rule for the signed-in user. Once deleted, messages from that sender will revert to automatic machine learning classification.
override_id string required 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_folder
#
Permanently delete a mail folder and its contents. 3 params
Permanently delete a mail folder and its contents.
folder_id string required Folder ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_delete_message
#
Permanently delete an email message. 3 params
Permanently delete an email message.
message_id string required Message ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_delete_message_rule
#
Delete an inbox message rule. 3 params
Delete an inbox message rule.
rule_id string required Rule ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_find_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. 7 params
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.
attendee_emails array required Array of attendee email addresses to check availability for. Example: ["alice@example.com", "bob@example.com"] end_date_time string required 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_duration string required 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_time string required 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_optional boolean optional Whether the meeting organizer's presence is optional. When true, the organizer's calendar is not checked for availability. Defaults to false. max_candidates integer optional Maximum number of meeting time suggestions to return. Defaults to 20. Acceptable range: 1-40. time_zone string optional IANA time zone identifier for interpreting start_date_time and end_date_time (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC. microsoft365_outlook_forward_event
#
Forward a calendar event to other people. 5 params
Forward a calendar event to other people.
comment string required Forward comment. event_id string required Event ID. to_recipients string required To recipients. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_get_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. 2 params
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.
attachment_id string required The ID of the attachment to download. message_id string required The ID of the message containing the attachment. microsoft365_outlook_get_calendar_event
#
Retrieve an existing calendar event by ID from the user's Outlook calendar. 1 param
Retrieve an existing calendar event by ID from the user's Outlook calendar.
event_id string required No description. microsoft365_outlook_get_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. 6 params
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.
endDateTime string required 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. startDateTime string required 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. $filter string optional OData filter expression to further narrow results (e.g., "subject eq 'Team Sync'"). $orderby string optional OData orderby expression to sort results (e.g., "start/dateTime asc"). $select string optional Comma-separated list of properties to include in the response (e.g., "subject,start,end,location"). Reduces payload size. $top integer optional Maximum number of events to return (1-1000). Defaults to 10 if omitted. microsoft365_outlook_get_contact
#
Retrieve a specific contact by ID. 5 params
Retrieve a specific contact by ID.
contact_id string required Contact ID. expand string optional Expand relationships. schema_version string optional Schema version select string optional Select properties. tool_version string optional Tool version microsoft365_outlook_get_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. 1 param
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.
contact_id string required The unique ID of the contact whose photo to retrieve (e.g., 'AAMkAGI2...'). Obtain from List Contacts or Get Contact. microsoft365_outlook_get_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. 5 params
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.
end_date_time string required End of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T18:00:00). schedules array required 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_time string required Start of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T08:00:00). availability_view_interval integer optional 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. time_zone string optional IANA time zone identifier for interpreting start and end times (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC. microsoft365_outlook_get_mail_tips
#
Get mail tips for a list of recipients before sending an email. 4 params
Get mail tips for a list of recipients before sending an email.
email_addresses array required Recipient email addresses. mail_tips_options string required Mail tip types. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_get_message
#
Retrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata. 1 param
Retrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata.
message_id string required The ID of the message to retrieve. microsoft365_outlook_get_user_presence
#
Get the presence status of a specific user. 3 params
Get the presence status of a specific user.
user_id string required User ID or email. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_list_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. 1 param
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.
message_id string required The ID of the message to list attachments for. microsoft365_outlook_list_calendar_events
#
List calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection. 5 params
List calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection.
filter string optional OData filter expression to filter events (e.g., startsWith(subject,'All')) orderby string optional OData orderby expression to sort events (e.g., start/dateTime desc) select string optional Comma-separated list of properties to include in the response skip number optional Number of events to skip for pagination top number optional Maximum number of events to return microsoft365_outlook_list_calendar_groups
#
List all calendar groups in the signed-in user's mailbox. Calendar groups are containers that organize multiple calendars together in Outlook. 2 params
List all calendar groups in the signed-in user's mailbox. Calendar groups are containers that organize multiple calendars together in Outlook.
$select string optional Comma-separated list of properties to return (e.g., 'name,classId'). Reduces response size. $top integer optional Maximum number of calendar groups to return (1–200, default: 10). microsoft365_outlook_list_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. 2 params
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.
calendar_id string required 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. $top integer optional Maximum number of permission entries to return (1-1000). Defaults to all entries if omitted. microsoft365_outlook_list_calendars
#
Retrieve all calendars in the user mailbox. 4 params
Retrieve all calendars in the user mailbox.
schema_version string optional Schema version skip integer optional Skip count. tool_version string optional Tool version top integer optional Page size. microsoft365_outlook_list_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. 2 params
List all Outlook master categories defined for the signed-in user. Categories can be applied to messages, events, and contacts for color-coded organization.
$select string optional Comma-separated list of category properties to return (e.g., 'displayName,color'). $top integer optional Maximum number of categories to return (1–200). microsoft365_outlook_list_contact_folders
#
List all contact folders in the signed-in user's mailbox. Supports OData query parameters for filtering, field selection, and pagination. 3 params
List all contact folders in the signed-in user's mailbox. Supports OData query parameters for filtering, field selection, and pagination.
$filter string optional OData filter expression to narrow results (e.g., "displayName eq 'Favorites'"). $select string optional Comma-separated list of properties to return (e.g., 'displayName,parentFolderId'). Reduces response size. $top integer optional Maximum number of contact folders to return (1–200, default: 10). microsoft365_outlook_list_contacts
#
List all contacts in the user's mailbox with support for filtering, pagination, and field selection. 5 params
List all contacts in the user's mailbox with support for filtering, pagination, and field selection.
$filter string optional Filter expression to narrow results (e.g., "emailAddresses/any(a:a/address eq 'user@example.com')") $orderby string optional Property to sort by (e.g., "displayName") $select string optional Comma-separated list of properties to return (e.g., "displayName,emailAddresses,phoneNumbers") $skip integer optional Number of contacts to skip for pagination $top integer optional Number of contacts to return (default: 10) microsoft365_outlook_list_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. 5 params
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.
end_date_time string required 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_id string required 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_time string required Start of the time window to query for instances, in ISO 8601 format (e.g., '2024-01-01T00:00:00Z'). Required by Microsoft Graph. $select string optional Comma-separated list of event properties to return (e.g., 'subject,start,end'). Reduces response size. $top integer optional Maximum number of event instances to return (1–200, default: 10). microsoft365_outlook_list_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. 2 params
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.
$select string optional Comma-separated list of properties to return (e.g., 'classifyAs,senderEmailAddress'). $top integer optional Maximum number of overrides to return per page. microsoft365_outlook_list_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. 3 params
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.
$deltatoken string optional 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. $select string optional Comma-separated list of folder properties to return (e.g., 'displayName,parentFolderId,totalItemCount,unreadItemCount'). $top integer optional Maximum number of folders to return per page (1–250). microsoft365_outlook_list_mail_folders
#
List all mail folders in the user mailbox. 5 params
List all mail folders in the user mailbox.
include_hidden boolean optional Include hidden folders. schema_version string optional Schema version skip integer optional Skip count. tool_version string optional Tool version top integer optional Page size. microsoft365_outlook_list_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. 5 params
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.
folder_id string required The mail folder ID or well-known name to sync (e.g., 'inbox', 'sentitems', 'drafts', or a specific folder ID). $deltatoken string optional 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. $select string optional Comma-separated list of properties to return (e.g., 'subject,from,receivedDateTime,isRead'). Reduces response size. $skiptoken string optional Skip token from a previous @odata.nextLink response to continue paginating through a large delta result set. $top integer optional Maximum number of messages to return per page (1–1000). microsoft365_outlook_list_message_rules
#
List all inbox message rules for the user. 2 params
List all inbox message rules for the user.
schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_list_messages
#
List all messages in the user's mailbox with support for filtering, pagination, and field selection. Returns 10 messages by default. 5 params
List all messages in the user's mailbox with support for filtering, pagination, and field selection. Returns 10 messages by default.
$filter string optional Filter expression to narrow results (e.g., "from/emailAddress/address eq 'user@example.com'") $orderby string optional Property to sort by (e.g., "receivedDateTime desc") $select string optional Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime") $skip integer optional Number of messages to skip for pagination $top integer optional Number of messages to return (1-1000, default: 10) microsoft365_outlook_mailbox_settings_get
#
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. 0 params
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.
microsoft365_outlook_mailbox_settings_update
#
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. 7 params
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.
automaticRepliesSetting object optional Configuration for automatic replies (out-of-office). Set status, internal/external reply messages, and optional scheduled time window. dateFormat string optional Preferred date format string for the mailbox (e.g., 'MM/dd/yyyy', 'dd/MM/yyyy', 'yyyy-MM-dd'). delegateMeetingMessageDeliveryOptions string optional Controls how meeting messages are delivered when a delegate is configured. language object optional Language and locale for the mailbox. Object with locale (e.g., 'en-US') and displayName. timeFormat string optional Preferred time format string for the mailbox (e.g., 'hh:mm tt' for 12-hour, 'HH:mm' for 24-hour). timeZone string optional Preferred time zone for the mailbox (e.g., 'UTC', 'Pacific Standard Time', 'Eastern Standard Time'). workingHours object optional Working hours configuration including days of week, start/end times, and time zone. microsoft365_outlook_move_message
#
Move a message to a different mail folder. 4 params
Move a message to a different mail folder.
destination_id string required Destination folder ID. message_id string required Message ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_reply_to_message
#
Reply to an existing email message. The reply is automatically sent to the original sender and saved in the Sent Items folder. 2 params
Reply to an existing email message. The reply is automatically sent to the original sender and saved in the Sent Items folder.
comment string required Reply message content messageId string required The unique identifier of the message to reply to microsoft365_outlook_search_messages
#
Search messages by keywords across subject, body, sender, and other fields. Returns matching messages with support for pagination. 4 params
Search messages by keywords across subject, body, sender, and other fields. Returns matching messages with support for pagination.
query string required Search query string (searches across subject, body, from, to) $select string optional Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime") $skip integer optional Number of messages to skip for pagination $top integer optional Number of messages to return (1-1000, default: 10) microsoft365_outlook_search_people
#
Search for people relevant to the signed-in user by name or email. 8 params
Search for people relevant to the signed-in user by name or email.
filter string optional OData filter. order_by string optional Order by field. schema_version string optional Schema version search string optional Search query. select string optional Select properties. skip integer optional Skip count. tool_version string optional Tool version top integer optional Page size. microsoft365_outlook_send_message
#
Send an email message using Microsoft Graph API. The message is saved in the Sent Items folder by default. 7 params
Send an email message using Microsoft Graph API. The message is saved in the Sent Items folder by default.
body string required Body content of the email subject string required Subject line of the email toRecipients array required Array of email addresses to send to bccRecipients array optional Array of email addresses to BCC bodyType string optional Content type of the body (Text or HTML) ccRecipients array optional Array of email addresses to CC saveToSentItems boolean optional Save the message in Sent Items folder (default: true) microsoft365_outlook_tentatively_accept_event
#
Tentatively accept a calendar event invitation. 6 params
Tentatively accept a calendar event invitation.
event_id string required Event ID. comment string optional Response comment. proposed_new_time object optional Proposed new meeting time. schema_version string optional Schema version send_response boolean optional Send response. tool_version string optional Tool version microsoft365_outlook_todo_checklist_items_create
#
Add a checklist item (subtask) to a specific task in a Microsoft To Do task list. 4 params
Add a checklist item (subtask) to a specific task in a Microsoft To Do task list.
display_name string required The display name of the checklist item. list_id string required The ID of the task list. task_id string required The ID of the task to add the checklist item to. is_checked boolean optional Whether the checklist item is already checked/completed. microsoft365_outlook_todo_checklist_items_delete
#
Permanently delete a checklist item (subtask) from a task in a Microsoft To Do task list. 3 params
Permanently delete a checklist item (subtask) from a task in a Microsoft To Do task list.
checklist_item_id string required The ID of the checklist item to delete. list_id string required The ID of the task list. task_id string required The ID of the task. microsoft365_outlook_todo_checklist_items_get
#
Get a specific checklist item (subtask) from a task in a Microsoft To Do task list. 3 params
Get a specific checklist item (subtask) from a task in a Microsoft To Do task list.
checklist_item_id string required The ID of the checklist item. list_id string required The ID of the task list. task_id string required The ID of the task. microsoft365_outlook_todo_checklist_items_list
#
List all checklist items (subtasks) for a specific task in a Microsoft To Do task list. 2 params
List all checklist items (subtasks) for a specific task in a Microsoft To Do task list.
list_id string required The ID of the task list. task_id string required The ID of the task. microsoft365_outlook_todo_checklist_items_update
#
Update a checklist item (subtask) in a Microsoft To Do task. Only provided fields are changed. 5 params
Update a checklist item (subtask) in a Microsoft To Do task. Only provided fields are changed.
checklist_item_id string required The ID of the checklist item to update. list_id string required The ID of the task list. task_id string required The ID of the task. display_name string optional New display name for the checklist item. is_checked boolean optional Whether the checklist item is checked/completed. microsoft365_outlook_todo_lists_create
#
Create a new Microsoft To Do task list. 1 param
Create a new Microsoft To Do task list.
display_name string required The name of the task list. microsoft365_outlook_todo_lists_delete
#
Permanently delete a Microsoft To Do task list and all its tasks. 1 param
Permanently delete a Microsoft To Do task list and all its tasks.
list_id string required The ID of the task list to delete. microsoft365_outlook_todo_lists_get
#
Get a specific Microsoft To Do task list by ID. 1 param
Get a specific Microsoft To Do task list by ID.
list_id string required The ID of the task list. microsoft365_outlook_todo_lists_list
#
List all Microsoft To Do task lists for the current user. 0 params
List all Microsoft To Do task lists for the current user.
microsoft365_outlook_todo_lists_update
#
Rename a Microsoft To Do task list. 2 params
Rename a Microsoft To Do task list.
display_name string required The new name for the task list. list_id string required The ID of the task list to update. microsoft365_outlook_todo_tasks_create
#
Create a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder. 10 params
Create a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder.
list_id string required The ID of the task list to add the task to. title string required The title of the task. body string optional The body/notes of the task (plain text). categories array optional Array of category names to assign to the task. due_date string optional Due date in YYYY-MM-DD format (e.g. "2026-04-15"). due_time_zone string optional Time zone for the due date (e.g. "UTC", "America/New_York"). Defaults to UTC. importance string optional The importance of the task: low, normal, or high. reminder_date_time string optional Reminder date and time in ISO 8601 format (e.g. "2026-04-15T09:00:00"). reminder_time_zone string optional Time zone for the reminder (e.g. "UTC"). Defaults to UTC. status string optional The status of the task: notStarted, inProgress, completed, waitingOnOthers, or deferred. microsoft365_outlook_todo_tasks_delete
#
Permanently delete a task from a Microsoft To Do task list. 2 params
Permanently delete a task from a Microsoft To Do task list.
list_id string required The ID of the task list. task_id string required The ID of the task to delete. microsoft365_outlook_todo_tasks_get
#
Get a specific task from a Microsoft To Do task list. 2 params
Get a specific task from a Microsoft To Do task list.
list_id string required The ID of the task list. task_id string required The ID of the task. microsoft365_outlook_todo_tasks_list
#
List all tasks in a Microsoft To Do task list with optional filtering and pagination. 5 params
List all tasks in a Microsoft To Do task list with optional filtering and pagination.
list_id string required The ID of the task list. $filter string optional OData filter expression (e.g. "status eq 'notStarted'"). $orderby string optional Property to sort by (e.g. "createdDateTime desc"). $skip integer optional Number of tasks to skip for pagination. $top integer optional Number of tasks to return (default: 10). microsoft365_outlook_todo_tasks_update
#
Update a task in a Microsoft To Do task list. Only provided fields are changed. 9 params
Update a task in a Microsoft To Do task list. Only provided fields are changed.
list_id string required The ID of the task list. task_id string required The ID of the task to update. body string optional New body/notes for the task (plain text). categories array optional Array of category names to assign to the task. due_date string optional Due date in YYYY-MM-DD format. due_time_zone string optional Time zone for the due date. Defaults to UTC. importance string optional The importance: low, normal, or high. status string optional The status: notStarted, inProgress, completed, waitingOnOthers, or deferred. title string optional New title for the task. microsoft365_outlook_update_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. 30 params
Update an existing Outlook calendar event. Only provided fields will be updated. Supports time, attendees, location, reminders, online meetings, recurrence, and event properties.
event_id string required The ID of the calendar event to update attendees_optional string optional Comma-separated optional attendee emails attendees_required string optional Comma-separated required attendee emails attendees_resource string optional Comma-separated resource emails (meeting rooms, equipment) body_content string optional Event description/body body_contentType string optional Content type of body categories string optional Comma-separated categories end_datetime string optional Event end time in RFC3339 format end_timezone string optional Timezone for end time hideAttendees boolean optional When true, each attendee only sees themselves importance string optional Event importance level isAllDay boolean optional Mark as all-day event isOnlineMeeting boolean optional Create an online meeting (Teams/Skype) isReminderOn boolean optional Enable or disable reminder location string optional Physical or virtual location locations string optional JSON array of location objects with displayName, address, coordinates onlineMeetingProvider string optional Online meeting provider recurrence_days_of_week string optional Days of week for weekly recurrence (comma-separated) recurrence_end_date string optional End date for recurrence (YYYY-MM-DD) recurrence_interval integer optional How often the event recurs (e.g., every 2 weeks = 2) recurrence_occurrences integer optional Number of occurrences recurrence_range_type string optional How the recurrence ends recurrence_start_date string optional Start date for recurrence (YYYY-MM-DD) recurrence_type string optional Recurrence pattern type reminderMinutesBeforeStart integer optional Minutes before event start to show reminder sensitivity string optional Event sensitivity/privacy level showAs string optional Free/busy status start_datetime string optional Event start time in RFC3339 format start_timezone string optional Timezone for start time subject string optional Event title/summary microsoft365_outlook_update_calendar_group
#
Update the name of an existing calendar group in the signed-in user's mailbox. 2 params
Update the name of an existing calendar group in the signed-in user's mailbox.
group_id string required The unique ID of the calendar group to update (e.g., 'AAMkAGI2...'). Obtain from List Calendar Groups. name string required The new name for the calendar group (e.g., 'Personal Calendars'). microsoft365_outlook_update_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. 3 params
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.
calendar_id string required The unique identifier of the calendar that contains the permission to update. permission_id string required The unique identifier of the calendar permission entry to update. Retrieve from the list calendar permissions endpoint. role string required 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). microsoft365_outlook_update_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. 3 params
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.
category_id string required The unique ID of the Outlook category to update. Retrieve it from the list_categories tool. color string optional New color for the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot. display_name string optional New display name for the category. Must be unique among the user's categories if provided. microsoft365_outlook_update_contact
#
Update properties of an existing contact. 9 params
Update properties of an existing contact.
contact_id string required Contact ID. company_name string optional Company name. email_addresses string optional Email addresses. given_name string optional First name. job_title string optional Job title. mobile_phone string optional Mobile phone. schema_version string optional Schema version surname string optional Last name. tool_version string optional Tool version microsoft365_outlook_update_contact_folder
#
Update the display name of an existing contact folder in the signed-in user's mailbox. 2 params
Update the display name of an existing contact folder in the signed-in user's mailbox.
display_name string required The new display name for the contact folder (e.g., 'Updated Contacts'). folder_id string required The unique ID of the contact folder to update (e.g., 'AAMkAGI2...'). Obtain from List Contact Folders. microsoft365_outlook_update_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. 2 params
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.
classify_as string required Updated classification for the sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox. override_id string required The unique ID of the Focused Inbox override to update. Retrieve it from the list_focused_inbox_overrides tool. microsoft365_outlook_update_mail_folder
#
Rename or update a mail folder. 4 params
Rename or update a mail folder.
display_name string required New folder name. folder_id string required Folder ID. schema_version string optional Schema version tool_version string optional Tool version microsoft365_outlook_update_message
#
Update properties of an email message (e.g. mark as read, set importance). 12 params
Update properties of an email message (e.g. mark as read, set importance).
message_id string required Message ID. body string optional Message body content. body_content_type string optional Body content type. categories array optional Categories. importance string optional Importance. inference_classification string optional Inference classification. is_delivery_receipt_requested boolean optional Delivery receipt requested. is_read boolean optional Mark as read. is_read_receipt_requested boolean optional Read receipt requested. schema_version string optional Schema version subject string optional Updated subject. tool_version string optional Tool version microsoft365_outlook_update_message_rule
#
Update an existing inbox message rule. 10 params
Update an existing inbox message rule.
rule_id string required Rule ID. actions object optional Rule actions. conditions object optional Rule conditions. display_name string optional Rule name. exceptions object optional Exception conditions for the rule. is_enabled boolean optional Enable rule. is_read_only boolean optional Mark rule as read-only. schema_version string optional Schema version sequence integer optional Rule sequence. tool_version string optional Tool version microsoft365_powerpoint_create_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. 3 params
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.
filename string required 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_id string required 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_behavior string optional 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. microsoft365_powerpoint_read_presentation
#
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. 1 param
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.
item_id string required 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_add_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). 3 params
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).
team_id string required The unique identifier of the Microsoft Teams team to add the member to. user_id string required 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. role string optional The role to assign to the added user. Valid values: 'member' (standard member) or 'owner' (team owner with admin privileges). Defaults to 'member'. microsoft365_teams_approve_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. 3 params
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.
request_id string required The unique identifier of the time-off request to approve. Obtain from the list time-off requests API. team_id string required The unique identifier of the Microsoft Teams team whose schedule contains the time-off request. message string optional Optional message from the manager to include with the approval decision. Example: 'Approved, enjoy your vacation!' microsoft365_teams_archive_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. 3 params
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.
channel_id string required The unique identifier of the Teams channel to archive. team_id string required The unique identifier of the Microsoft Teams team that contains the channel to archive. set_spo_site_readonly boolean optional 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. microsoft365_teams_archive_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. 2 params
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.
team_id string required The unique identifier of the Microsoft Teams team to archive. should_set_spo_site_read_only_for_members boolean optional If true, sets the SharePoint Online site associated with the team to read-only for members. Defaults to false. microsoft365_teams_clear_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. 1 param
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.
session_id string required 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_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. 7 params
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.
display_name string required The display name for the new cloned team. parts_to_clone string required Comma-separated list of team parts to clone. Valid parts: apps, tabs, settings, channels, members. Example: 'apps,tabs,settings,channels,members'. team_id string required The unique identifier of the Microsoft Teams team to clone. classification string optional Classification label for the cloned team (organization-defined, e.g., 'Confidential', 'Internal'). Optional. description string optional Optional description for the cloned team. mail_nickname string optional 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. visibility string optional Visibility of the cloned team. Valid values: 'public' (anyone in org can join), 'private' (owner must invite). Defaults to 'private'. microsoft365_teams_create_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. 4 params
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.
display_name string required The display name of the new channel. Must be unique within the team and cannot contain special characters like #, &, :, <, >, *, ?. team_id string required The unique identifier of the Microsoft Teams team in which to create the channel. description string optional Optional description for the new channel (plain text, up to 1024 characters). membership_type string optional 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'. microsoft365_teams_create_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. 5 params
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.
end_date_time string required The end date and time of the meeting in ISO 8601 UTC format. Example: '2024-07-15T10:00:00Z'. start_date_time string required The start date and time of the meeting in ISO 8601 UTC format. Example: '2024-07-15T09:00:00Z'. subject string required The subject/title of the online meeting. Displayed to all participants in the meeting invite and join page. allowed_presenters string optional 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'. attendee_upns array optional 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_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. 8 params
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.
end_date_time string required The end date and time of the shift in ISO 8601 UTC format. Example: '2024-07-15T17:00:00Z'. scheduling_group_id string required The unique identifier of the scheduling group (team member group) to assign the shift to. Obtain from the scheduling groups API. start_date_time string required The start date and time of the shift in ISO 8601 UTC format. Example: '2024-07-15T09:00:00Z'. team_id string required The unique identifier of the Microsoft Teams team whose schedule to create the shift in. user_id string required 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_name string optional Optional display name for the shift, shown on the schedule. Example: 'Morning Shift'. notes string optional Optional notes or instructions for the shift, visible to the assigned user. Example: 'Please cover the front desk.'. theme string optional 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'. microsoft365_teams_create_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. 6 params
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.
recipient_shift_id string required 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_id string required The Azure AD object ID of the employee being asked to swap their shift. sender_shift_id string required The unique identifier of the shift belonging to the sender (the employee initiating the swap). Obtain from the list shifts API. sender_user_id string required The Azure AD object ID of the employee initiating the shift swap request. team_id string required The unique identifier of the Microsoft Teams team whose schedule the shift swap request belongs to. sender_message string optional 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_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'). 3 params
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').
display_name string required The display name of the new team. Must be unique within the tenant. description string optional Optional description for the new team (plain text, up to 1024 characters). template string optional The Teams template to use when creating the team. Valid values: 'standard', 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity', 'healthcareWard', 'healthcareTeam'. Defaults to 'standard'. microsoft365_teams_create_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. 6 params
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.
end_date_time string required The end date and time of the time-off period in ISO 8601 UTC format. Example: '2024-08-02T17:00:00Z'. sender_user_id string required 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_time string required The start date and time of the time-off period in ISO 8601 UTC format. Example: '2024-07-29T00:00:00Z'. team_id string required The unique identifier of the Microsoft Teams team whose schedule the request belongs to. time_off_reason_id string required 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_message string optional Optional message from the employee to the manager accompanying the time-off request. Example: 'Family vacation.' microsoft365_teams_decline_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. 3 params
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.
request_id string required The unique identifier of the time-off request to decline. Obtain from the list time-off requests API. team_id string required The unique identifier of the Microsoft Teams team whose schedule contains the time-off request. message string optional Optional message from the manager to include with the decline decision. Example: 'Insufficient coverage during that period.' microsoft365_teams_delete_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. 2 params
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.
channel_id string required The unique identifier of the Teams channel to delete. The General channel cannot be deleted. team_id string required The unique identifier of the Microsoft Teams team that contains the channel to delete. microsoft365_teams_delete_channel_message
#
Soft-delete a Microsoft Teams channel message. The message is retracted and replaced with a tombstone indicating it was deleted. 3 params
Soft-delete a Microsoft Teams channel message. The message is retracted and replaced with a tombstone indicating it was deleted.
channel_id string required The unique identifier of the Teams channel containing the message to delete. message_id string required The unique identifier of the channel message to soft-delete. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_delete_online_meeting
#
Permanently delete a Microsoft Teams online meeting by meeting ID. This action cannot be undone and removes the meeting for all participants. 1 param
Permanently delete a Microsoft Teams online meeting by meeting ID. This action cannot be undone and removes the meeting for all participants.
meeting_id string required The unique identifier of the online meeting to delete. Obtain from the create meeting response or list meetings API. microsoft365_teams_delete_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. 2 params
Permanently delete a shift from a Microsoft Teams team schedule. Requires both the team ID and the shift ID. This action cannot be undone.
shift_id string required The unique identifier of the shift to delete. Obtain from the create shift response or list shifts API. team_id string required The unique identifier of the Microsoft Teams team whose schedule contains the shift to delete. microsoft365_teams_delete_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. 1 param
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.
team_id string required The unique identifier of the Microsoft Teams team (Group ID) to permanently delete. microsoft365_teams_get_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. 2 params
Retrieve the properties and metadata of a specific channel in a Microsoft Teams team, including its display name, description, membership type, and web URL.
channel_id string required The unique identifier of the Teams channel to retrieve. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_get_channel_message
#
Retrieve a single message from a Microsoft Teams channel by its ID, including body content, sender info, attachments, reactions, and metadata. 3 params
Retrieve a single message from a Microsoft Teams channel by its ID, including body content, sender info, attachments, reactions, and metadata.
channel_id string required The unique identifier of the Teams channel containing the message. message_id string required The unique identifier of the Teams channel message to retrieve. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_get_chat_message
#
Retrieve a single message from a Microsoft Teams chat by its ID, including body content, sender info, attachments, reactions, and metadata. 2 params
Retrieve a single message from a Microsoft Teams chat by its ID, including body content, sender info, attachments, reactions, and metadata.
chat_id string required The unique identifier of the Teams chat that contains the message. message_id string required The unique identifier of the Teams chat message to retrieve. microsoft365_teams_get_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. 1 param
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.
meeting_id string required The unique identifier of the online meeting to retrieve. Obtain from the create meeting response or list meetings API. microsoft365_teams_get_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. 1 param
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.
team_id string required The unique identifier of the Microsoft Teams team to retrieve. microsoft365_teams_list_channel_message_replies
#
List all replies in a Microsoft Teams channel message thread. Returns replies to the specified parent message with support for pagination. 5 params
List all replies in a Microsoft Teams channel message thread. Returns replies to the specified parent message with support for pagination.
channel_id string required The unique identifier of the Teams channel containing the message thread. message_id string required The unique identifier of the parent channel message whose replies to list. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. $skip integer optional Number of replies to skip for pagination. Use with $top to page through results. $top integer optional Maximum number of replies to return per page. Use to control page size. microsoft365_teams_list_channel_messages
#
List messages in a Microsoft Teams channel with support for pagination. Returns up to 20 messages by default (max 50 per page). 4 params
List messages in a Microsoft Teams channel with support for pagination. Returns up to 20 messages by default (max 50 per page).
channel_id string required The unique identifier of the Teams channel to list messages from. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. $skip integer optional Number of messages to skip for pagination. Use with $top to page through results. $top integer optional Number of channel messages to return per page (1–50, default: 20). Microsoft Graph caps this at 50 for channel messages. microsoft365_teams_list_channel_tabs
#
List all tabs pinned to a Microsoft Teams channel. By default expands the teamsApp relationship to include app details for each tab. 3 params
List all tabs pinned to a Microsoft Teams channel. By default expands the teamsApp relationship to include app details for each tab.
channel_id string required The unique identifier of the Teams channel whose tabs to list. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. $expand string optional OData $expand expression to include related resources. Defaults to 'teamsApp' which includes the app details for each tab. Set to null to suppress expansion. microsoft365_teams_list_channels
#
List all channels in a Microsoft Teams team. Supports OData filtering (e.g., by membershipType) and field selection to reduce response size. 3 params
List all channels in a Microsoft Teams team. Supports OData filtering (e.g., by membershipType) and field selection to reduce response size.
team_id string required The unique identifier of the Microsoft Teams team whose channels to list. $filter string optional OData filter expression to narrow results. Example: "membershipType eq 'standard'" or "displayName eq 'General'". $select string optional Comma-separated list of channel properties to return. Example: 'id,displayName,membershipType,webUrl'. Reduces response payload size. microsoft365_teams_list_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. 3 params
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.
chat_id string required The unique identifier of the Teams chat to list messages from. Obtain from the list chats API or Teams URL. $orderby string optional OData orderby expression for sorting messages. Default is 'createdDateTime desc' (newest first). Example: 'createdDateTime asc' for oldest first. $top integer optional Number of chat messages to return per page (1–50, default: 50). Microsoft Graph caps this at 50 for chat messages. microsoft365_teams_list_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. 3 params
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.
team_id string required The unique identifier of the Microsoft Teams team whose schedule shift swap requests to list. $filter string optional OData filter expression to narrow shift swap request results. Example: "state eq 'pending'" to fetch only pending swap requests. $top integer optional Maximum number of shift swap requests to return. Use to limit the response size. Example: 25. microsoft365_teams_list_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. 3 params
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.
team_id string required The unique identifier of the Microsoft Teams team whose schedule shifts to list. $filter string optional 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. $top integer optional Maximum number of shifts to return. Use to limit the response size. Example: 25. microsoft365_teams_list_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. 4 params
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.
team_id string required The unique identifier of the Microsoft Teams team whose members to list. $filter string optional OData filter expression to narrow results. Example: "roles/any(r:r eq 'owner')" to list only owners. $select string optional Comma-separated list of member properties to return. Example: 'id,displayName,roles,email'. Reduces response payload size. $top integer optional Maximum number of members to return per page. Use for pagination. microsoft365_teams_list_teams
#
List all Microsoft Teams teams that the signed-in user has joined. Supports OData query options for filtering, field selection, and pagination. 3 params
List all Microsoft Teams teams that the signed-in user has joined. Supports OData query options for filtering, field selection, and pagination.
$filter string optional OData filter expression to narrow results. Example: "displayName eq 'Engineering'". $select string optional Comma-separated list of team properties to return. Example: 'id,displayName,description,visibility'. Reduces response payload size. $top integer optional Maximum number of teams to return per page. Use for pagination. microsoft365_teams_list_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. 3 params
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.
team_id string required The unique identifier of the Microsoft Teams team whose schedule time-off requests to list. $filter string optional OData filter expression to narrow time-off request results. Example: "state eq 'pending'" to fetch only pending requests. $top integer optional Maximum number of time-off requests to return. Use to limit the response size. Example: 25. microsoft365_teams_pin_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. 3 params
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.
channel_id string required The unique identifier of the Teams channel that contains the message to pin. message_id string required The unique identifier of the Teams channel message to pin. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_provision_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. 2 params
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.
channel_id string required The unique identifier of the Teams channel for which to provision an email address. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_remove_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. 2 params
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.
channel_id string required The unique identifier of the Teams channel from which to remove the provisioned email address. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_remove_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. 2 params
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.
membership_id string required 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_id string required The unique identifier of the Microsoft Teams team from which to remove the member. microsoft365_teams_reply_to_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. 7 params
Post a reply to an existing Microsoft Teams channel message thread. Supports plain text or HTML content, an optional subject, and importance levels.
channel_id string required The unique identifier of the Teams channel containing the message to reply to. content string required The text or HTML content of the reply message. message_id string required The unique identifier of the channel message to reply to. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. content_type string optional The format of the reply content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'. importance string optional The importance of the reply message. Valid values: 'normal', 'high', 'urgent'. subject string optional Optional subject line for the reply (appears as a headline above the body). microsoft365_teams_reply_to_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. 4 params
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.
chat_id string required The unique identifier of the Teams chat that contains the message to reply to. content string required The text or HTML content of the reply message. message_id string required The unique identifier of the Teams chat message to reply to. content_type string optional The format of the reply content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'. microsoft365_teams_search_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. 3 params
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.
query string required 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'. from integer optional Zero-based index of the first result to return, used for pagination. Default is 0 (start from the first result). size integer optional Number of results to return per page. Default is 25, maximum is 200. microsoft365_teams_send_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). 6 params
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).
channel_id string required The unique identifier of the Teams channel to send the message to. content string required The text or HTML content of the message to send. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. content_type string optional The format of the message content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'. importance string optional The importance of the message. Valid values: 'normal', 'high', 'urgent'. Defaults to normal if omitted. subject string optional Optional subject line for the channel message (appears as a headline above the body). microsoft365_teams_send_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. 3 params
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.
chat_id string required The unique identifier of the Teams chat to send the message to. Obtain from the list chats API or Teams client URL. content string required The text or HTML content of the message to send to the chat. content_type string optional The format of the message content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'. microsoft365_teams_set_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. 3 params
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.
activity string required 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. availability string required The preferred presence state of the user at the user level (not session-scoped). Valid values: Available, Busy, DoNotDisturb, BeRightBack, Away, Offline. expiration_duration string optional 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_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. 4 params
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.
activity string required 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. availability string required The base presence state of the user. Valid values: Available, Busy, DoNotDisturb, BeRightBack, Away, Offline. session_id string required 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_duration string optional 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_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. 3 params
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.
channel_id string required The unique identifier of the Teams channel that contains the pinned message. message_id string required The unique identifier of the Teams channel message to unpin. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. microsoft365_teams_update_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. 4 params
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.
channel_id string required The unique identifier of the Teams channel to update. team_id string required The unique identifier of the Microsoft Teams team that contains the channel to update. description string optional New description for the channel. Optional. At least one of display_name or description must be provided. display_name string optional 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_message
#
Update the body content of an existing Microsoft Teams channel message. Only the message body can be edited after posting. 5 params
Update the body content of an existing Microsoft Teams channel message. Only the message body can be edited after posting.
channel_id string required The unique identifier of the Teams channel containing the message to update. content string required The new text or HTML content to replace the existing message body with. message_id string required The unique identifier of the channel message to update. team_id string required The unique identifier of the Microsoft Teams team that contains the channel. content_type string optional The format of the updated content: 'text' for plain text or 'html' for HTML markup. Defaults to 'text'. microsoft365_teams_update_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. 5 params
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.
meeting_id string required The unique identifier of the online meeting to update. Obtain from the ID field returned when creating or listing meetings. allowed_presenters string optional Updated setting for who can present in the meeting. Valid values: 'everyone', 'organization', 'roleIsPresenter', 'organizer'. end_date_time string optional 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_time string optional 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. subject string optional Updated subject/title for the online meeting. Leave blank to keep the existing subject. microsoft365_teams_update_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. 9 params
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.
shift_id string required The unique identifier of the shift to update. Obtain from the create shift response or list shifts API. team_id string required The unique identifier of the Microsoft Teams team whose schedule contains the shift. display_name string optional Updated display name for the shift shown on the schedule. Leave blank to keep the existing display name. end_date_time string optional 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. notes string optional Updated notes for the shift visible to the assigned employee. Leave blank to keep the existing notes. scheduling_group_id string optional Updated scheduling group ID for the shift. Leave blank to keep the existing scheduling group. start_date_time string optional 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. theme string optional 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. user_id string optional Updated user ID (Azure AD object ID) to reassign the shift to. Leave blank to keep the existing assignment. microsoft365_teams_update_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. 4 params
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.
team_id string required The unique identifier of the Microsoft Teams team to update. description string optional New description for the team (plain text, up to 1024 characters). display_name string optional New display name for the team. visibility string optional 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. microsoft365_teams_update_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). 3 params
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).
membership_id string required 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. role string required The new role to assign to the team member. Valid values: 'member' (standard member) or 'owner' (team owner with admin privileges). team_id string required The unique identifier of the Microsoft Teams team containing the member to update. microsoft365_word_create_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. 3 params
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.
filename string required 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_id string required 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_behavior string optional 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.