Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Microsoft 365 connector

OAuth 2.0 ProductivityCommunicationCollaborationFiles & DocumentsCalendarAnalytics

Connect to Microsoft 365. Unified access to Outlook, Excel, Word, OneNote, OneDrive, SharePoint, and Teams through Microsoft Graph API.

Microsoft 365 connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. 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:

    1. 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.

    2. Register an application in Azure

      • Sign into portal.azure.com and go to Microsoft Entra IDApp 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.

    3. 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.

    4. 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.

  4. 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.actions
    const connector = 'microsoft365'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'microsoft365_outlook_mailbox_settings_get',
    toolInput: {},
    })
    console.log(result)

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)
Proxy API call
const result = await actions.request({
connectionName: 'microsoft365',
identifier: 'user_123',
path: '/v1.0/me/messages',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'microsoft365',
identifier: 'user_123',
toolName: 'microsoft365_create_calendar_event',
toolInput: {},
});
console.log(result);

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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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 Type Required Description
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_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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$top integer optional Maximum number of recent items to return. Accepts values 1–999.
microsoft365_onedrive_list_shared_items # List files and folders that have been shared with the signed-in user from other people's OneDrive accounts or SharePoint sites. 1 param

List files and folders that have been shared with the signed-in user from other people's OneDrive accounts or SharePoint sites.

Name Type Required Description
$top integer optional Maximum number of shared 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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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 Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$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.

Name Type Required Description
$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.

Name Type Required Description
$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.

Name Type Required Description
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.

Name Type Required Description
$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.

Name Type Required Description
$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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$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_list_shared_calendar_events # Retrieve calendar events from another user shared calendar. 6 params

Retrieve calendar events from another user shared calendar.

Name Type Required Description
end_date_time string required End date/time.
start_date_time string required Start date/time.
user_id string required User ID or email.
schema_version string optional Schema version
tool_version string optional Tool version
top integer optional Page size.
microsoft365_outlook_list_shared_mailbox_messages # List messages in a specific folder of a shared mailbox. Supports filtering, ordering, pagination, and field selection. Requires Mail.Read or Mail.ReadWrite permissions on the shared mailbox. 7 params

List messages in a specific folder of a shared mailbox. Supports filtering, ordering, pagination, and field selection. Requires Mail.Read or Mail.ReadWrite permissions on the shared mailbox.

Name Type Required Description
folder_id string required The ID or well-known name of the mail folder to list messages from. Well-known names include: inbox, sentitems, drafts, deleteditems, junkemail, outbox, archive.
shared_mailbox_id string required The email address or user ID of the shared mailbox to read messages from (e.g., support@company.com or a user object ID).
$filter string optional OData filter expression to narrow results (e.g., "isRead eq false" or "from/emailAddress/address eq 'sender@example.com'").
$orderby string optional OData orderby expression to sort messages (e.g., "receivedDateTime desc").
$select string optional Comma-separated list of message properties to return (e.g., "subject,from,receivedDateTime,isRead"). Reduces response payload size.
$skip integer optional Number of messages to skip for pagination (0-based offset). Use with $top for paging through results.
$top integer optional Maximum number of messages to return (1-1000). Defaults to 10 if omitted.
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.

Name Type Required Description
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.

Name Type Required Description
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_move_shared_mailbox_message # Move a message in a shared mailbox to a different mail folder. Requires the caller to have read/write access to the shared mailbox. 3 params

Move a message in a shared mailbox to a different mail folder. Requires the caller to have read/write access to the shared mailbox.

Name Type Required Description
destination_folder_id string required The ID or well-known name of the destination mail folder to move the message into (e.g., inbox, drafts, sentitems, deleteditems, junkemail, or a folder ID).
message_id string required The unique identifier of the message to move within the shared mailbox.
shared_mailbox_id string required The email address or user object ID of the shared mailbox containing the message (e.g., support@company.com or a GUID). The caller must have read/write permissions on this mailbox.
microsoft365_outlook_reply_from_shared_mailbox # Reply to an existing email message on behalf of a shared mailbox. The reply is automatically sent to the original sender and saved in the shared mailbox's Sent Items folder. Requires send-as or send-on-behalf permissions on the shared mailbox. 3 params

Reply to an existing email message on behalf of a shared mailbox. The reply is automatically sent to the original sender and saved in the shared mailbox's Sent Items folder. Requires send-as or send-on-behalf permissions on the shared mailbox.

Name Type Required Description
comment string required The reply message text content. This will be included as the comment/body of the reply email sent from the shared mailbox.
message_id string required The unique identifier of the message in the shared mailbox to reply to. Retrieve from list or search shared mailbox messages.
shared_mailbox_id string required The email address or user ID of the shared mailbox to reply from (e.g., support@company.com or a user object ID). The caller must have send-as or send-on-behalf permissions.
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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_search_shared_mailbox_messages # Search messages across all folders in a shared mailbox by keyword. Searches across subject, body, sender, and recipients. Requires Mail.Read or Mail.ReadWrite permissions on the shared mailbox. 4 params

Search messages across all folders in a shared mailbox by keyword. Searches across subject, body, sender, and recipients. Requires Mail.Read or Mail.ReadWrite permissions on the shared mailbox.

Name Type Required Description
query string required Search query string. Searches across subject, body, sender, and recipient fields. Example: "invoice Q1" will find messages mentioning invoice in Q1 context.
shared_mailbox_id string required The email address or user ID of the shared mailbox to search (e.g., support@company.com or a user object ID).
$select string optional Comma-separated list of message properties to return (e.g., "subject,from,receivedDateTime"). Reduces response payload size.
$top integer optional Maximum number of messages to return (1-1000). Defaults to 10 if omitted.
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.

Name Type Required Description
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_send_message_from_shared_mailbox # Send an email message on behalf of a shared mailbox using Microsoft Graph API. The message is saved in the shared mailbox's Sent Items folder by default. Requires the caller to have send-as or send-on-behalf-of permissions on the shared mailbox. 8 params

Send an email message on behalf of a shared mailbox using Microsoft Graph API. The message is saved in the shared mailbox's Sent Items folder by default. Requires the caller to have send-as or send-on-behalf-of permissions on the shared mailbox.

Name Type Required Description
body string required Body content of the email. Provide plain text or HTML depending on the bodyType field.
shared_mailbox_id string required The email address or user ID of the shared mailbox to send from (e.g., support@company.com or a user object ID). The caller must have send-as or send-on-behalf permissions.
subject string required Subject line of the email to send from the shared mailbox.
toRecipients array required Array of email addresses to send the email to from the shared mailbox. Example: ["customer@example.com"]
bccRecipients array optional Array of email addresses to BCC on the outgoing message from the shared mailbox.
bodyType string optional Content type of the email body. Use 'Text' for plain text or 'HTML' for rich HTML content. Defaults to 'Text' if omitted.
ccRecipients array optional Array of email addresses to CC on the outgoing message from the shared mailbox.
saveToSentItems boolean optional Whether to save the sent message in the shared mailbox's Sent Items folder. Defaults to true.
microsoft365_outlook_tentatively_accept_event # Tentatively accept a calendar event invitation. 6 params

Tentatively accept a calendar event invitation.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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_sharepoint_add_group_member # Add an Azure AD user to a Microsoft 365 group (including SharePoint site groups) by providing the group ID and the user's object ID. This uses the Graph API directoryObjects reference endpoint to create the membership link. 2 params

Add an Azure AD user to a Microsoft 365 group (including SharePoint site groups) by providing the group ID and the user's object ID. This uses the Graph API directoryObjects reference endpoint to create the membership link.

Name Type Required Description
group_id string required The Azure AD object ID of the group to add the member to. Example: '7d8a5b3c-1234-5678-abcd-ef0123456789'.
user_id string required The Azure AD object ID of the user to add to the group. Use the find_user_by_email tool to resolve an email to an object ID. Example: 'aaaabbbb-1234-5678-abcd-ef0123456789'.
microsoft365_sharepoint_add_role_assignment # Grant a user or group a role (read, write, or owner) on a SharePoint site by adding a permission entry. Provide either user_id or group_id (not both). The roles array should contain one or more of: 'read', 'write', 'owner'. 4 params

Grant a user or group a role (read, write, or owner) on a SharePoint site by adding a permission entry. Provide either user_id or group_id (not both). The roles array should contain one or more of: 'read', 'write', 'owner'.

Name Type Required Description
roles array required Array of roles to grant. Valid values are 'read', 'write', and 'owner'. Example: ["write"] grants write (contribute) permission.
site_id string required ID of the SharePoint site on which to add the permission. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
group_id string optional Azure AD group object ID to grant the role to. Provide either user_id or group_id — not both. Example: '7d8a5b3c-1234-5678-abcd-ef0123456789'.
user_id string optional Azure AD user object ID to grant the role to. Provide either user_id or group_id — not both. Example: 'aaaabbbb-1234-5678-abcd-ef0123456789'.
microsoft365_sharepoint_checkin_file # Check in a checked-out file in a SharePoint document library 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. 4 params

Check in a checked-out file in a SharePoint document library 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.

Name Type Required Description
item_id string required The unique drive item ID of the file to check in. The file must currently be checked out. Obtain item IDs from list drive items or get drive item operations.
site_id string required ID of the SharePoint site that contains the file. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
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.
microsoft365_sharepoint_checkout_file # Check out a file in a SharePoint document library to prevent others from editing it while you make changes. The file must be checked back in using the check-in operation when editing is complete. 2 params

Check out a file in a SharePoint document library to prevent others from editing it while you make changes. The file must be checked back in using the check-in operation when editing is complete.

Name Type Required Description
item_id string required The unique drive item ID of the file to check out. Obtain item IDs from list drive items or get drive item operations.
site_id string required ID of the SharePoint site that contains the file. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_create_list # Create a new list in a SharePoint site. Specify a display name and optionally a template type (e.g., genericList, documentLibrary, events) and description. Returns the newly created list. 4 params

Create a new list in a SharePoint site. Specify a display name and optionally a template type (e.g., genericList, documentLibrary, events) and description. Returns the newly created list.

Name Type Required Description
display_name string required Display name for the new list. Example: 'Project Tasks'.
site_id string required ID of the SharePoint site in which to create the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
description string optional Optional description for the new list. Example: 'Tracks project tasks and assignments.'
template string optional SharePoint list template to use. Valid values: genericList (default), documentLibrary, survey, links, announcements, contacts, events, tasks.
microsoft365_sharepoint_create_list_field # Add a new column (field) to a SharePoint list. Specify the internal column name, column type (text, number, boolean, dateTime, choice, hyperlinkOrPicture, personOrGroup), and optionally a display name and description. The tool emits the appropriate Microsoft Graph column definition block for the chosen type. 6 params

Add a new column (field) to a SharePoint list. Specify the internal column name, column type (text, number, boolean, dateTime, choice, hyperlinkOrPicture, personOrGroup), and optionally a display name and description. The tool emits the appropriate Microsoft Graph column definition block for the chosen type.

Name Type Required Description
list_id string required ID of the SharePoint list to which the column will be added. Use the list GUID or display name.
name string required Internal name for the new column. Used as the key in item fields objects. Must be unique within the list and contain no spaces (use camelCase or underscores). Example: 'taskStatus'.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
column_type string optional Type of column to create. Determines which Microsoft Graph column configuration block is used. Valid values: text (single or multi-line text), number (numeric values), boolean (yes/no checkbox), dateTime (date and/or time), choice (dropdown or radio from a fixed list), hyperlinkOrPicture (URL or image), personOrGroup (people picker). Default: text.
description string optional Optional description for the new column. Appears as a tooltip or hint in the SharePoint list UI.
display_name string optional Human-readable display name for the column as shown in the SharePoint list UI. If omitted, the internal name is used.
microsoft365_sharepoint_create_list_item # Create a new item in a SharePoint list. Provide a 'fields' object whose keys are the internal column names and whose values are the field data. The required 'Title' field sets the item's primary display name. 3 params

Create a new item in a SharePoint list. Provide a 'fields' object whose keys are the internal column names and whose values are the field data. The required 'Title' field sets the item's primary display name.

Name Type Required Description
fields object required Object containing the field values for the new item. Keys are internal column names (e.g., 'Title', 'Status', 'DueDate'). Example: {"Title": "New Task", "Status": "In Progress"}.
list_id string required ID of the SharePoint list in which to create the item. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_create_subsite # Create a new subsite under an existing SharePoint site using the Microsoft Graph beta API. Requires the parent site ID and display name. Optionally specify a description and web template (e.g., 'STS#0' for a team site). 4 params

Create a new subsite under an existing SharePoint site using the Microsoft Graph beta API. Requires the parent site ID and display name. Optionally specify a description and web template (e.g., 'STS#0' for a team site).

Name Type Required Description
display_name string required Display name of the new subsite. Example: 'Marketing Q3 Campaign'.
parent_site_id string required ID of the parent SharePoint site under which the subsite will be created. Use a site GUID or 'root' for the tenant root site.
description string optional Optional description for the new subsite. Example: 'Site for the Q3 marketing campaign team.'
web_template string optional SharePoint web template to use when creating the subsite. Common values: 'STS#0' (Team Site), 'BLOG#0' (Blog Site), 'BDR#0' (Document Center). Defaults to the API default if not specified.
microsoft365_sharepoint_delete_list # Permanently delete a SharePoint list from a site. This action is irreversible and removes the list along with all its items and metadata. 2 params

Permanently delete a SharePoint list from a site. This action is irreversible and removes the list along with all its items and metadata.

Name Type Required Description
list_id string required ID of the SharePoint list to delete. Use the list GUID or the list's display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_delete_list_field # Permanently delete a column (field) from a SharePoint list. This action is irreversible and removes the column definition and all data stored in that column for every list item. 3 params

Permanently delete a column (field) from a SharePoint list. This action is irreversible and removes the column definition and all data stored in that column for every list item.

Name Type Required Description
column_id string required ID of the column to delete. Use the column GUID returned by the list fields endpoint.
list_id string required ID of the SharePoint list that contains the column. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_delete_list_item # Permanently delete an item from a SharePoint list. This action is irreversible and removes the item and all its field data. 3 params

Permanently delete an item from a SharePoint list. This action is irreversible and removes the item and all its field data.

Name Type Required Description
item_id string required ID of the list item to delete. This is the numeric or string identifier of the item within the list.
list_id string required ID of the SharePoint list that contains the item. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_delete_role_assignment # Remove a specific permission entry from a SharePoint site by deleting its permission ID. This permanently removes the granted access for the user or group associated with that permission. 2 params

Remove a specific permission entry from a SharePoint site by deleting its permission ID. This permanently removes the granted access for the user or group associated with that permission.

Name Type Required Description
permission_id string required The ID of the permission entry to delete. Obtain this from the list permissions endpoint. Example: 'aGVyZUlzVGhlV2F5VGhlUG93ZXJJcw'.
site_id string required ID of the SharePoint site from which to remove the permission. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_delete_webhook # Delete a Microsoft Graph change notification subscription (webhook) by its subscription ID. After deletion, no further notifications will be sent to the registered notification URL for this subscription. 1 param

Delete a Microsoft Graph change notification subscription (webhook) by its subscription ID. After deletion, no further notifications will be sent to the registered notification URL for this subscription.

Name Type Required Description
subscription_id string required The ID of the subscription to delete. Obtain this from the create subscription response or by listing subscriptions. Example: 'abc123de-4567-89ab-cdef-0123456789ab'.
microsoft365_sharepoint_download_file # Download the binary content of a file from a SharePoint document library 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 list or get drive item operations. 2 params

Download the binary content of a file from a SharePoint document library 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 list or get drive item operations.

Name Type Required Description
item_id string required The unique drive item ID of the file to download from the SharePoint site's document library. Obtain item IDs from list drive items or search drive items operations.
site_id string required ID of the SharePoint site that contains the file. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_find_user_by_email # Look up an Azure Active Directory user by their email address (UPN). Returns the user's object ID, display name, and other profile properties. This is useful for resolving a user email to an object ID before adding them to a SharePoint site or group. 1 param

Look up an Azure Active Directory user by their email address (UPN). Returns the user's object ID, display name, and other profile properties. This is useful for resolving a user email to an object ID before adding them to a SharePoint site or group.

Name Type Required Description
email string required The email address (user principal name) of the Azure AD user to look up. Example: 'john.doe@contoso.com'.
microsoft365_sharepoint_follow_document # Follow a SharePoint document or OneDrive file so it appears in the signed-in user's followed documents list. Provide the drive item ID of the document to follow. 1 param

Follow a SharePoint document or OneDrive file so it appears in the signed-in user's followed documents list. Provide the drive item ID of the document to follow.

Name Type Required Description
item_id string required The ID of the drive item (document) to follow. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
microsoft365_sharepoint_get_list # Retrieve a specific SharePoint list by its ID within a site. Optionally expand related resources such as columns and items to retrieve list metadata in a single call. 3 params

Retrieve a specific SharePoint list by its ID within a site. Optionally expand related resources such as columns and items to retrieve list metadata in a single call.

Name Type Required Description
list_id string required ID or name of the SharePoint list to retrieve. Can be the list GUID or the list's display name (URL-encoded).
site_id string required ID of the SharePoint site containing the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$expand string optional Comma-separated list of related resources to expand. Example: 'columns,items' to include column definitions and list items in the response.
microsoft365_sharepoint_get_list_item # Retrieve a single item from a SharePoint list by its item ID. Use '$expand=fields' to include the column values in the response. 5 params

Retrieve a single item from a SharePoint list by its item ID. Use '$expand=fields' to include the column values in the response.

Name Type Required Description
item_id string required ID of the list item to retrieve. This is the numeric or GUID identifier of the item within the list.
list_id string required ID of the SharePoint list that contains the item. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$expand string optional Comma-separated list of related resources to expand. Default is 'fields' to include column values. Example: 'fields'.
$select string optional Comma-separated list of properties to return. Example: 'id,createdDateTime,fields'.
microsoft365_sharepoint_get_search_suggestions # Get search query suggestions for SharePoint content using the Microsoft Search beta API. Returns autocomplete suggestions based on the provided search text to help users refine their queries. 1 param

Get search query suggestions for SharePoint content using the Microsoft Search beta API. Returns autocomplete suggestions based on the provided search text to help users refine their queries.

Name Type Required Description
text string required The partial search term for which to retrieve suggestions. Example: 'proj' returns suggestions like 'project plan', 'project budget'.
microsoft365_sharepoint_get_site # Retrieve properties of a SharePoint site by its ID. Use 'root' for the tenant root site, a GUID for a specific site, or the format '<hostname>:/sites/<path>' (e.g., 'contoso.sharepoint.com:/sites/Marketing'). 1 param

Retrieve properties of a SharePoint site by its ID. Use 'root' for the tenant root site, a GUID for a specific site, or the format '<hostname>:/sites/<path>' (e.g., 'contoso.sharepoint.com:/sites/Marketing').

Name Type Required Description
site_id string required ID of the SharePoint site to retrieve. Use 'root' for the tenant root site, a site GUID, or the format '<hostname>:/sites/<path>' (e.g., 'contoso.sharepoint.com:/sites/Marketing').
microsoft365_sharepoint_list_content_types # List all content types defined in a SharePoint site. Supports OData filtering, field selection, and pagination via $top. Content types define the metadata schema for lists and libraries. 4 params

List all content types defined in a SharePoint site. Supports OData filtering, field selection, and pagination via $top. Content types define the metadata schema for lists and libraries.

Name Type Required Description
site_id string required ID of the SharePoint site whose content types to retrieve. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$filter string optional OData filter expression to narrow results. Example: "isBuiltIn eq false" to return only custom content types.
$select string optional Comma-separated list of properties to return for each content type. Example: 'id,name,description,isBuiltIn'.
$top integer optional Maximum number of content types to return per page. Default is determined by the API.
microsoft365_sharepoint_list_drives # List all drives (document libraries) within a specific SharePoint site. Returns drive IDs, names, and types. Use the returned drive IDs with other drive item tools to access files within that library. To list all drives accessible to the signed-in user across all sites, use microsoft365_onedrive_list_drives instead. 2 params

List all drives (document libraries) within a specific SharePoint site. Returns drive IDs, names, and types. Use the returned drive IDs with other drive item tools to access files within that library. To list all drives accessible to the signed-in user across all sites, use microsoft365_onedrive_list_drives instead.

Name Type Required Description
site_id string required The unique ID of the SharePoint site whose drives to list. Obtain site IDs from microsoft365_sharepoint_get_site or microsoft365_sharepoint_list_sites.
$select string optional Comma-separated list of drive properties to return. Example: "id,name,driveType" reduces response payload.
microsoft365_sharepoint_list_file_versions # List all versions of a file in a SharePoint document library. Returns version metadata including version number, last modified time, size, and the user who made each change. 3 params

List all versions of a file in a SharePoint document library. Returns version metadata including version number, last modified time, size, and the user who made each change.

Name Type Required Description
item_id string required The unique drive item ID of the file whose version history to retrieve. Obtain item IDs from list drive items or get drive item operations.
site_id string required ID of the SharePoint site that contains the file. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$top integer optional Maximum number of versions to return per page. Default is determined by the API.
microsoft365_sharepoint_list_followed_sites # List all SharePoint sites that the signed-in user is following. Returns site IDs, names, URLs, and descriptions. Use the returned site IDs with microsoft365_sharepoint_get_site or microsoft365_sharepoint_list_drives to explore the site's content. 0 params

List all SharePoint sites that the signed-in user is following. Returns site IDs, names, URLs, and descriptions. Use the returned site IDs with microsoft365_sharepoint_get_site or microsoft365_sharepoint_list_drives to explore the site's content.

microsoft365_sharepoint_list_list_fields # List all column definitions (fields) for a SharePoint list. Returns metadata for each column including its name, type, and configuration. Supports OData filtering, field selection, and pagination. 5 params

List all column definitions (fields) for a SharePoint list. Returns metadata for each column including its name, type, and configuration. Supports OData filtering, field selection, and pagination.

Name Type Required Description
list_id string required ID of the SharePoint list whose column definitions to retrieve. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$filter string optional OData filter expression to narrow results. Example: "hidden eq false" to return only visible columns.
$select string optional Comma-separated list of properties to return for each column. Example: 'id,name,displayName,columnGroup,hidden'.
$top integer optional Maximum number of columns to return per page. Default is determined by the API.
microsoft365_sharepoint_list_list_items # Retrieve items from a SharePoint list. Supports OData filtering, field selection, ordering, pagination, and expanding related resources such as fields (column values). 8 params

Retrieve items from a SharePoint list. Supports OData filtering, field selection, ordering, pagination, and expanding related resources such as fields (column values).

Name Type Required Description
list_id string required ID of the SharePoint list whose items to retrieve. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$expand string optional Comma-separated list of related resources to expand. Use 'fields' to include the column values for each item. Example: 'fields'.
$filter string optional OData filter expression to narrow results. Example: "fields/Status eq 'Active'" to return only active items.
$orderby string optional OData orderby expression to sort results. Example: 'fields/Title asc' or 'createdDateTime desc'.
$select string optional Comma-separated list of properties to return for each item. Example: 'id,createdDateTime,fields'.
$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 is determined by the API.
microsoft365_sharepoint_list_lists # List all lists in a SharePoint site. Supports OData filtering, field selection, pagination, and expansion of related resources such as columns and items. 5 params

List all lists in a SharePoint site. Supports OData filtering, field selection, pagination, and expansion of related resources such as columns and items.

Name Type Required Description
site_id string required ID of the SharePoint site whose lists to retrieve. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$expand string optional Comma-separated list of related resources to expand. Example: 'columns,items' to include column definitions and list items.
$filter string optional OData filter expression to narrow results. Example: "list/template eq 'documentLibrary'" to return only document libraries.
$select string optional Comma-separated list of properties to return for each list. Example: 'id,displayName,description,webUrl'.
$top integer optional Maximum number of lists to return per page. Default is determined by the API.
microsoft365_sharepoint_list_site_members # List all permission entries (members) for a SharePoint site. Returns users and groups with their assigned roles. Supports OData pagination and expansion of related identity resources. 3 params

List all permission entries (members) for a SharePoint site. Returns users and groups with their assigned roles. Supports OData pagination and expansion of related identity resources.

Name Type Required Description
site_id string required ID of the SharePoint site whose members (permissions) to retrieve. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
$expand string optional Comma-separated list of related resources to expand. Example: 'grantedToIdentities' to include the full identity objects for each permission entry.
$top integer optional Maximum number of permission entries to return per page. Default is determined by the API.
microsoft365_sharepoint_list_sites # List SharePoint sites accessible to the signed-in user. Use the search parameter to find sites by name or keyword. Defaults to returning all sites (search=*). Supports OData query options for pagination and field selection. 3 params

List SharePoint sites accessible to the signed-in user. Use the search parameter to find sites by name or keyword. Defaults to returning all sites (search=*). Supports OData query options for pagination and field selection.

Name Type Required Description
$select string optional Comma-separated list of properties to return for each site. Example: 'id,displayName,webUrl,description'.
$top integer optional Maximum number of sites to return per page (1-999). Default is determined by the API.
search string optional Search keyword to filter sites by name or description. Use '*' to return all accessible sites. Example: 'Marketing' or 'project'.
microsoft365_sharepoint_recycle_item # Move a file or folder in a SharePoint document library to the site recycle bin. This is a soft-delete — the item can be restored from the recycle bin. Permanent deletion requires a separate operation on the recycle bin itself. 2 params

Move a file or folder in a SharePoint document library to the site recycle bin. This is a soft-delete — the item can be restored from the recycle bin. Permanent deletion requires a separate operation on the recycle bin itself.

Name Type Required Description
item_id string required The unique drive item ID of the file or folder to move to the recycle bin. Obtain item IDs from list drive items or search drive items operations.
site_id string required ID of the SharePoint site that contains the item to recycle. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_remove_group_member # Remove a user from an Azure AD group (including Microsoft 365 and SharePoint site groups) by providing the group ID and user object ID. This permanently removes the membership. 2 params

Remove a user from an Azure AD group (including Microsoft 365 and SharePoint site groups) by providing the group ID and user object ID. This permanently removes the membership.

Name Type Required Description
group_id string required The Azure AD object ID of the group to remove the member from. Example: '7d8a5b3c-1234-5678-abcd-ef0123456789'.
user_id string required The Azure AD object ID of the user to remove from the group. Example: 'aaaabbbb-1234-5678-abcd-ef0123456789'.
microsoft365_sharepoint_restore_recycled_item # Restore a previously recycled (soft-deleted) item in a SharePoint document library. Optionally specify a new parent folder and/or new name for the restored item. If neither is provided, the item is restored to its original location. 4 params

Restore a previously recycled (soft-deleted) item in a SharePoint document library. Optionally specify a new parent folder and/or new name for the restored item. If neither is provided, the item is restored to its original location.

Name Type Required Description
item_id string required The unique drive item ID of the recycled item to restore. Obtain item IDs from list drive items or search recycled items operations.
site_id string required ID of the SharePoint site that contains the recycled item. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
new_name string optional Optional new filename to give the restored item. If omitted, the item retains its original name.
new_parent_id string optional Optional drive item ID of the parent folder to restore the item into. If omitted, the item is restored to its original parent location.
microsoft365_sharepoint_subscribe_webhook # Create a webhook subscription to receive change notifications for a SharePoint list or site resource. When changes matching the specified change type occur, Graph will POST a notification to your notification URL. Note: the notification URL must be HTTPS and must be pre-approved/allowlisted in the backend. Subscriptions expire within 3 days and must be renewed before expiry. 5 params

Create a webhook subscription to receive change notifications for a SharePoint list or site resource. When changes matching the specified change type occur, Graph will POST a notification to your notification URL. Note: the notification URL must be HTTPS and must be pre-approved/allowlisted in the backend. Subscriptions expire within 3 days and must be renewed before expiry.

Name Type Required Description
expiration_date_time string required The ISO 8601 datetime when the subscription expires. Maximum is 3 days from now for SharePoint resources. Example: '2026-06-20T12:00:00Z'.
notification_url string required The HTTPS URL that will receive notifications when changes occur. Must be publicly accessible and pre-approved by the backend. Example: 'https://webhook.example.com/notifications'.
resource string required The Graph API resource path to monitor for changes. For SharePoint lists use: 'sites/{site_id}/lists/{list_id}'. For an entire site drive: 'sites/{site_id}/drive/root'. Example: 'sites/contoso.sharepoint.com,abc123,def456/lists/list-guid-here'.
change_type string optional The type of change to subscribe to. Valid values: 'created', 'updated', 'deleted', 'all'. Default is 'updated'.
client_state string optional Optional secret string included in the notification payload so you can verify it came from Microsoft Graph. Max 128 characters. Example: 'my-secret-key-12345'.
microsoft365_sharepoint_unfollow_document # Stop following a SharePoint document or OneDrive file. The document will be removed from the signed-in user's followed documents list. Provide the drive item ID of the document to unfollow. 1 param

Stop following a SharePoint document or OneDrive file. The document will be removed from the signed-in user's followed documents list. Provide the drive item ID of the document to unfollow.

Name Type Required Description
item_id string required The ID of the drive item (document) to unfollow. Example: '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K'.
microsoft365_sharepoint_update_list # Update the display name or description of an existing SharePoint list. Provide the site ID, list ID, and at least one of display_name or description to update. 4 params

Update the display name or description of an existing SharePoint list. Provide the site ID, list ID, and at least one of display_name or description to update.

Name Type Required Description
list_id string required ID or name of the SharePoint list to update. Can be the list GUID or the list's display name.
site_id string required ID of the SharePoint site containing the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
description string optional New description for the SharePoint list. Example: 'Updated task list for Q3 project.'
display_name string optional New display name for the SharePoint list. Example: 'Q3 Project Tasks'.
microsoft365_sharepoint_update_list_field # Update the metadata of an existing SharePoint list column (field). Supports updating the display name, description, hidden visibility, and read-only status. Only provided fields are modified. 7 params

Update the metadata of an existing SharePoint list column (field). Supports updating the display name, description, hidden visibility, and read-only status. Only provided fields are modified.

Name Type Required Description
column_id string required ID of the column to update. Use the column GUID returned by the list fields endpoint.
list_id string required ID of the SharePoint list that contains the column. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
description string optional New description for the column. Appears as a tooltip or hint in the SharePoint list UI.
display_name string optional New display name for the column as shown in the SharePoint list UI.
hidden boolean optional Whether the column should be hidden from the default list view. Set to true to hide or false to show.
read_only boolean optional Whether the column should be read-only. Set to true to prevent users from editing the column value.
microsoft365_sharepoint_update_list_item # Update the field values of an existing SharePoint list item. PATCH the /fields subpath with a flat object of column name-value pairs. Only the fields provided are updated; omitted fields remain unchanged. 4 params

Update the field values of an existing SharePoint list item. PATCH the /fields subpath with a flat object of column name-value pairs. Only the fields provided are updated; omitted fields remain unchanged.

Name Type Required Description
fields object required Object containing the field values to update. Keys are internal column names. Only provided fields are changed. Example: {"Title": "Updated Title", "Status": "Done"}.
item_id string required ID of the list item to update. This is the numeric or string identifier of the item within the list.
list_id string required ID of the SharePoint list that contains the item. Use the list GUID or display name.
site_id string required ID of the SharePoint site that contains the list. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
microsoft365_sharepoint_update_site # Update the display name or description of an existing SharePoint site. Provide the site ID and at least one of display_name or description to update. 3 params

Update the display name or description of an existing SharePoint site. Provide the site ID and at least one of display_name or description to update.

Name Type Required Description
site_id string required ID of the SharePoint site to update. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
description string optional New description for the SharePoint site. Example: 'Official site for the Marketing department.'
display_name string optional New display name for the SharePoint site. Example: 'Marketing Hub 2024'.
microsoft365_sharepoint_upload_file # Create an upload session for uploading a file to a SharePoint document library. Returns an upload URL that the caller uses to upload the file content in subsequent PUT requests. This session-based approach supports files of any size. Required: site_id, parent_id (use 'root' for the library root folder), and filename. 4 params

Create an upload session for uploading a file to a SharePoint document library. Returns an upload URL that the caller uses to upload the file content in subsequent PUT requests. This session-based approach supports files of any size. Required: site_id, parent_id (use 'root' for the library root folder), and filename.

Name Type Required Description
filename string required Name of the file to upload including its extension. Example: 'report-Q4.xlsx'. This will be the filename in SharePoint.
parent_id string required Drive item ID of the parent folder in the SharePoint document library where the file will be uploaded. Use 'root' to upload to the library root folder, or a folder item ID from a list drive items operation.
site_id string required ID of the SharePoint site that contains the document library. Use a site GUID, 'root', or the format '<hostname>:/sites/<path>'.
conflict_behavior string optional Behavior when a file with the same name already exists at the destination. 'fail' returns an error, 'replace' overwrites the existing file, 'rename' creates a new file with an incremented name.
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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').

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
$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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.
microsoft365_outlook_create_shared_calendar_event # Create a calendar event on another user's calendar (shared or delegated access). Targets POST /users/{id}/events. Requires Calendars.ReadWrite application permission or delegated access granted by the target user. 13 params

Create a calendar event on another user's calendar (shared or delegated access). Targets POST /users/{id}/events. Requires Calendars.ReadWrite application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose calendar to write to (e.g., colleague@company.com).
subject string required Event subject / title.
start_datetime string required Start date and time in ISO 8601 format (e.g., 2024-09-15T10:00:00).
start_timezone string required IANA timezone for the start time (e.g., America/New_York).
end_datetime string required End date and time in ISO 8601 format.
end_timezone string required IANA timezone for the end time.
body_content string optional Event body/description text.
body_contentType string optional Body content type: "text" or "html".
attendees_required array optional Required attendee email addresses.
attendees_optional array optional Optional attendee email addresses.
location string optional Event location display name.
isOnlineMeeting boolean optional Whether to create a Teams online meeting.
isAllDay boolean optional Whether this is an all-day event.
microsoft365_outlook_update_shared_calendar_event # Update an existing event on another user's calendar (shared or delegated access). Targets PATCH /users/{id}/events/{event_id}. Requires Calendars.ReadWrite application permission or delegated access granted by the target user. 10 params

Update an existing event on another user's calendar (shared or delegated access). Targets PATCH /users/{id}/events/{event_id}. Requires Calendars.ReadWrite application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose calendar to update (e.g., colleague@company.com).
event_id string required ID of the calendar event to update.
subject string optional Updated event subject / title.
start_datetime string optional Updated start date and time in ISO 8601 format.
start_timezone string optional IANA timezone for the updated start time.
end_datetime string optional Updated end date and time in ISO 8601 format.
end_timezone string optional IANA timezone for the updated end time.
body_content string optional Updated event body/description text.
body_contentType string optional Body content type: "text" or "html".
location string optional Updated event location display name.
microsoft365_outlook_get_shared_mailbox_message # Get a single message from a shared mailbox by message ID. Targets GET /users/{id}/messages/{message_id}. Requires Mail.Read or Mail.ReadWrite permission on the shared mailbox. 3 params

Get a single message from a shared mailbox by message ID. Targets GET /users/{id}/messages/{message_id}. Requires Mail.Read or Mail.ReadWrite permission on the shared mailbox.

Name Type Required Description
shared_mailbox_id string required Email address or user ID of the shared mailbox (e.g., support@company.com).
message_id string required The ID of the message to retrieve.
$select string optional Comma-separated list of message properties to return (e.g., subject,from,receivedDateTime,body).
microsoft365_outlook_list_shared_contacts # List contacts from another user's default contacts folder (a colleague's contacts). Targets GET /users/{id}/contacts. Requires Contacts.Read application permission or delegated access granted by the target user. 6 params

List contacts from another user's default contacts folder (a colleague's contacts). Targets GET /users/{id}/contacts. Requires Contacts.Read application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose contacts to list (e.g., colleague@company.com).
$filter string optional OData filter expression (e.g., "displayName eq 'John Doe'").
$orderby string optional OData orderby expression (e.g., "displayName asc").
$select string optional Comma-separated contact properties to return (e.g., displayName,emailAddresses,mobilePhone).
$top integer optional Maximum number of contacts to return (1–1000).
$skip integer optional Number of contacts to skip for pagination.
microsoft365_outlook_get_shared_contact # Get a single contact from another user's contacts by contact ID. Targets GET /users/{id}/contacts/{contact_id}. Requires Contacts.Read application permission or delegated access granted by the target user. 3 params

Get a single contact from another user's contacts by contact ID. Targets GET /users/{id}/contacts/{contact_id}. Requires Contacts.Read application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose contact to retrieve (e.g., colleague@company.com).
contact_id string required The ID of the contact to retrieve.
select string optional Comma-separated contact properties to return.
microsoft365_outlook_list_shared_todo_lists # List Microsoft To Do task lists belonging to another user (a colleague). Targets GET /users/{id}/todo/lists. Requires Tasks.Read application permission or delegated access granted by the target user. 1 param

List Microsoft To Do task lists belonging to another user (a colleague). Targets GET /users/{id}/todo/lists. Requires Tasks.Read application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose To Do lists to retrieve (e.g., colleague@company.com).
microsoft365_outlook_list_shared_todo_tasks # List tasks in a Microsoft To Do list belonging to another user (a colleague). Targets GET /users/{id}/todo/lists/{list_id}/tasks. Requires Tasks.Read application permission or delegated access granted by the target user. 6 params

List tasks in a Microsoft To Do list belonging to another user (a colleague). Targets GET /users/{id}/todo/lists/{list_id}/tasks. Requires Tasks.Read application permission or delegated access granted by the target user.

Name Type Required Description
user_id string required User ID or userPrincipalName (email) of the target user whose tasks to list (e.g., colleague@company.com).
list_id string required The ID of the To Do task list to retrieve tasks from.
$filter string optional OData filter expression to narrow results.
$orderby string optional OData orderby expression (e.g., "dueDateTime/dateTime asc").
$top integer optional Maximum number of tasks to return.
$skip integer optional Number of tasks to skip for pagination.