---
canonical_url: "https://docs.composio.dev/toolkits/microsoft_365"
markdown_url: "https://docs.composio.dev/toolkits/microsoft_365.md"
product: "platform"
version: null
last_updated: null
---

# Microsoft 365

Microsoft 365 combines Outlook, OneDrive, OneNote, Teams, SharePoint, Excel, Word, PowerPoint, To Do, and Bookings through Microsoft Graph.

- **Category:** email
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 1000
- **Triggers:** 0
- **Slug:** `MICROSOFT_365`
- **Version:** 20261112_01

## Tools

### Accept calendar event invite

**Slug:** `MICROSOFT_365_ACCEPT_EVENT`

Accepts or tentatively accepts a calendar meeting invite on behalf of a user. Use this action when a user has received a meeting invitation and wants to indicate their attendance status (either confirmed or tentative). The organizer will receive a notification of the acceptance unless send_response is set to false.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional text message to include with the response, sent to the organizer. |
| `user_id` | string | No | The user ID or userPrincipalName of the calendar owner. If not provided, uses the authenticated user (/me). |
| `event_id` | string | Yes | The unique identifier of the calendar event to respond to. |
| `response_type` | string ("accept" | "tentative") | No | Type of response: 'accept' to accept the invite, 'tentative' to tentatively accept. |
| `send_response` | boolean | No | Whether to send the response to the organizer. Set to false to accept without notifying. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Chart

**Slug:** `MICROSOFT_365_ADD_CHART`

Add a chart to a worksheet using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The type of chart to add (e.g., 'ColumnClustered'). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. If not provided, uses 'me/drive' (requires delegated auth). For application auth (s2s_oauth), provide the drive ID. |
| `seriesby` | string | Yes | How the series are by (e.g., 'Auto'). |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |
| `sourcedata` | string | Yes | The range of source data for the chart (e.g., 'A1:C4'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add chat member

**Slug:** `MICROSOFT_365_ADD_CHAT_MEMBER`

Tool to add a conversationMember to a Microsoft Teams chat. Use when adding a user to an existing chat conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | No | Roles to assign to the member. Valid values are 'owner' or 'guest'. Leave empty to add as a standard member (not owner or guest). |
| `chat_id` | string | Yes | The unique identifier of the chat to which the member will be added. |
| `user_id` | string | Yes | The user's Graph ID (GUID) or userPrincipalName (email) to add to the chat. |
| `visible_history_start_date_time` | string | No | Optional. Timestamp denoting how far back a conversation's history is shared with the conversation member. Must be in ISO 8601 format (e.g., '2021-01-01T00:00:00Z'). Only settable for chat members. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Comment

**Slug:** `MICROSOFT_365_ADD_COMMENT`

Add a Word comment to a paragraph selected by a READ_DOCX locator or by exact text that uniquely matches a main-document paragraph. A locator requires the document’s eTag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `author` | string | Yes | Comment author. |
| `comment` | string | Yes | Comment text. |
| `item_id` | string | Yes | DOCX item ID. |
| `drive_id` | string | Yes | Drive ID. |
| `initials` | string | No | Optional author initials. |
| `anchor_text` | string | No | Exact text of one document paragraph to comment. |
| `expected_etag` | string | No | Optional exact eTag concurrency guard; required when paragraph_locator selects an eTag-bound target. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. |
| `paragraph_locator` | string | No | READ_DOCX paragraph locator; use instead of anchor_text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Column To SharePoint Content Type

**Slug:** `MICROSOFT_365_ADD_CONTENT_TYPE_COLUMN`

Add a column (column link) to a SharePoint site or list content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Column to add to the content type. To link an existing site/list column pass {'sourceColumn@odata.bind': 'https://graph.microsoft.com/v1.0/sites/{site-id}/columns/{column-id}'}; or pass an inline columnDefinition to create a new column on the content type. |
| `list_id` | string | No | Optional list ID or display name. When provided, the column is added to a list-level content type instead of a site-level one. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Content Type Copy From Hub

**Slug:** `MICROSOFT_365_ADD_CONTENT_TYPE_COPY_FROM_HUB`

Add a copy of a content type from the tenant content type hub to a SharePoint site or list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | No | Optional list ID or display name. When provided, the content type is copied to a list instead of the site. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID of the content type in the tenant content type hub to copy from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Content Type Copy To SharePoint List

**Slug:** `MICROSOFT_365_ADD_CONTENT_TYPE_COPY_TO_LIST`

Copy a site content type into a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Site content type ID to copy into the list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add event attachment

**Slug:** `MICROSOFT_365_ADD_EVENT_ATTACHMENT`

Adds an attachment to a specific Outlook calendar event. Use when you need to attach a file or nested item to an existing event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload; required when '@odata.type' is itemAttachment. |
| `name` | string | Yes | The display name of the attachment. |
| `user_id` | string | No | The user's email address or 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique opaque identifier of the calendar event (NOT an email address). This is typically a long string starting with 'AAMkA' or 'AQMkA'. Obtain it from listing or searching calendar events. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment") | Yes | Attachment type: '#microsoft.graph.fileAttachment' requires 'contentBytes'; '#microsoft.graph.itemAttachment' requires 'item'. |
| `content_bytes` | string | No | MUST be base64-encoded file contents (not plain text); required when '@odata.type' is fileAttachment. Raw/plain text must be base64-encoded first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add User to Group

**Slug:** `MICROSOFT_365_ADD_GROUP_MEMBER`

Add one directory user to a Microsoft 365 or security group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Directory user ID to add as a group member. |
| `group_id` | string | Yes | Target Microsoft 365 or security group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add mail attachment

**Slug:** `MICROSOFT_365_ADD_MAIL_ATTACHMENT`

Adds a small file attachment to an Outlook email message identified by its message ID, using an uploaded file or base64-encoded content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | Embedded item (e.g., message, event) for itemAttachment; must include its own '@odata.type'. |
| `name` | string | No | Display name of the attachment (e.g., file name). Required when using content_bytes. When using the attachment field, the name is automatically inferred. |
| `user_id` | string | No | The user's principal name or 'me' for the authenticated user. |
| `isInline` | boolean | No | Set to true if the attachment should appear inline in the message body. |
| `contentId` | string | No | Content ID for inline attachments, used in HTML body references. |
| `attachment` | object | No | File to attach to the email. Either provide this field OR use 'content_bytes'. Cannot be used together with 'content_bytes'. |
| `message_id` | string | Yes | Unique Microsoft Graph message ID (opaque string like 'AAMkAGI2TAAA='). NOT an email address - this is an internal identifier returned by Microsoft Graph API operations. |
| `odata_type` | string | No | The OData type of the attachment. Required by Microsoft Graph API. Use '#microsoft.graph.fileAttachment' for file attachments, '#microsoft.graph.itemAttachment' for embedded items (messages, events, contacts). |
| `contentType` | string | No | MIME type of the attachment (e.g., 'application/pdf'). Required when using content_bytes. When using the attachment field, the mimetype is automatically inferred. |
| `contentBytes` | string | No | Base64-encoded content of the file attachment (max size 3 MB). Either provide this field OR use the 'attachment' field (recommended). Cannot be used together with 'attachment'. |
| `contentLocation` | string | No | URL location or path for reference attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add member to channel

**Slug:** `MICROSOFT_365_ADD_MEMBER_TO_CHANNEL`

Tool to add a member to a Microsoft Teams channel. Use this action when you need to grant a user access to a specific channel within a team, or when you need to add an owner to manage the channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | No | Roles to assign to the member in the channel. Only 'owner' is supported by Microsoft Graph. Omit or leave empty to add as a standard member. |
| `team_id` | string | Yes | The unique identifier (GUID) of the team that contains the channel. |
| `user_id` | string | Yes | The Microsoft Graph user ID (GUID) or userPrincipalName (email) of the member to add to the channel. |
| `channel_id` | string | Yes | The unique identifier (GUID) of the channel to add the member to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add member to team

**Slug:** `MICROSOFT_365_ADD_MEMBER_TO_TEAM`

(DEPRECATED: use `MICROSOFT_TEAMS_ADD_TEAM_MEMBER`) Add a user to a Microsoft Teams team, optionally assigning the owner role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | No | Roles to assign to the member. Only 'owner' is supported. Omit or leave empty to add as a standard member. |
| `team_id` | string | Yes | The unique ID (GUID) of the Microsoft Team to which the member will be added. |
| `user_id` | string | Yes | The user's Graph ID (GUID) or userPrincipalName (email) to add to the team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Named Item

**Slug:** `MICROSOFT_365_ADD_NAMED_ITEM`

Add a workbook- or worksheet-scoped named item using an invariant reference or a local formula.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new named item's name. |
| `comment` | string | No | Optional comment associated with the name. |
| `formula` | string | No | Locale-specific formula; required in local mode. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `reference` | string | No | Invariant formula or range reference; required in invariant mode. |
| `worksheet` | string | No | Optional worksheet ID or name for worksheet scope. |
| `session_id` | string | No | Optional workbook session ID. |
| `formula_mode` | string ("invariant" | "local") | No | Select invariant to require reference, or local to require formula. The unused expression field must be omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Worksheet

**Slug:** `MICROSOFT_365_ADD_SHAREPOINT_WORKSHEET`

Add a new worksheet to an Excel workbook in a SharePoint site's default drive using Microsoft Graph.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new worksheet to add. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) to add a worksheet to. |
| `site_id` | string | Yes | The ID of the SharePoint site containing the Excel file. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add tab to channel

**Slug:** `MICROSOFT_365_ADD_TAB`

Tool to add a new tab to a Microsoft Teams channel. Use when you need to pin an app or website as a tab in a channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the team containing the channel where the tab will be added. |
| `channel_id` | string | Yes | The unique identifier of the channel where the tab will be added. This is typically in the format '19:xxx@thread.tacv2' for standard channels. |
| `display_name` | string | Yes | The display name for the tab as it will appear to users in Microsoft Teams. |
| `teams_app_id` | string | Yes | The unique identifier or catalog reference of the Teams app to add as a tab. Common values: 'com.microsoft.teamspace.tab.web' for website tabs, 'com.microsoft.teamspace.tab.wiki' for Wiki, 'com.microsoft.teamspace.tab.planner' for Planner. The app must be installed in the team or available in the app catalog. |
| `configuration` | object | No | Configuration settings for the tab. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Table

**Slug:** `MICROSOFT_365_ADD_TABLE`

Create a new table in a worksheet using the Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | The range address for the table. If worksheet is specified, use a range like 'A1:D4'. If worksheet is omitted, include the sheet name (e.g., 'Sheet1!A1:D4'). |
| `item_id` | string | Yes | The ID of the Excel workbook (drive item) where the table will be created. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `worksheet` | string | No | Worksheet name or ID. When provided, the table is created on this worksheet and the address should be a range like 'A1:D4'. When omitted, the table is created at the workbook level and the address must include the sheet name prefix (e.g., 'Sheet1!A1:D4'). |
| `hasHeaders` | boolean | Yes | Whether the first row of the range contains column headers (True) or not (False). |
| `session_id` | string | No | Workbook session ID controlling persistence. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Table Column

**Slug:** `MICROSOFT_365_ADD_TABLE_COLUMN`

Add a column to a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | integer | Yes | The index at which to insert the column. |
| `values` | array | Yes | The values for the new column. MUST include exactly one value for each row in the table, including the header row. Use list table rows to get the correct number of values needed. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, defaults to 'me' for delegated auth or must be provided for application-only auth. |
| `table_id` | string | Yes | The ID of the table to add a column to. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Table Row

**Slug:** `MICROSOFT_365_ADD_TABLE_ROW`

Add a row to a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | integer | No | The 0-based index at which to insert the row. Use null or omit to append to the end (recommended). |
| `values` | array | Yes | A 2D array of values for the new row(s). Each inner array represents one row and MUST have the same number of elements as the table has columns. Use List Table Columns action to verify the table structure first. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. Use 'me' for the user's default OneDrive (delegated auth), or provide a specific drive ID for SharePoint sites or when using application permissions. |
| `table_id` | string | Yes | The ID of the table to add a row to. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add member to team

**Slug:** `MICROSOFT_365_ADD_TEAM_MEMBER`

Add a user to a Microsoft Teams team, optionally assigning an owner or guest role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | No | Roles to assign to the member. Use ['owner'] for a team owner or ['guest'] for a guest. Omit or leave empty to add as a standard member. Microsoft Graph cannot add guest members with application permissions. |
| `team_id` | string | Yes | The unique ID (GUID) of the Microsoft Team to which the member will be added. |
| `user_id` | string | Yes | The user's Graph ID (GUID) or userPrincipalName (email) to add to the team. Guest users must be referenced by object ID; Microsoft Graph does not support adding guests to a team by UPN/email. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add team members (bulk)

**Slug:** `MICROSOFT_365_ADD_TEAM_MEMBERS_BULK`

Tool to add multiple members to a Microsoft Teams team in a single operation. Use when adding several users at once to improve efficiency.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | array | Yes | Array of conversation members to add to the team. Each member must specify the user reference and optional roles. |
| `team_id` | string | Yes | The unique identifier (GUID) of the team to add members to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Workbook Chart

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_CHART`

Add a chart to a worksheet in an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | Chart type, for example ColumnClustered, BarStacked, LineMarkers, or PieOfPie. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `series_by` | string ("Auto" | "Columns" | "Rows") | No | Optional setting for whether the series come from rows or columns. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `source_data` | string | Yes | Range address that supplies the chart data, for example A1:B5. |
| `worksheet_id_or_name` | string | Yes | Worksheet ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Workbook Named Item

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_NAME`

Add a named item at the workbook scope in an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the workbook named item to add. |
| `comment` | string | No | Optional comment associated with the workbook named item. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `reference` | string | Yes | The formula or range the named item refers to, for example =Sheet1!$F$15:$N$27. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Workbook Permission

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_PERMISSION`

Tool to grant access to a workbook via invite. Use when you need to share a specific workbook file with designated recipients and roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Roles to grant: read or write. |
| `item_id` | string | Yes | The ID of the drive item (Excel file) to share. |
| `message` | string | No | Plain-text message included in the invitation (max 2000 characters). |
| `site_id` | string | No | The ID of the SharePoint site containing the Excel file. Required for application-level auth when the file is not in the root site. |
| `drive_id` | string | No | The ID of the document library (drive) containing the Excel file. If not provided, the site's default drive is used. |
| `password` | string | No | Password for the invite (OneDrive Personal only). |
| `recipients` | array | Yes | Collection of recipients to grant access and send the invitation. |
| `requireSignIn` | boolean | No | If true, recipients must sign in to view the shared item. |
| `sendInvitation` | boolean | No | If true, sends an email invitation; otherwise grants permission silently. |
| `expirationDateTime` | string | No | DateTime when the granted permission will expire (ISO 8601). |
| `retainInheritedPermissions` | boolean | No | If true, existing inherited permissions remain; if false, existing permissions are removed on first share. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Workbook Table

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_TABLE`

Add a table to an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Range address for the new table. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `has_headers` | boolean | No | Whether the range has headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add workbook table column

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_TABLE_COLUMN`

Insert a column at a zero-based position in an Excel workbook table stored in a Microsoft Graph drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional name for the new table column. |
| `index` | integer | Yes | Zero-based insertion position. The existing column at this position shifts right; the index cannot append after the table's last column. |
| `values` | array | No | Optional two-dimensional array of unformatted values for the column. |
| `item_id` | string | Yes | Drive item ID of the Excel workbook. |
| `drive_id` | string | Yes | Drive ID containing the Excel workbook. |
| `table_id` | string | Yes | Workbook table ID or name to receive the new column. |
| `session_id` | string | No | Optional workbook session ID that controls whether changes persist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Workbook Table Row

**Slug:** `MICROSOFT_365_ADD_WORKBOOK_TABLE_ROW`

Add rows to an Excel workbook table stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | integer | No | Optional zero-based insertion index. |
| `values` | array | Yes | Rows to append to the table as a two-dimensional array of cell values (text, number, boolean, or null). |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `table_id_or_name` | string | Yes | Workbook table ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Worksheet

**Slug:** `MICROSOFT_365_ADD_WORKSHEET`

Add a new worksheet to an Excel workbook using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new worksheet to add. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) to add a worksheet to. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Append Content

**Slug:** `MICROSOFT_365_APPEND_CONTENT`

Append plain text or supported Markdown paragraphs, headings, formatted runs, lists, rectangular tables, safe http/https/mailto links, and Courier New inline or fenced code to a DOCX body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string ("markdown" | "plain") | No | Content format; Markdown supports safe links and Courier New code text. |
| `content` | string | Yes | Plain text or supported Markdown to append. Markdown preserves safe http, https, and mailto links; inline and fenced code use Courier New. |
| `item_id` | string | Yes | DOCX item ID. |
| `drive_id` | string | Yes | Drive ID. |
| `expected_etag` | string | No | Optional exact eTag concurrency guard. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Apply Table Filter

**Slug:** `MICROSOFT_365_APPLY_TABLE_FILTER`

Apply a filter to a table column using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `criteria` | object | Yes | The filter criteria as a dictionary. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. Use 'me' for the user's default OneDrive, or provide a specific drive ID for SharePoint sites or app-only auth. |
| `table_id` | string | Yes | The ID of the table. |
| `column_id` | string | Yes | The ID of the column to filter. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Apply Table Sort

**Slug:** `MICROSOFT_365_APPLY_TABLE_SORT`

Apply a sort to a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | Yes | List of sort fields (e.g., [{ 'key': 0, 'ascending': true }]). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. Required when using application permissions (not /me). Use the drive ID where the Excel file is located. |
| `table_id` | string | Yes | The ID of the table to sort. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Apply SharePoint Workbook Table Column Filter

**Slug:** `MICROSOFT_365_APPLY_WORKBOOK_TABLE_COLUMN_FILTER`

Apply a filter to a column of an Excel workbook table stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `criteria` | object | Yes | Microsoft Graph workbookFilterCriteria object describing the filter to apply (for example operator, criterion1, values, color, dynamicCriteria, filterOn, or icon). |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `table_id_or_name` | string | Yes | Workbook table ID or name. |
| `column_id_or_name` | string | Yes | Workbook table column ID or name to apply the filter to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive channel

**Slug:** `MICROSOFT_365_ARCHIVE_CHANNEL`

Tool to archive a channel in a Microsoft Teams team. Use when you need to archive a specific channel within a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the team containing the channel to archive. |
| `channel_id` | string | Yes | The unique identifier of the channel to archive. Must be in thread format (e.g., '19:079fd66c7bf04c07a21430a9a32c2130@thread.tacv2'). |
| `should_set_spo_site_read_only_for_members` | boolean | No | If true, sets the SharePoint site to read-only for team members when archiving the channel. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive team channel

**Slug:** `MICROSOFT_365_ARCHIVE_GROUP_TEAM_CHANNEL`

Tool to archive a channel in a Microsoft Teams team using the group ID. Use when you need to archive a specific channel within a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier (GUID) of the Microsoft 365 group associated with the team containing the channel to archive. |
| `channel_id` | string | Yes | The unique identifier of the channel to archive. Must be in thread format (e.g., '19:f95aa28eb1de46e994e1e8f8a40f2113@thread.tacv2'). |
| `should_set_spo_site_read_only_for_members` | boolean | No | If true, sets the SharePoint site to read-only for team members when archiving the channel. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Teams team

**Slug:** `MICROSOFT_365_ARCHIVE_TEAM`

Tool to archive a Microsoft Teams team. Use after confirming the team ID; returns 202 if accepted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The Microsoft Teams team GUID to archive. |
| `should_set_spo_site_read_only_for_members` | boolean | No | If true, sets the SharePoint site to read-only for team members when archiving. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign Sensitivity Label To SharePoint Drive Item

**Slug:** `MICROSOFT_365_ASSIGN_SENSITIVITY_LABEL`

Assign a Microsoft Purview sensitivity label to a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `assignment_method` | string ("standard" | "privileged" | "auto") | No | How the label is assigned: standard, privileged, or auto. |
| `justification_text` | string | No | Justification text. Required by Microsoft Graph when downgrading or removing an existing label. |
| `sensitivity_label_id` | string | Yes | GUID of the sensitivity label to assign. Discover available label IDs with the list sensitivity labels action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Autofit Range

**Slug:** `MICROSOFT_365_AUTOFIT_RANGE`

Autofit columns or rows intersecting a workbook range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The range whose dimensions to fit. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | The explicit drive ID; omit for /me/drive. |
| `dimension` | string ("columns" | "rows") | Yes | Whether to autofit column widths or row heights. |
| `session_id` | string | No | An optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch move messages

**Slug:** `MICROSOFT_365_BATCH_MOVE_MESSAGES`

Batch-move up to 20 Outlook messages to a destination folder in a single Microsoft Graph $batch call. Use when moving multiple messages to avoid per-message move API calls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) of the user whose messages to move, or 'me' for the currently authenticated user. |
| `message_ids` | array | Yes | Array of message IDs to move. Maximum 20 items per batch (Microsoft Graph API limit). Each ID must be complete and untruncated. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). If using a folder ID, it must be complete and untruncated. |
| `response_detail` | string ("minimal" | "full") | No | Controls how much each move sub-request returns from Microsoft Graph. 'minimal' (default) sets `Prefer: return=minimal` on each sub-request, so Graph returns 204 No Content per move — the response stays small even for the maximum 20 HTML messages. In this mode `moved_message_id` in each result is null even on success. 'full' omits the Prefer header so Graph returns the full moved-message body per sub-request and `moved_message_id` is populated. Use 'full' if you need to chain follow-up calls on the new message ID; otherwise stick with 'minimal' to avoid multi-MB batch responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch update messages

**Slug:** `MICROSOFT_365_BATCH_UPDATE_MESSAGES`

Batch-update up to 20 Outlook messages per call using Microsoft Graph JSON batching. Use when marking multiple messages read/unread or updating other properties to avoid per-message PATCH calls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `updates` | array | Yes | Array of message updates to perform. Maximum 20 items per batch (Microsoft Graph API limit). For larger workloads, chunk into multiple batch calls and retry any failures. |
| `user_id` | string | No | The UPN (User Principal Name) of the user whose messages to update, or 'me' for the currently authenticated user. |
| `response_detail` | string ("minimal" | "full") | No | Controls how much each PATCH sub-request returns from Microsoft Graph. 'minimal' (default) sets `Prefer: return=minimal` on each sub-request, so Graph returns 204 No Content per update — the response stays small even for the maximum 20 HTML messages. The action's response shape (BatchItemResult.status / .success / .error_message) is unchanged. 'full' omits the Prefer header so Graph returns the full updated-message body per sub-request (status 200) — useful only if you want to inspect the raw Graph response for debugging; otherwise stick with 'minimal' to avoid multi-MB batch responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Calculate Workbook Function

**Slug:** `MICROSOFT_365_CALCULATE_FUNCTION`

Run one allowlisted Microsoft Graph v1.0 workbook function.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `arguments` | object | No | Arguments keyed by the exact documented Microsoft Graph parameter names for function_name. Values may be any recursively nested JSON value, but numbers must be finite. Unknown keys are rejected. Leave this empty for a zero-argument function; for other functions, only the selected function's documented keys are sent. |
| `session_id` | string | No | Optional workbook session ID to use for this calculation. |
| `function_name` | string ("abs" | "accrInt" | "accrIntM" | "acos" | "acosh" | "acot" | "acoth" | "amorDegrc" | "amorLinc" | "and" | "arabic" | "areas" | "asc" | "asin" | "asinh" | "atan" | "atan2" | "atanh" | "aveDev" | "average" | "averageA" | "averageIf" | "averageIfs" | "bahtText" | "base" | "besselI" | "besselJ" | "besselK" | "besselY" | "beta_Dist" | "beta_Inv" | "bin2Dec" | "bin2Hex" | "bin2Oct" | "binom_Dist" | "binom_Dist_Range" | "binom_Inv" | "bitand" | "bitlshift" | "bitor" | "bitrshift" | "bitxor" | "ceiling_Math" | "ceiling_Precise" | "char" | "chiSq_Dist" | "chiSq_Dist_RT" | "chiSq_Inv" | "chiSq_Inv_RT" | "choose" | "clean" | "code" | "columns" | "combin" | "combina" | "complex" | "concatenate" | "confidence_Norm" | "confidence_T" | "convert" | "cos" | "cosh" | "cot" | "coth" | "count" | "countA" | "countBlank" | "countIf" | "countIfs" | "coupDayBs" | "coupDays" | "coupDaysNc" | "coupNcd" | "coupNum" | "coupPcd" | "csc" | "csch" | "cumIPmt" | "cumPrinc" | "date" | "datevalue" | "daverage" | "day" | "days" | "days360" | "db" | "dbcs" | "dcount" | "dcountA" | "ddb" | "dec2Bin" | "dec2Hex" | "dec2Oct" | "decimal" | "degrees" | "delta" | "devSq" | "dget" | "disc" | "dmax" | "dmin" | "dollar" | "dollarDe" | "dollarFr" | "dproduct" | "dstDev" | "dstDevP" | "dsum" | "duration" | "dvar" | "dvarP" | "ecma_Ceiling" | "edate" | "effect" | "eoMonth" | "erf" | "erf_Precise" | "erfC" | "erfC_Precise" | "error_Type" | "even" | "exact" | "exp" | "expon_Dist" | "f_Dist" | "f_Dist_RT" | "f_Inv" | "f_Inv_RT" | "fact" | "factDouble" | "false" | "find" | "findB" | "fisher" | "fisherInv" | "fixed" | "floor_Math" | "floor_Precise" | "fv" | "fvschedule" | "gamma" | "gamma_Dist" | "gamma_Inv" | "gammaLn" | "gammaLn_Precise" | "gauss" | "gcd" | "geoMean" | "geStep" | "harMean" | "hex2Bin" | "hex2Dec" | "hex2Oct" | "hlookup" | "hour" | "hyperlink" | "hypGeom_Dist" | "if" | "imAbs" | "imaginary" | "imArgument" | "imConjugate" | "imCos" | "imCosh" | "imCot" | "imCsc" | "imCsch" | "imDiv" | "imExp" | "imLn" | "imLog10" | "imLog2" | "imPower" | "imProduct" | "imReal" | "imSec" | "imSech" | "imSin" | "imSinh" | "imSqrt" | "imSub" | "imSum" | "imTan" | "int" | "intRate" | "ipmt" | "irr" | "isErr" | "isError" | "isEven" | "isFormula" | "isLogical" | "isNA" | "isNonText" | "isNumber" | "iso_Ceiling" | "isOdd" | "isoWeekNum" | "ispmt" | "isref" | "isText" | "kurt" | "large" | "lcm" | "left" | "leftb" | "len" | "lenb" | "ln" | "log" | "log10" | "logNorm_Dist" | "logNorm_Inv" | "lookup" | "lower" | "match" | "max" | "maxA" | "mduration" | "median" | "mid" | "midb" | "min" | "minA" | "minute" | "mirr" | "mod" | "month" | "mround" | "multiNomial" | "n" | "na" | "negBinom_Dist" | "networkDays" | "networkDays_Intl" | "nominal" | "norm_Dist" | "norm_Inv" | "norm_S_Dist" | "norm_S_Inv" | "not" | "now" | "nper" | "npv" | "numberValue" | "oct2Bin" | "oct2Dec" | "oct2Hex" | "odd" | "oddFPrice" | "oddFYield" | "oddLPrice" | "oddLYield" | "or" | "pduration" | "percentile_Exc" | "percentile_Inc" | "percentRank_Exc" | "percentRank_Inc" | "permut" | "permutationa" | "phi" | "pi" | "pmt" | "poisson_Dist" | "power" | "ppmt" | "price" | "priceDisc" | "priceMat" | "product" | "proper" | "pv" | "quartile_Exc" | "quartile_Inc" | "quotient" | "radians" | "rand" | "randBetween" | "rank_Avg" | "rank_Eq" | "rate" | "received" | "replace" | "replaceB" | "rept" | "right" | "rightb" | "roman" | "round" | "roundDown" | "roundUp" | "rows" | "rri" | "sec" | "sech" | "second" | "seriesSum" | "sheet" | "sheets" | "sign" | "sin" | "sinh" | "skew" | "skew_p" | "sln" | "small" | "sqrt" | "sqrtPi" | "standardize" | "stDev_P" | "stDev_S" | "stDevA" | "stDevPA" | "substitute" | "subtotal" | "sum" | "sumIf" | "sumIfs" | "sumSq" | "syd" | "t" | "t_Dist" | "t_Dist_2T" | "t_Dist_RT" | "t_Inv" | "t_Inv_2T" | "tan" | "tanh" | "tbillEq" | "tbillPrice" | "tbillYield" | "text" | "time" | "timevalue" | "today" | "trim" | "trimMean" | "true" | "trunc" | "type" | "unichar" | "unicode" | "upper" | "usdollar" | "value" | "var_P" | "var_S" | "varA" | "varPA" | "vdb" | "vlookup" | "weekday" | "weekNum" | "weibull_Dist" | "workDay" | "workDay_Intl" | "xirr" | "xnpv" | "xor" | "year" | "yearFrac" | "yield" | "yieldDisc" | "yieldMat" | "z_Test") | Yes | Exact Microsoft Graph v1.0 workbook function name. Only names in the published allowlist are accepted; names are case-sensitive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Calendar Event

**Slug:** `MICROSOFT_365_CALENDAR_CREATE_EVENT`

Creates a new Outlook calendar event, ensuring `start_datetime` is chronologically before `end_datetime`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | The body of the event. This can be in plain text or HTML format, as specified by the 'is_html' field. Optional - events can be created without a body. |
| `is_html` | boolean | No | Specifies whether the 'body' content is HTML. Set to true for HTML content; otherwise, it's treated as plain text. |
| `show_as` | string | No | The status to show on the calendar for the duration of the event. Valid values are: 'free', 'tentative', 'busy', 'oof' (out of office), 'workingElsewhere', 'unknown'. |
| `subject` | string | Yes | The subject of the calendar event. |
| `user_id` | string | No | The user identifier for the calendar owner. Must be either 'me' (for the authenticated user), a Microsoft 365 User Principal Name (e.g., user@contoso.com - must be a work/school account in the organization's verified domain), or an Azure AD object ID (GUID). Personal email addresses (Gmail, Yahoo, Outlook.com consumer accounts, etc.) are NOT valid and will result in a 404 error. |
| `location` | string | No | The physical location of the event. |
| `time_zone` | string | Yes | The time zone for the start and end times of the event. Uses Windows time zone names (e.g., 'Pacific Standard Time') or IANA time zone names (e.g., 'America/Los_Angeles'). UTC is also a valid input. |
| `categories` | array | No | A list of category names to associate with the event. The API accepts any string values. For best compatibility with Outlook UI color-coding, use category names from the user's master category list. Category names are case-insensitive and duplicates will be automatically removed. |
| `importance` | string | No | The importance of the event. Valid values are 'low', 'normal', 'high'. Defaults to 'normal'. |
| `is_all_day` | boolean | No | Set to true for an all-day event. When true, start_datetime and end_datetime must both be at midnight and use the same time_zone. |
| `recurrence` | object | No | The recurrence pattern and range for an event. |
| `calendar_id` | string | No | The ID of a specific calendar to create the event in. Obtainable from the list calendars action. If omitted, the event is created on the user's default calendar. |
| `end_datetime` | string | Yes | The event's end date and time. Prefer local YYYY-MM-DDTHH:MM:SS with the IANA or Windows zone in time_zone. Z or a numeric offset is accepted only when it agrees with time_zone. |
| `attendees_info` | array | No | A list of attendees for the event. Accepts multiple formats: (1) Simple email strings (e.g., ['user@example.com']), (2) Attendee objects with 'email' (required), 'name' (optional), and 'type' (optional: 'required', 'optional', 'resource', defaults to 'required'), (3) Microsoft Graph-style objects with nested 'emailAddress' containing 'address' and 'name' fields. |
| `start_datetime` | string | Yes | The event's start date and time. Prefer local YYYY-MM-DDTHH:MM:SS with the IANA or Windows zone in time_zone. Z or a numeric offset is accepted only when it agrees with time_zone. |
| `is_online_meeting` | boolean | No | Set to true to indicate that the event is an online meeting. This will automatically generate an online meeting link if 'online_meeting_provider' is set (e.g., a Microsoft Teams link). |
| `online_meeting_provider` | string | No | Specifies the online meeting provider. Currently, only 'teamsForBusiness' is supported. If 'is_online_meeting' is true and this is set, a meeting link for the provider will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel Appointment

**Slug:** `MICROSOFT_365_CANCEL_APPOINTMENT`

Irreversibly cancel an appointment and ask Microsoft Bookings to send the supplied cancellation message to its customers and staff. A successful result confirms that Graph accepted the cancellation, not message delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `appointment_id` | string | Yes | ID of the appointment to cancel. |
| `cancellation_message` | string | Yes | Message sent to the appointment's customers and staff explaining the cancellation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel user's calendar event

**Slug:** `MICROSOFT_365_CANCEL_CALENDAR_EVENT`

Cancels an organizer's event in a specified user's calendar and sends cancellation notifications to attendees. An optional comment can accompany the cancellation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `Comment` | string | No | Optional text message sent to all attendees explaining the cancellation. |
| `user_id` | string | Yes | The user ID or userPrincipalName of the calendar owner. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event to cancel. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel user calendar group event

**Slug:** `MICROSOFT_365_CANCEL_CALENDAR_GROUP_CALENDAR_EVENT`

Tool to cancel an event in a user's calendar within a calendar group and send cancellation notifications to all attendees. Use when canceling a meeting or event for a specific user in a calendar that belongs to a calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional text message sent to all attendees explaining the cancellation. |
| `user_id` | string | Yes | The user ID or userPrincipalName of the calendar owner. Can be 'me' for the authenticated user or a specific user identifier. |
| `event_id` | string | Yes | The unique identifier of the event to cancel. |
| `calendar_id` | string | Yes | The ID of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The ID of the calendar group containing the target calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel user calendar event

**Slug:** `MICROSOFT_365_CANCEL_EVENT`

Cancel a calendar event for a specified user and send cancellation notifications to attendees. The calendar owner must be the meeting organizer; an optional comment can be sent with the cancellation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `Comment` | string | No | Optional text message sent to all attendees explaining the cancellation. |
| `user_id` | string | Yes | The user ID or userPrincipalName of the calendar owner. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to cancel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get all chats

**Slug:** `MICROSOFT_365_CHATS_GET_ALL_CHATS`

Lists a specified user's Microsoft Teams chats, supporting filtering and property selection. An unfiltered first page for `user_id='me'` includes the personal self-chat with `is_self_chat=true`; use SEND_MESSAGE_TO_SELF and LIST_MESSAGES_TO_SELF for it. Returns one provider page per call (up to `top`, further bounded by `limit` if given), potentially plus that one synthetic entry, and a `next_page_token`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of provider chats to return per page (1-50). Microsoft Graph enforces a maximum of 50 per request. An unfiltered first page for user_id='me' can contain one additional synthetic self-chat. This action returns ONE page per call plus a `next_page_token`; pass that token back as `page_token` to get the next page. |
| `limit` | integer | No | Caps how many provider chats this single call returns (bounds the page size). An unfiltered first page for user_id='me' can contain one additional synthetic self-chat beyond this limit. If more chats match than `limit`, the response includes a `next_page_token` — pass it back as `page_token` to fetch the rest; nothing is dropped. When larger than one Graph page (max 50) a single call still returns one page plus a token. Leave unset to return a full page. |
| `filter` | string | No | OData filter query string (do not include '$filter='). Supports filtering by chat properties like 'topic', 'chatType' (e.g., "chatType eq 'group'", "topic eq 'Project X'"), and 'installedApps/any(...)' for app-based filtering. The synthetic self-chat is included only when this is empty because its filter semantics cannot be safely emulated. Note: Filtering by 'members' (a navigation property) is NOT supported - to filter by member, retrieve all chats and filter client-side, or use $expand=members. |
| `select` | array | No | A list of specific Microsoft Graph chat resource properties to retrieve (e.g., 'id', 'topic'). If omitted or empty, a default set of properties is returned. Each string in the list should be a valid property name. |
| `user_id` | string | No | The ID or user principal name (UPN) of the user whose chats are to be retrieved. Use 'me' to specify the currently authenticated user. An unfiltered first-page request for 'me' includes the user's self-chat (personal notes); use SEND_MESSAGE_TO_SELF to add a note or LIST_MESSAGES_TO_SELF to read it without supplying IDs. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (user_id), but filter/select params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get all chat messages (Deprecated)

**Slug:** `MICROSOFT_365_CHATS_GET_ALL_MESSAGES`

DEPRECATED: Use ListUserChatMessages instead. Lists messages from a specified Microsoft Teams chat via the Microsoft Graph API. Returns one page per call (up to `top`, further bounded by `limit` if given) plus a `next_page_token`; pass that back as `page_token` to fetch the next page, until it is absent. Ensure `chat_id` is valid and OData expressions in `filter` are correct.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of messages to return per page (1-50). Microsoft Graph maximum is 50 per page. This action now returns ONE page per call plus a `next_page_token`; pass that token back as `page_token` for the next page. |
| `limit` | integer | No | Caps how many messages this single call returns (bounds the page size). If more messages match than `limit`, the response includes a `next_page_token` — pass it back as `page_token` to fetch the rest; nothing is dropped. When larger than one Graph page (max 50) a single call still returns one page plus a token. Leave unset to return a full page. |
| `filter` | string | No | OData v4.0 filter query string for messages. FILTER RESTRICTIONS: For 'lastModifiedDateTime', both 'gt' (greater than) and 'lt' (less than) operators are supported. For 'createdDateTime', ONLY 'lt' (less than) is supported - 'gt' (greater than) is NOT allowed and will cause an API error. Must be used with 'orderby' on the same property or filter will be ignored. |
| `chat_id` | string | Yes | Unique identifier of the Microsoft Teams chat. |
| `orderby` | string | No | OData v4.0 orderby expression for sorting messages. Only supports 'lastModifiedDateTime desc' and 'createdDateTime desc'. Ascending order is not supported. Required when using filter parameter - must be on the same property as the filter. |
| `user_id` | string | No | The ID or user principal name (UPN) of the user whose chats are to be accessed. Use 'me' to specify the currently authenticated user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (user_id, chat_id), but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check In SharePoint Drive Item

**Slug:** `MICROSOFT_365_CHECKIN_DRIVE_ITEM`

Check in a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional check-in comment. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `checkin_as` | string | No | Optional check-in mode supported by Microsoft Graph. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check In Drive Item

**Slug:** `MICROSOFT_365_CHECKIN_ITEM`

Tool to check in a checked out driveItem resource, making the version of the document available to others. Use when you need to check in a file that was previously checked out in OneDrive or SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | A check-in comment that is associated with the version. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the item to check in. |
| `check_in_as` | string | No | Optional. The status of the document after the check-in operation is complete. Can be 'published' or unspecified. |
| `drive_item_id` | string | Yes | The unique identifier of the driveItem to check in. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check In Presentation

**Slug:** `MICROSOFT_365_CHECK_IN_PRESENTATION`

Check in a checked-out PowerPoint DriveItem and make its version available according to the SharePoint/document-library configuration. Microsoft Graph documents no atomic If-Match/eTag option for this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional check-in comment. This action limits comments to 1,024 characters. |
| `item_id` | string | Yes | DriveItem ID of the checked-out PowerPoint presentation. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default drive. |
| `check_in_as` | string | No | Set to published to request published status; omit for Microsoft's default check-in status. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Checkout SharePoint Drive Item

**Slug:** `MICROSOFT_365_CHECKOUT_DRIVE_ITEM`

Checkout SharePoint Drive Item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Checkout Drive Item

**Slug:** `MICROSOFT_365_CHECKOUT_ITEM`

Tool to check out a driveItem to prevent others from editing it and make your changes invisible until checked in. Use when you need to lock a file for exclusive editing in SharePoint or OneDrive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The unique identifier of the drive containing the item to checkout. |
| `drive_item_id` | string | Yes | The unique identifier of the driveItem (file or folder) to checkout. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check Out Presentation

**Slug:** `MICROSOFT_365_CHECK_OUT_PRESENTATION`

Check out a PowerPoint DriveItem where its SharePoint/document-library configuration supports checkout, preventing others from editing and hiding changes until check-in. Microsoft Graph documents no atomic If-Match/eTag option for this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation to check out. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Automatic Location

**Slug:** `MICROSOFT_365_CLEAR_AUTOMATIC_LOCATION`

Tool to clear the automatic location from a user's presence in Microsoft Teams. Use when you need to remove automatically-set location information from presence status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (GUID) of the user whose automatic location will be cleared. Note: This endpoint does not support 'me' as an alias; you must provide the actual user GUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear User Preferred Presence

**Slug:** `MICROSOFT_365_CLEAR_ME_PRESENCE_USER_PREFERRED`

Tool to clear a user's preferred presence setting in Microsoft Teams. Use when you need to remove the user's manually set presence status and allow the system to automatically determine their presence based on activity. Supports both delegated (user) and application (S2S) authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' to clear the preferred presence of the authenticated user (delegated auth), or provide a specific user ID or email for application auth. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear My Presence (Deprecated)

**Slug:** `MICROSOFT_365_CLEAR_MY_PRESENCE`

DEPRECATED: Clears an application's presence session for the authenticated user or a specified user in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' to clear presence for the authenticated user. |
| `sessionId` | string | Yes | The ID of the application's presence session to clear. Should be the application's client ID (appid). This parameter is required by the API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Presence

**Slug:** `MICROSOFT_365_CLEAR_PRESENCE`

Clears presence information for a specified user's application presence session in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (GUID) of the user whose presence session to clear. Must be an explicit user ID (not 'me'). Note: You can only clear presence for the authenticated user - attempting to clear presence for other users will result in a 401 Unauthorized error. Use the user's object ID from Azure AD. |
| `session_id` | string | Yes | The ID of the application's presence session to clear. This must exactly match the application ID (client ID) used for authentication. The API will return a 400 error if the sessionId doesn't match. This parameter is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Presence Automatic Location (Deprecated)

**Slug:** `MICROSOFT_365_CLEAR_PRESENCE_AUTOMATIC_LOCATION`

Deprecated. Clear the automatically detected presence location for the authenticated user or a specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' to clear the presence location of the authenticated user (delegated auth). For application-only (S2S) authentication, provide the user's GUID or email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Presence Location

**Slug:** `MICROSOFT_365_CLEAR_PRESENCE_LOCATION`

Clear the presence location for the authenticated user or a specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' to clear the presence location of the authenticated user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Range

**Slug:** `MICROSOFT_365_CLEAR_RANGE`

Tool to clear values, formats, or contents in a specified worksheet range. Use when you need to reset cells before adding new data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | The A1-style address of the range to clear (e.g., 'A1:B2'). |
| `applyTo` | string ("All" | "Formats" | "Contents") | No | Optional. The type of clear action. Possible values: All, Formats, Contents. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `site_id` | string | No | Optional. The SharePoint site ID (format: hostname,site-collection-id,site-id). Required when using application permissions (s2s_oauth) with SharePoint files. Not needed for OneDrive files with delegated permissions. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth) with OneDrive files. If not provided, falls back to site_id or /me/drive endpoint. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `session_id` | string | No | Optional. The workbook session ID for persistent changes. Must be obtained from EXCEL_GET_SESSION (createSession API) - do not construct manually. Format starts with 'cluster=' followed by session data. Invalid or expired sessions will cause API errors. |
| `worksheet_id` | string | Yes | The name or ID of the worksheet (URL-encoded if necessary). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Table Filter

**Slug:** `MICROSOFT_365_CLEAR_TABLE_FILTER`

Clear a filter from a table column using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. Use ‘me’ for the user’s default OneDrive, or provide a specific drive ID for SharePoint sites or app-only auth. |
| `table_id` | string | Yes | The ID of the table. |
| `column_id` | string | Yes | The ID of the column to clear filter from. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear All Table Filters

**Slug:** `MICROSOFT_365_CLEAR_TABLE_FILTERS`

Clear All Table Filters

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Table Sort

**Slug:** `MICROSOFT_365_CLEAR_TABLE_SORT`

Clear Table Sort

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clone Team

**Slug:** `MICROSOFT_365_CLONE_TEAM`

Tool to clone a Microsoft Teams team using the team ID. Use when you need to create a copy of an existing team including its structure, channels, and tabs. This is an asynchronous operation; poll the returned location URL to monitor progress.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team to clone. |
| `visibility` | string ("private" | "public" | "hiddenMembership" | "unknownFutureValue") | No | Visibility type for the cloned team. |
| `description` | string | No | An optional description for the cloned team. If not provided, it takes the value of displayName. |
| `displayName` | string | Yes | The display name for the cloned team. This property is required when a team is cloned. |
| `mailNickname` | string | Yes | The mail alias for the cloned team. This property must be specified when a team is cloned. Must be unique in the organization. |
| `partsToClone` | string | No | Comma-separated list of parts to clone. Valid values: 'apps', 'tabs', 'settings', 'channels', 'members'. Defaults to a full clone (all five parts). Pass a narrower list to exclude parts; omitting 'members' clones a members-less team. |
| `classification` | string | No | Optional label describing the data or business sensitivity of the cloned team. Must match a preconfigured value in the tenant's directory. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Close Excel Session

**Slug:** `MICROSOFT_365_CLOSE_SESSION`

Tool to close an existing Excel workbook session. Use when you need to explicitly end a persistent session to release workbook locks. Note: The Microsoft Graph closeSession API is idempotent - it returns 204 for both active and already-closed sessions. This action validates the session first and returns an error for invalid or already-closed sessions to provide clearer user feedback. The validation uses refreshSession which is the only API endpoint that can detect closed sessions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) to close the session for. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. |
| `session_id` | string | Yes | The workbook session ID to close. Must be a valid session ID format obtained from EXCEL_GET_SESSION. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Complete Task

**Slug:** `MICROSOFT_365_COMPLETE_TASK`

Mark a Microsoft To Do task as completed. Convenience wrapper that always PATCHes status='completed'; the server auto-sets completedDateTime. Use Update Task to reopen a task (status='notStarted') or to change other fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list that contains the task. |
| `task_id` | string | Yes | Id of the task to mark as completed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Convert Table To Range

**Slug:** `MICROSOFT_365_CONVERT_TABLE_TO_RANGE`

Convert a table to a range using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `table_id` | string | Yes | The ID of the table to convert to a range. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy DOCX

**Slug:** `MICROSOFT_365_COPY_DOCX`

Copy a Graph DOCX item with both a .docx filename and DOCX MIME type to a OneDrive or SharePoint folder, wait boundedly for the asynchronous operation, and return verified destination metadata. If waiting times out, the server-side copy may continue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `new_name` | string | No | New filename ending in .docx; omit to keep the source filename. Cannot be combined with include_all_version_history because Graph can ignore version-history copying when a new name is supplied. |
| `source_item_id` | string | Yes | Source DOCX driveItem ID. |
| `source_drive_id` | string | Yes | Drive containing the source DOCX. |
| `destination_drive_id` | string | Yes | Drive where the copied DOCX will be created. |
| `wait_timeout_seconds` | number | No | Maximum time to wait for Microsoft to report completion. A timeout is ambiguous because the server-side copy can continue. |
| `destination_folder_id` | string | Yes | Destination folder driveItem ID. |
| `include_all_version_history` | boolean | No | Copy all source versions instead of only the latest version. Requires new_name to be omitted because Graph can ignore version-history copying when a new name is supplied. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy notebook in group

**Slug:** `MICROSOFT_365_COPY_GROUP_NOTEBOOK`

Copies a OneNote notebook to the Notebooks folder in the destination Documents library. The notebook is copied asynchronously. This action initiates the copy operation and returns a 202 Accepted response with an Operation-Location header. Use the OnenoteOperationGet action to poll the Operation-Location endpoint to check the status of the copy operation until it completes. Use this action when you need to duplicate a notebook within a Microsoft 365 group, or copy it to a different group's documents library. The copied notebook's folder is created in the destination Documents library if it doesn't exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | No | The ID of the destination Microsoft 365 group to copy the notebook to. Use only when copying to a different Microsoft 365 group. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group containing the notebook. |
| `renameAs` | string | No | The name to assign to the copied notebook. If not specified, the copy retains the name of the original notebook. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook to copy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy Item

**Slug:** `MICROSOFT_365_COPY_ITEM`

Copies a DriveItem file or folder, optionally renaming it or specifying a destination folder. Copy requests may be asynchronous; a monitor URL is returned when supplied by the service, and an accepted request does not mean the copy is complete.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the copied item. If not provided, the same name as the original is used. Recommended to provide either 'name' or 'parent_reference' for reliable operation. |
| `item_id` | string | Yes | The ID of the DriveItem to be copied. |
| `site_id` | string | No | The ID of the site if the item is in a SharePoint site. |
| `user_id` | string | No | The ID of the user if accessing another user's drive. |
| `drive_id` | string | No | The ID of the drive where the item is located. If not provided, 'me' (user's default drive) is assumed. |
| `group_id` | string | No | The ID of the group if the item is in a group drive. |
| `children_only` | boolean | No | If set to true, only the children of the source driveItem (if it's a folder) are copied, not the driveItem itself. Defaults to false. Cannot be used with name parameter. |
| `parent_reference` | object | No | Reference to the parent item (folder) where the copy will be created. If not provided, the item is copied to the same location. Recommended to provide either 'name' or 'parent_reference' for reliable operation. Must use stable OneDrive item IDs (not paths or names), as paths break on rename/relocation. Resolve names/paths first using ONE_DRIVE_SEARCH_ITEMS or ONE_DRIVE_ONEDRIVE_FIND_FOLDER. Expected keys: `driveId` and `id`. |
| `conflict_behavior` | string ("fail" | "replace" | "rename") | No | Specifies how to handle a naming conflict if an item with the same name already exists in the destination. 'fail' (default), 'replace', or 'rename'. |
| `include_all_version_history` | boolean | No | If set to true, the version history of the source file is copied to the destination. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy user's mail folder

**Slug:** `MICROSOFT_365_COPY_MAIL_FOLDER`

Tool to copy a user's mail folder and its contents to another folder. Use when you need to duplicate a folder structure for a specific user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Identifier of the user. Can be the user's ID, userPrincipalName (email address), or 'me' for the authenticated user. |
| `destination_id` | string | Yes | The folder ID or a well-known folder name where the folder should be copied to. The copied folder will be placed in this destination. |
| `mail_folder_id` | string | Yes | The ID of the mail folder to copy. Can be a folder ID or a well-known folder name (e.g., 'inbox', 'drafts', 'sentitems'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy child mail folder

**Slug:** `MICROSOFT_365_COPY_ME_MAIL_FOLDER`

Copies a child mail folder and its contents to a destination folder in the user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `destination_id` | string | Yes | The folder ID of the destination folder, or a well-known folder name. You can provide either the folder's Microsoft Graph ID (e.g., 'AAMkAGI0ZjExAAA=') or use a well-known name like 'inbox', 'drafts', 'sentitems', 'deleteditems', etc. |
| `mail_folder_id` | string | Yes | The ID of the parent mail folder containing the child folder to copy. |
| `child_folder_id` | string | Yes | The ID of the child folder to copy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy message to folder

**Slug:** `MICROSOFT_365_COPY_MESSAGE`

Tool to copy an email message to another folder within the user's mailbox. Use when duplicating messages to multiple folders for organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique ID of the Outlook email message to copy. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy message from child folder

**Slug:** `MICROSOFT_365_COPY_MESSAGE_FROM_CHILD_FOLDER`

Tool to copy an email message from a child folder (nested folder) to another folder within the user's mailbox. Use when duplicating messages from nested folder structures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, user object ID, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique ID of the Outlook email message to copy. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destinationId` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems', 'junkemail'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For folder IDs, obtain them from OUTLOOK_LIST_MAIL_FOLDERS. Folder IDs are base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA='). |
| `child_folder_id` | string | Yes | The ID of the child folder containing the message. Obtain this from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. Child folder IDs are base64-encoded strings (e.g., 'AAMkADAwATMwMAExAAA='). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy user message from folder

**Slug:** `MICROSOFT_365_COPY_MESSAGE_FROM_MAIL_FOLDER`

Tool to copy a message from a specific user's mail folder to another folder. Use when you need to duplicate a message from a known source folder to a destination folder for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique ID of the Outlook email message to copy. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destinationId` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `mail_folder_id` | string | Yes | The ID of the source mail folder containing the message. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. Can also use well-known folder names (e.g., 'inbox', 'drafts', 'sentitems'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy Presentation

**Slug:** `MICROSOFT_365_COPY_PRESENTATION`

Start an asynchronous Microsoft Graph copy of a PowerPoint presentation. A successful result means only that Graph accepted the submission; it does not mean the copy completed or ultimately succeeded. The action never returns the bearer-equivalent Location monitor URL. Discover the result by destination and filename with FIND_PRESENTATIONS. conflict_behavior is unsupported on OneDrive Personal. To preserve all versions, omit name and rename the copy after discovery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filename for the copy, including .ppt or .pptx. Omit to retain the source name. Cannot be combined with include_all_version_history=true because Microsoft Graph can silently omit the requested history. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation to copy. |
| `drive_id` | string | No | Source drive ID; omit to use the signed-in user's default OneDrive. |
| `conflict_behavior` | string ("fail" | "rename") | No | Safe create behavior when the destination name exists: fail rejects the conflict and rename creates under a unique name. Microsoft Graph does not support this query option for OneDrive Personal accounts. |
| `destination_drive_id` | string | No | Drive ID containing destination_folder_id. Use this for a cross-drive copy; omit it to use the source drive. Invalid without a folder ID. |
| `destination_folder_id` | string | No | Destination folder DriveItem ID. Omit destination_drive_id to use the source drive; omit both to copy beside the source presentation. |
| `include_all_version_history` | boolean | No | Set true to copy all retained versions; false or omission copies only the latest version. True cannot be combined with name because Microsoft Graph can silently omit the requested history. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy Presentation and Wait

**Slug:** `MICROSOFT_365_COPY_PRESENTATION_AND_WAIT`

Submit a PowerPoint presentation copy with a required unique filename, then boundedly search the resolved destination folder for an exact-name candidate. Search results cannot be correlated to the copy request, so a discovered candidate is returned as discovered_unverified and may belong to another writer. The bearer-equivalent Graph monitor URL is never returned or read. An exact-name search result is returned only as an uncorrelated candidate, never as confirmed completion, because Graph's secret monitor URL is not exposed or consumed. A timeout or indeterminate result is not proof of failure: verify the destination before retrying. All-version-history copies require the asynchronous COPY_PRESENTATION workflow because Graph does not safely combine that option with a discovery name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Required unique filename for bounded destination discovery; must end in .ppt or .pptx. A matching item is an uncorrelated candidate, not confirmed copy completion. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation to copy. |
| `drive_id` | string | No | Source drive ID; omit to use the signed-in user's default OneDrive. |
| `max_poll_attempts` | integer | No | Maximum destination discovery requests after submission (1-8); defaults to 6. Combined with poll_interval_seconds, the sleep budget cannot exceed 35 seconds, leaving at least 25 seconds for provider calls within the 60-second execution limit. |
| `destination_drive_id` | string | No | Drive containing destination_folder_id. Omit for the source drive; invalid without a destination folder. |
| `destination_folder_id` | string | No | Destination folder DriveItem ID. Omit to copy beside the source presentation. |
| `poll_interval_seconds` | number | No | Seconds between destination discovery requests (0-10); defaults to 7, producing five sleeps and a 35-second default sleep budget. |
| `include_all_version_history` | boolean | No | Set true to request all retained versions. Microsoft Graph does not allow this option together with the required discovery name, so true is unsupported by this action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy section to notebook (site context)

**Slug:** `MICROSOFT_365_COPY_SECTION_TO_NOTEBOOK2`

Copy a site-hosted OneNote section to a notebook in the same SharePoint site. The copy is asynchronous; poll the returned operation URL for its status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the destination notebook. |
| `site_id` | string | Yes | The composite Graph ID of the SharePoint site containing the source section (hostname,siteCollectionId,webId). |
| `group_id` | string | No | Legacy destination Microsoft 365 group ID retained for compatibility. |
| `rename_as` | string | No | Name for the copied section. Defaults to the source section name. |
| `section_id` | string | Yes | The ID of the source OneNote section. |
| `notebook_id` | string | No | Deprecated and ignored. Graph identifies the source section directly by section_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy section to notebook (user)

**Slug:** `MICROSOFT_365_COPY_SECTION_TO_NOTEBOOK_FOR_USER2`

Copies a user's OneNote section to a specified notebook. The operation is asynchronous and returns an operation location to poll for the final outcome; the copy does not remove the source section.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the destination notebook to copy the section into. Required. |
| `user_id` | string | Yes | The unique identifier (ID or userPrincipalName) of the user who owns the section. |
| `group_id` | string | No | The ID of the Microsoft 365 group to copy the section to. Use only when copying to a Microsoft 365 group. |
| `rename_as` | string | No | The name to assign to the copied section. If not specified, defaults to the name of the original section. |
| `section_id` | string | Yes | The unique identifier of the OneNote section to copy. |
| `notebook_id` | string | No | Deprecated and ignored. The section ID uniquely identifies the source section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy group section to section group

**Slug:** `MICROSOFT_365_COPY_SECTION_TO_SECTION_GROUP`

Copies a OneNote section from a Microsoft 365 group's notebook into another section group. Use this action when you need to duplicate an existing OneNote section that lives in a Microsoft 365 group's notebook into a different section group. The operation is asynchronous and returns an Operation-Location header that should be polled to get the final result. The copy is additive and does not remove the source section. Poll the returned Operation-Location value to determine the final outcome.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the destination section group where the section will be copied. Required. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group whose notebook owns the source section. |
| `rename_as` | string | No | The name to assign to the copied section. If not specified, defaults to the name of the original section. |
| `section_id` | string | Yes | The unique identifier of the source section to copy. |
| `destination_group_id` | string | No | The destination Microsoft 365 group ID. Omit when copying within the source group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy section to section group (user)

**Slug:** `MICROSOFT_365_COPY_SECTION_TO_SECTION_GROUP_FOR_USER`

Copies a user's OneNote section to a specified section group. The operation is asynchronous and returns an operation location to poll for the final outcome; the copy does not remove the source section.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the destination section group where the section will be copied. Required. |
| `user_id` | string | Yes | The unique identifier (ID or userPrincipalName) of the user who owns the section. |
| `group_id` | string | No | The ID of the Microsoft 365 group to copy to. Use only when copying to a Microsoft 365 group. |
| `rename_as` | string | No | The name to assign to the copied section. If not specified, defaults to the name of the original section. |
| `section_id` | string | Yes | The unique identifier of the source section to copy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy notebook in site

**Slug:** `MICROSOFT_365_COPY_SITE_NOTEBOOK`

Copies a OneNote notebook within a SharePoint site. Use this action when you need to duplicate a notebook within a SharePoint site. This is an asynchronous operation. Poll the returned operation URL to check whether the copy has completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder` | string | No | Deprecated compatibility field. Microsoft Graph does not accept a destination folder for this operation. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site containing the notebook. |
| `renameAs` | string | No | The name to assign to the copied notebook. If not specified, the copy retains the name of the original notebook. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook to copy. |
| `destinationId` | string | No | Deprecated compatibility field. The live Graph operation copies within the site identified by site_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy site page to section

**Slug:** `MICROSOFT_365_COPY_SITE_PAGE_TO_SECTION3`

Copy a site-hosted OneNote page to a section natively.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The destination section ID. |
| `siteId` | string | No | Legacy destination web override. Defaults to the third component of site_id. |
| `groupId` | string | No | The destination Microsoft 365 group ID. |
| `page_id` | string | Yes | The unique identifier of the page to copy. |
| `site_id` | string | Yes | The composite Graph ID of the SharePoint site containing the page (hostname,siteCollectionId,webId). |
| `siteCollectionId` | string | No | Legacy destination site collection override. Defaults to the second component of site_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy user notebook

**Slug:** `MICROSOFT_365_COPY_USER_NOTEBOOK`

Start an asynchronous copy of a user OneNote notebook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | Source user ID or principal name. Defaults to the signed-in user (`me`). |
| `rename_as` | string | No | Optional name for the copied notebook. |
| `notebook_id` | string | Yes | ID of the notebook to copy. |
| `destination_group_id` | string | No | Destination Microsoft 365 group ID. Omit to copy within the user's library. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy user page to section

**Slug:** `MICROSOFT_365_COPY_USER_PAGE_TO_SECTION`

Start an asynchronous copy of a user's OneNote page to a specified section, optionally in a Microsoft 365 group. The returned operation location can be polled to determine the outcome.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Required. The unique identifier of the destination section to copy the page to. |
| `groupId` | string | No | The unique identifier of the destination Microsoft 365 group. Use only when copying to a group. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to copy. |
| `user_id` | string | Yes | The unique identifier or user principal name of the user who owns the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count messages

**Slug:** `MICROSOFT_365_COUNT_MESSAGES`

Count all messages, or messages matching an OData filter or KQL search, in an Outlook mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No | Raw Microsoft Graph OData $filter expression applied before counting. Omit the '$filter=' prefix. |
| `search` | string | No | Microsoft Graph message $search expression using Keyword Query Language (KQL). Omit the '$search=' prefix. Cannot be combined with filter. |
| `user_id` | string | No | Mailbox to count messages in. Use 'me' for delegated authentication; for application authentication, provide the user's ID or user principal name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count user section group sections

**Slug:** `MICROSOFT_365_COUNT_NOTEBOOKS_SECTION_GROUPS_SECTIONS`

Gets the provider-reported count of OneNote sections directly within a user's section group. Use this action when you need to quickly determine the number of sections in a section group without retrieving the full list of section objects. This is a read-only operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `section_group_id` | string | Yes | The unique identifier of the section group whose sections to count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count site section group sections

**Slug:** `MICROSOFT_365_COUNT_SITE_NOTEBOOK_SECTION_GROUPS_SECTIONS`

Gets the provider-reported count of sections directly within a SharePoint site's OneNote section group. Use this action when you need to quickly determine the number of sections in a section group without retrieving the full list of section objects. Microsoft Graph requires the `ConsistencyLevel: eventual` header when using the `$count=true` query parameter on OneNote endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | The unique identifier of the SharePoint site. |
| `notebook_id` | string | No | Deprecated and ignored. The section group ID uniquely identifies the section group. |
| `section_group_id` | string | Yes | The unique identifier of the section group whose sections to count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Appointment

**Slug:** `MICROSOFT_365_CREATE_APPOINTMENT`

Create an appointment for a service at explicit start and end times, optionally assigning staff and customer details. Microsoft Bookings may send customers a confirmation email; opt_out_of_customer_email requests suppression but does not guarantee non-delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price` | number | No | Appointment price. |
| `customers` | array | No | Customers attached to the appointment. |
| `reminders` | array | No | Reminder messages and offsets for the appointment. |
| `pre_buffer` | string | No | ISO 8601 setup duration before the appointment. |
| `price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet" | "unknownFutureValue") | No | How the appointment price is interpreted. |
| `service_id` | string | Yes | ID of the service being booked. |
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `post_buffer` | string | No | ISO 8601 cleanup duration after the appointment. |
| `end_date_time` | object | Yes | Appointment end with its interpretation time zone; it must be later than the start. |
| `service_notes` | string | No | Service notes stored on this appointment. |
| `start_date_time` | object | Yes | Appointment start with its interpretation time zone. |
| `service_location` | object | No | Location for this appointment. |
| `staff_member_ids` | array | No | IDs of staff assigned to the appointment. |
| `appointment_label` | string | No | Label used to categorize the appointment. |
| `customer_time_zone` | string | No | Customer's Windows time-zone name. |
| `is_location_online` | boolean | No | Whether this is an online appointment. |
| `additional_information` | string | No | Information included with the appointment. |
| `maximum_attendees_count` | integer | Yes | Maximum attendees allowed; use more than one for multi-customer appointments. |
| `opt_out_of_customer_email` | boolean | No | Ask Microsoft Bookings not to send the customer confirmation email. This preference does not guarantee that no email is delivered. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when the service supports them. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage this booking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create attachment upload session

**Slug:** `MICROSOFT_365_CREATE_ATTACHMENT_UPLOAD_SESSION`

Tool to create an upload session for large (>3 MB) message attachments. Use when you need to upload attachments in chunks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message to attach to. |
| `attachment_item` | object | Yes | AttachmentItem object describing the attachment in the upload session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create attachment upload session in child folder

**Slug:** `MICROSOFT_365_CREATE_ATTACHMENT_UPLOAD_SESSION_IN_CHILD_FOLDER`

Tool to create an upload session for large (>3 MB) message attachments in child mail folders. Use when you need to upload attachments to messages in nested folder structures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message to attach to. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA='). |
| `attachment_item` | object | Yes | AttachmentItem object describing the attachment in the upload session. |
| `child_folder_id` | string | Yes | The unique identifier of the child mail folder. This is a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA='). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Booking Business

**Slug:** `MICROSOFT_365_CREATE_BOOKING_BUSINESS`

Create a shared booking business with the supplied display name. The business starts unpublished and can then be configured with the update tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_name` | string | Yes | Customer-facing name for the new booking business. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar

**Slug:** `MICROSOFT_365_CREATE_CALENDAR`

Creates a new calendar in the signed-in user's or a specified user's mailbox, for organizing events into a separate calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name of the new calendar. |
| `color` | string ("auto" | "lightBlue" | "lightGreen" | "lightOrange" | "lightGray" | "lightYellow" | "lightTeal" | "lightPink" | "lightBrown" | "lightPurple" | "lightRed") | No | The theme color to assign to the calendar. Supported values: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightPurple, lightRed. |
| `user_id` | string | No | The UPN (User Principal Name) or object ID of the user where the calendar will be created. Use 'me' for the signed-in user. |
| `hex_color` | string | No | An optional hexadecimal color code for the calendar in the format '#RRGGBB'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Event in Calendar (Deprecated)

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_EVENT`

DEPRECATED: Use OUTLOOK_CREATE_USER_CALENDAR_CALENDAR_EVENT instead. Tool to create a new event in a specific Outlook calendar. Use when you need to add an event to a particular calendar by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | The body of the event. This can be in plain text or HTML format, as specified by the 'is_html' field. Optional - events can be created without a body. |
| `is_html` | boolean | No | Specifies whether the 'body' content is HTML. Set to true for HTML content; otherwise, it's treated as plain text. |
| `show_as` | string | No | The status to show on the calendar for the duration of the event. Valid values are: 'free', 'tentative', 'busy', 'oof' (out of office), 'workingElsewhere', 'unknown'. |
| `subject` | string | Yes | The subject of the calendar event. |
| `user_id` | string | No | The user ID (GUID) or user principal name (email) of the user. Required for S2S (app-only) authentication. If not provided, defaults to the authenticated user (/me endpoint). |
| `location` | string | No | The physical location of the event. |
| `time_zone` | string | Yes | The time zone for the start and end times of the event. Uses Windows time zone names (e.g., 'Pacific Standard Time') or IANA time zone names (e.g., 'America/Los_Angeles'). UTC is also a valid input. |
| `categories` | array | No | A list of category names to associate with the event. The API accepts any string values. For best compatibility with Outlook UI color-coding, use category names from the user's master category list. Category names are case-insensitive and duplicates will be automatically removed. |
| `importance` | string | No | The importance of the event. Valid values are 'low', 'normal', 'high'. Defaults to 'normal'. |
| `recurrence` | object | No | The recurrence pattern and range for an event. |
| `calendar_id` | string | Yes | The ID of the calendar where the event will be created. Use calendar ID from the listCalendars action. |
| `end_datetime` | string | Yes | The event's end date and time. Prefer local YYYY-MM-DDTHH:MM:SS with the IANA or Windows zone in time_zone. Z or a numeric offset is accepted only when it agrees with time_zone. |
| `attendees_info` | array | No | A list of attendees for the event. Accepts multiple formats: (1) Simple email strings (e.g., ['user@example.com']), (2) Attendee objects with 'email' (required), 'name' (optional), and 'type' (optional: 'required', 'optional', 'resource', defaults to 'required'), (3) Microsoft Graph-style objects with nested 'emailAddress' containing 'address' and 'name' fields. |
| `start_datetime` | string | Yes | The event's start date and time. Prefer local YYYY-MM-DDTHH:MM:SS with the IANA or Windows zone in time_zone. Z or a numeric offset is accepted only when it agrees with time_zone. |
| `is_online_meeting` | boolean | No | Set to true to indicate that the event is an online meeting. This will automatically generate an online meeting link if 'online_meeting_provider' is set (e.g., a Microsoft Teams link). |
| `online_meeting_provider` | string | No | Specifies the online meeting provider. Currently, only 'teamsForBusiness' is supported. If 'is_online_meeting' is true and this is set, a meeting link for the provider will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar event attachment

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_EVENT_ATTACHMENT`

Creates a file or item attachment on an event in a specific calendar using the authenticated user's mailbox. This action supports delegated access, not app-only authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload; required when '@odata.type' is itemAttachment. |
| `name` | string | Yes | The display name of the attachment. |
| `event_id` | string | Yes | The unique opaque identifier of the calendar event (NOT an email address). This is typically a long string starting with 'AAMkA' or 'AQMkA'. Obtain it from listing or searching calendar events. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment") | Yes | Attachment type: '#microsoft.graph.fileAttachment' requires 'contentBytes'; '#microsoft.graph.itemAttachment' requires 'item'. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. This is typically a long string identifying the specific calendar. |
| `content_bytes` | string | No | MUST be base64-encoded file contents (not plain text); required when '@odata.type' is fileAttachment. Raw/plain text must be base64-encoded first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar event attachment upload session

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_EVENT_ATTACHMENT_UPLOAD_SESSION`

Tool to create an upload session for large calendar event attachments in a specific calendar. Use when attaching files larger than 3 MB to Outlook calendar events in a specific calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID) or user principal name (email) whose calendar contains the event. Required for S2S (app-only) authentication. If not provided, uses the authenticated user context (/me endpoint). |
| `event_id` | string | Yes | The unique identifier of the calendar event to attach the file to. Obtain from listing or searching calendar events. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. Obtain from listing calendars. |
| `attachment_item` | object | Yes | AttachmentItem object specifying the type, name, and size of the attachment to upload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create event in specific calendar

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_EVENT_IN_CALENDAR`

Tool to create a new event in a specific calendar for a user. Use when you need to create events in a specific calendar (e.g., shared or secondary calendars).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | object | Yes | The end date, time, and time zone of the event. |
| `body` | object | No | The body content of an event. |
| `start` | object | Yes | The start date, time, and time zone of the event. |
| `subject` | string | Yes | The subject/title of the event. |
| `user_id` | string | Yes | The user identifier for the calendar owner. Must be either 'me' (for the authenticated user), a Microsoft 365 User Principal Name (e.g., user@contoso.com), or an Azure AD object ID (GUID). |
| `location` | object | No | Location information for an event. |
| `attendees` | array | No | A list of attendees for the event. Optional - events can be created without attendees. |
| `recurrence` | object | No | The recurrence pattern and range for an event. |
| `calendar_id` | string | Yes | The unique identifier of the calendar where the event will be created. This allows creating events in specific calendars (e.g., shared calendars, secondary calendars). |
| `is_online_meeting` | boolean | No | True to indicate that the event is an online meeting. This will automatically generate an online meeting link if onlineMeetingProvider is set. |
| `online_meeting_provider` | string | No | The online meeting provider. Currently, only 'teamsForBusiness' is supported. |
| `allow_new_time_proposals` | boolean | No | True if the meeting organizer allows invitees to propose a new time when responding. Default is true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar group

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_GROUP`

Tool to create a new calendar group for a user. Use when needing to organize calendars into groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the calendar group. |
| `user_id` | string | Yes | The user's principal name (UPN) or object ID. Must be an actual user ID (not 'me'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar group event attachment

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_GROUP_CALENDAR_EVENT_ATTACHMENT`

Tool to create a new attachment for an event in a calendar within a calendar group for a specific user. Use when you need to attach a file or item to an event in a user's calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload; required when '@odata.type' is itemAttachment. |
| `name` | string | Yes | The display name of the attachment. |
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique opaque identifier of the calendar event (NOT an email address). This is typically a long string starting with 'AAMkA' or 'AQMkA'. Obtain it from listing or searching calendar events. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment") | Yes | Attachment type: '#microsoft.graph.fileAttachment' requires 'contentBytes'; '#microsoft.graph.itemAttachment' requires 'item'. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `content_bytes` | string | No | MUST be base64-encoded file contents (not plain text); required when '@odata.type' is fileAttachment. Raw/plain text must be base64-encoded first. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the target calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create event extension

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_GROUP_CALENDAR_EVENT_EXTENSION`

Tool to create a new open extension on a calendar event within a specific calendar group and calendar. Use when you need to store custom data with an event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to add the extension to. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow the format 'Com.Company.ExtensionName' (e.g., Com.Contoso.EventTest). |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Calendar Permission

**Slug:** `MICROSOFT_365_CREATE_CALENDAR_PERMISSION`

Tool to create a calendar permission for a specific calendar in a calendar group. Use when granting access to a calendar for another user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("none" | "freeBusyRead" | "limitedRead" | "read" | "write" | "delegateWithoutPrivateEventAccess" | "delegateWithPrivateEventAccess" | "custom") | Yes | The permission role to grant. Options: none (no access), freeBusyRead (view availability only), limitedRead (view availability and titles), read (view all event details), write (view and edit events), delegateWithoutPrivateEventAccess (delegate access excluding private events), delegateWithPrivateEventAccess (full delegate access including private events), custom (custom permissions). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `calendar_id` | string | Yes | The ID of the calendar to which the permission will be added. |
| `is_removable` | boolean | No | True if the permission can be removed by the user, false otherwise. Optional. |
| `email_address` | object | Yes | Email address object containing the name and address of the person receiving the permission. |
| `calendar_group_id` | string | Yes | The ID of the calendar group containing the calendar. |
| `is_inside_organization` | boolean | No | True if the user is inside the same organization as the calendar owner, false otherwise. Optional. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar group event attachment upload session

**Slug:** `MICROSOFT_365_CREATE_CAL_GROUP_EVENT_ATTACH_UPLOAD`

Tool to create an upload session for large calendar group event attachments. Use when attaching files larger than 3 MB to events in calendar groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or user principal name. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to attach the file to. Obtain from listing or searching calendar events. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. Obtain from listing calendars in the group. |
| `attachment_item` | object | Yes | AttachmentItem object specifying the type, name, and size of the attachment to upload. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. Obtain from listing calendar groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Call Operation

**Slug:** `MICROSOFT_365_CREATE_CALL_OPERATION`

Tool to create a new operation for a communications call. Use when you need to initiate a new operation on an active call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("notStarted" | "running" | "completed" | "failed") | No | Initial status of the operation. Possible values: notStarted, running, completed, failed. |
| `call_id` | string | Yes | The unique identifier of the call to create an operation for. |
| `odata_type` | string | No | The OData type of the operation entity. Must be '#microsoft.graph.commsOperation'. |
| `client_context` | string | No | Optional client context string for tracking the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a channel

**Slug:** `MICROSOFT_365_CREATE_CHANNEL`

Tool to create a new standard, private, or shared channel within a Microsoft Teams team. Use when you need to create a new channel for team collaboration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name for the new channel. Maximum length is 50 characters. Cannot contain the following characters: ~ # % & * { } + / \ : < > ? &#124; ' " , or control characters. Cannot start with an underscore (_) or period (.) |
| `members` | string | No | JSON string containing array of conversationMember objects to add as owners/members when creating private or shared channels. Each member object should include '@odata.type' (e.g., '#microsoft.graph.aadUserConversationMember'), 'user@odata.bind' (user URL), and 'roles' array (e.g., ['owner']). Required for private and shared channels to specify at least one owner. Maximum 200 members for private channels. For shared channels, only one owner can be added initially. |
| `team_id` | string | Yes | The GUID of the existing Microsoft Teams team where the new channel will be created. |
| `description` | string | No | An optional, user-friendly description of the channel's purpose. Maximum length is 1024 characters. |
| `membership_type` | string | No | Membership type determining channel accessibility: 'standard' is accessible to all team members, 'private' is only accessible to a specific subset of team members, and 'shared' can be shared with people outside the team or organization (requires appropriate policies). |
| `created_date_time` | string | No | The timestamp for when the channel was created. Only used when creating a channel in migration mode by including '@microsoft.graph.channelCreationMode': 'migration' in the request. Format: ISO 8601 datetime string (e.g., '2020-03-14T11:22:17.067Z'). |
| `shared_with_teams` | string | No | JSON string containing array of team objects to share the channel with when creating a shared channel. Each object should contain an 'id' field with the team ID. Use this to share the channel with the host team or other teams. |
| `is_favorite_by_default` | boolean | No | Indicates whether the channel should be marked as recommended for all members of the team to show in their channel list. Can only be set during creation. Defaults to false if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Checklist Item

**Slug:** `MICROSOFT_365_CREATE_CHECKLIST_ITEM`

Add a checklist item (subtask) to a Microsoft To Do task in a specified task list. The created item is returned with its ID, display name, checked state, and creation time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task (path param todoTaskListId). |
| `task_id` | string | Yes | Id of the task to add the subtask to (path param taskId). |
| `is_checked` | boolean | No | Whether the item starts checked (completed). Defaults server-side to false. |
| `display_name` | string | Yes | Text of the checklist item / subtask. Required — maps to the 'displayName' body field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Comment

**Slug:** `MICROSOFT_365_CREATE_COMMENT`

Create a plain-text Excel cell comment through Microsoft Graph beta. This beta operation requires a delegated work or school account. Microsoft does not support beta APIs for production applications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The plain-text comment content. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `cell_address` | string | Yes | The A1-style cell address, including the worksheet, such as Sheet1!A1. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create contact

**Slug:** `MICROSOFT_365_CREATE_CONTACT`

Creates a new contact in a Microsoft Outlook user's contacts folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Personal notes about the contact. These notes are stored as 'personalNotes' in the Outlook contact details. |
| `userId` | string | No | Identifier for the user whose contact list will be modified. Use 'me' for the authenticated user (recommended), or provide the user's object ID (GUID) or userPrincipalName (UPN). The UPN is typically in email format (e.g., 'user@contoso.com') and must match an existing user in your Azure AD tenant. |
| `surname` | string | No | The contact's surname (last name). |
| `birthday` | string | No | The contact's birthday in 'YYYY-MM-DD' format. The time component will be set to midnight UTC (e.g., '1990-01-01' becomes '1990-01-01T00:00:00Z' in the API request). |
| `jobTitle` | string | No | The contact's job title. |
| `givenName` | string | No | The contact's given (first) name. |
| `homePhone` | string | No | The contact's home phone number. If provided, this will be stored in Outlook as a list containing this single number. |
| `categories` | array | No | A list of categories to assign to the contact. |
| `department` | string | No | The department the contact belongs to within their company. |
| `companyName` | string | No | The name of the company the contact is associated with. |
| `displayName` | string | No | The contact's display name, typically their full name. |
| `mobilePhone` | string | No | The contact's mobile phone number. |
| `businessPhones` | array | No | A list of business phone numbers for the contact. Each number should be a string. |
| `emailAddresses` | array | No | A list of email addresses for the contact. Each item must be an object with an `address` field (string) and optionally a `name` field (e.g., `[{'address': 'jane@example.com', 'name': 'Jane Doe'}]`). Plain strings are not accepted. |
| `officeLocation` | string | No | The contact's office location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create contact folder

**Slug:** `MICROSOFT_365_CREATE_CONTACT_FOLDER`

Tool to create a new contact folder in the user's mailbox. Use when needing to organize contacts into custom folders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's principal name or object ID. Use 'me' for the authenticated user. |
| `display_name` | string | Yes | The display name of the new contact folder. |
| `parent_folder_id` | string | No | The ID of the parent contact folder. If omitted, created under the default contacts folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user contact folder child folder

**Slug:** `MICROSOFT_365_CREATE_CONTACT_FOLDER_CHILD_FOLDER`

Tool to create a child contact folder within a parent contact folder for a specific user. Use when you need to organize contacts into nested folder hierarchies for a given user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can use 'me' as a shortcut for the authenticated user, or provide user ID or userPrincipalName. |
| `display_name` | string | Yes | The display name of the new child contact folder. |
| `contact_folder_id` | string | Yes | The ID of the parent contact folder under which to create the child folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Content Sharing Session

**Slug:** `MICROSOFT_365_CREATE_CONTENT_SHARING_SESSION`

Tool to create a content sharing session in a Microsoft Teams call. Use when you need to initiate content sharing during an active call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `call_id` | string | Yes | Unique identifier of the call in which to create the content sharing session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `MICROSOFT_365_CREATE_CUSTOMER`

Create a saved customer in one booking business with structured contact details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phones` | array | No | Customer telephone numbers with typed labels. |
| `addresses` | array | No | Customer postal addresses. |
| `business_id` | string | Yes | ID of the booking business that will own the customer. |
| `display_name` | string | Yes | Customer's display name. |
| `email_address` | string | No | Customer's email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Custom Question

**Slug:** `MICROSOFT_365_CREATE_CUSTOM_QUESTION`

Create a text or single-choice intake question for one booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that will own the custom question. |
| `display_name` | string | Yes | Question text shown to customers. |
| `answer_options` | array | No | Allowed choices for a radioButton question. |
| `answer_input_type` | string ("text" | "radioButton" | "unknownFutureValue") | No | Expected answer type; radioButton uses answer_options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Document Set Version

**Slug:** `MICROSOFT_365_CREATE_DOCUMENT_SET_VERSION`

Capture a new version of a document set item in a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional comment about the captured version. |
| `item_id` | string | Yes | ID of the document set list item to capture. |
| `list_id` | string | Yes | ID of the list containing the document set. |
| `site_id` | string | Yes | SharePoint site ID, typically hostname,siteCollectionId,webId. |
| `should_capture_minor_version` | boolean | No | If true, also capture minor versions of items; otherwise capture only major versions. If omitted, Microsoft Graph defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create DOCX

**Slug:** `MICROSOFT_365_CREATE_DOCX`

Create a safe DOCX containing styled paragraphs and formatted runs, bullet or decimal lists, rectangular tables, or constrained HTML/Markdown source with safe external links and inline or fenced code rendered in Courier New, plus validated inline PNG/JPEG images, page breaks, and default/first/even headers and footers. Literal content is escaped and raw XML or image URLs are never accepted. The create-only default fails on a filename conflict. overwrite_existing remains available for backward compatibility; prefer UPSERT_DOCX when replacement is intended.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `blocks` | array | No | Ordered paragraph, table, inline-image, and page-break blocks. Legacy objects containing only text and style remain valid paragraphs. |
| `source` | string | No | Constrained HTML or Markdown source. Provide exactly one of source or blocks; parsed content is converted to the same validated block model. |
| `footers` | object | No | Optional default, first, and even footer paragraphs. |
| `headers` | object | No | Optional default, first, and even header paragraphs. |
| `drive_id` | string | Yes | Destination OneDrive or SharePoint document-library drive ID. |
| `filename` | string | Yes | Destination filename ending in .docx. Path separators are rejected. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. Keep the recommended auto setting to use direct upload through 10 MiB and resilient resumable upload above it. Force direct only when resumability is unwanted, or resumable when interruption recovery is required for a smaller document. |
| `parent_folder_id` | string | Yes | Destination folder driveItem ID. |
| `overwrite_existing` | boolean | No | Deprecated compatibility field. When true, replace a same-name item; prefer UPSERT_DOCX for that intent. The safe false default creates only and fails on a name conflict. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create DOCX sharing link

**Slug:** `MICROSOFT_365_CREATE_DOCX_SHARING_LINK`

Create a view, edit, or embed sharing link for a verified DOCX. When link_scope is omitted, Graph uses the drive's default scope, which can be anonymous. Returns Graph's capability-bearing URL; treat it as a secret. Sharing can change the document eTag, so call READ_DOCX again before editing. Setting retain_inherited_permissions=false removes all existing permissions when the item is shared for the first time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | Drive containing the DOCX to share. |
| `link_type` | string ("view" | "edit" | "embed") | No | Link behavior: read-only view, read-write edit, or embeddable embed. Defaults to view. |
| `link_scope` | string ("anonymous" | "organization" | "users") | No | Optional audience: anonymous, organization, or specified users. When omitted, Graph uses the drive's default link scope, which can be anonymous. |
| `sharing_passcode` | string | No | Optional password sent to Graph for this link. Availability depends on tenant sharing policy and plan; personal OneDrive may require a Microsoft 365 Personal or Family paid plan. |
| `expiration_datetime` | string | No | Optional link expiration timestamp in ISO 8601 format. On personal OneDrive, this capability may require a Microsoft 365 Personal or Family paid plan. |
| `retain_inherited_permissions` | boolean | No | Whether to retain inherited permissions when sharing the item for the first time. Setting false removes all existing permissions, which is destructive; omit to use Graph's default behavior. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create email draft

**Slug:** `MICROSOFT_365_CREATE_DRAFT`

Creates a new Outlook email draft with subject, body, recipients, and an optional attachment. This action creates a standalone draft for new conversations. To create a draft reply to an existing conversation/message, use the OUTLOOK_CREATE_DRAFT_REPLY action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | Yes | Content of the email draft; use `is_html` to specify if HTML or plain text. |
| `is_html` | boolean | No | Specifies if the `body` is HTML. If `False`, `body` is plain text. Set to `True` when `body` contains HTML markup; otherwise markup renders as literal text. |
| `subject` | string | Yes | Subject line for the email draft. |
| `user_id` | string | No | User ID (GUID) or user principal name (email) for S2S (app-only) authentication. Required when using application permissions. If not provided, defaults to '/me' endpoint for delegated authentication. |
| `attachment` | string | No | Optional file(s) to attach. Accepts a single file or a list of files. |
| `cc_recipients` | array | No | Optional list of CC (carbon copy) recipient email addresses. Must be provided as an array of strings, e.g., ["cc@example.com"]. |
| `to_recipients` | array | No | Optional list of primary 'To' recipient email addresses. Must be provided as an array of strings, e.g., ["user@example.com"] for a single recipient or ["user1@example.com", "user2@example.com"] for multiple recipients. Do not pass as a JSON-encoded string. Can be omitted when creating a draft to be completed later. To send the draft, at least one valid address must be present across `to_recipients`, `cc_recipients`, or `bcc_recipients`. |
| `bcc_recipients` | array | No | Optional list of BCC (blind carbon copy) recipient email addresses. Must be provided as an array of strings, e.g., ["bcc@example.com"]. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a draft reply

**Slug:** `MICROSOFT_365_CREATE_DRAFT_REPLY`

Creates a draft reply in the specified user's Outlook mailbox to an existing message (identified by a valid `message_id`), optionally including a `comment` and CC/BCC recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Plain text comment to include in the body of the reply draft. |
| `user_id` | string | No | User's mailbox identifier (email or 'me') for the original message and new draft location. |
| `cc_emails` | array | No | List of email addresses to add as CC recipients to the draft reply. |
| `bcc_emails` | array | No | List of email addresses to add as BCC recipients to the draft reply. |
| `message_id` | string | Yes | Required. Unique ID of the message to reply to. Obtain this from actions like 'List Messages', 'Get Message', or 'Search Messages'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create drive folder

**Slug:** `MICROSOFT_365_CREATE_DRIVE_FOLDER`

Create a child folder under a Microsoft drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the folder to create. |
| `drive_id` | string | Yes | Unique identifier of the drive in which to create the folder. |
| `parent_item_id` | string | Yes | Unique identifier of the drive item that will contain the new folder. |
| `conflict_behavior` | string ("fail" | "replace" | "rename") | No | How Microsoft Graph handles an existing item with the same name: fail, replace, or rename. Omit to use the provider default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Drive Item Permission

**Slug:** `MICROSOFT_365_CREATE_DRIVE_ITEM_PERMISSION`

Create an application or Embedded group grant, rather than invite a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Permission roles to grant, such as read, write, or owner. Role availability is enforced by Microsoft Graph. |
| `item_id` | string | Yes | Drive item ID. Embedded container root items are not supported. |
| `drive_id` | string | Yes | Microsoft Graph document library drive ID. |
| `granted_to_v2` | object | Yes | Recipient identity set. Only singular grantedToV2 is accepted; user grants must use invite instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Drive Upload Session

**Slug:** `MICROSOFT_365_CREATE_DRIVE_UPLOAD_SESSION`

Create a resumable upload session for a new file below a drive folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | Destination drive ID. |
| `if_match` | string | No | ETag precondition that requires the destination item to match. |
| `file_name` | string | Yes | Name of the new file, including its extension. |
| `defer_commit` | boolean | No | Require an explicit commit after all file ranges have been uploaded. |
| `if_none_match` | string | No | ETag precondition that requires the destination item not to match. |
| `parent_item_id` | string | Yes | Destination folder driveItem ID. |
| `conflict_behavior` | string ("fail" | "replace" | "rename") | No | Behavior when an item with the same name exists: fail, replace, or rename. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Email Rule

**Slug:** `MICROSOFT_365_CREATE_EMAIL_RULE`

Create email rule filter with conditions and actions

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `actions` | object | Yes | Actions to take when the rule conditions are met. |
| `user_id` | string | No | User ID or principal name for app-only (S2S) authentication. Required for application permissions. Use the user's GUID or email address (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f' or 'user@domain.com'). |
| `sequence` | integer | No | Order in which the rule is executed (lower numbers execute first, minimum value is 1). |
| `conditions` | object | Yes | Conditions that must be met for the rule to apply. |
| `is_enabled` | boolean | No | Whether the rule is enabled. |
| `display_name` | string | Yes | Display name for the email rule. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar event attachment

**Slug:** `MICROSOFT_365_CREATE_EVENT_ATTACHMENT`

Tool to create a new attachment for a user's calendar event. Use when you need to attach a file or item to an existing event in a specific user's calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload; required when '@odata.type' is '#microsoft.graph.itemAttachment'. |
| `name` | string | Yes | The display name of the attachment. |
| `user_id` | string | Yes | The user's email address or user ID. Use 'me' for the authenticated user or provide the user's email address. |
| `event_id` | string | Yes | The unique opaque identifier of the calendar event. This is typically a long string starting with 'AAMkA' or 'AQMkA'. Obtain it from listing or searching calendar events. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment") | Yes | Attachment type: '#microsoft.graph.fileAttachment' requires 'contentBytes'; '#microsoft.graph.itemAttachment' requires 'item'. |
| `content_bytes` | string | No | MUST be base64-encoded file contents (not plain text); required when '@odata.type' is '#microsoft.graph.fileAttachment'. Raw/plain text must be base64-encoded first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create event attachment upload session

**Slug:** `MICROSOFT_365_CREATE_EVENT_ATTACHMENT_UPLOAD_SESSION`

Tool to create an upload session for large calendar event attachments. Use when attaching files larger than 3 MB to Outlook calendar events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name; use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to attach the file to. Obtain from listing or searching calendar events. |
| `attachment_item` | object | Yes | AttachmentItem object specifying the type, name, and size of the attachment to upload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user mail folder message forward draft

**Slug:** `MICROSOFT_365_CREATE_FORWARD_DRAFT`

Tool to create a forward draft of an Outlook message for a specific user. Use when you need to prepare a forward email that can be edited before sending. The draft is created in the Drafts folder with the FW: prefix in the subject line.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional comment to include in the body of the forward draft. This text appears before the original message content. |
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. Use 'me' to access your own mailbox or specify another user's email address. |
| `message_id` | string | Yes | The unique identifier of the message to create a forward draft for. This is a base64-encoded string typically starting with 'AAMk' or 'AQMk'. Obtain this from list messages, get message, or search messages actions. Do NOT use email addresses or conversation IDs. |
| `to_recipients` | array | No | Optional list of email addresses to set as recipients for the forward draft. Recipients can be added or modified later by updating the draft before sending. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. Valid well-known names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For other folders, use the base64-encoded folder ID obtained from list mail folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create group calendar event

**Slug:** `MICROSOFT_365_CREATE_GROUP_CALENDAR_EVENT`

Create an event in a Microsoft 365 group calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | object | Yes | Event end date, time, and time zone. |
| `body` | object | No | Optional text or HTML event body. |
| `start` | object | Yes | Event start date, time, and time zone. |
| `show_as` | string ("free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown") | No | Availability status shown during the event. |
| `subject` | string | Yes | Event subject line. |
| `group_id` | string | Yes | Microsoft 365 group ID whose calendar receives the event. |
| `location` | object | No | Optional event location. |
| `attendees` | array | No | People or resources invited to the event, up to 500 attendees. |
| `importance` | string ("low" | "normal" | "high") | No | Event importance. |
| `is_all_day` | boolean | No | Whether this is an all-day event. Start and end must then be midnight in the same time zone. |
| `sensitivity` | string ("normal" | "personal" | "private" | "confidential") | No | Event sensitivity classification. |
| `transaction_id` | string | No | Client-generated identifier used by Microsoft Graph to avoid duplicate event creation on retries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Microsoft 365 group event

**Slug:** `MICROSOFT_365_CREATE_GROUP_EVENT`

Create an event in a Microsoft 365 group's default calendar using delegated access. Supplying attendees sends meeting invitations to them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | object | Yes | End date, time, and time zone of the event. |
| `body` | object | No | Text or HTML event body. |
| `start` | object | Yes | Start date, time, and time zone of the event. |
| `subject` | string | Yes | Subject of the event. |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group that owns the calendar. |
| `location` | object | No | Event location. |
| `attendees` | array | No | Required, optional, or resource attendees. Supplying attendees sends meeting invitations to them. |
| `is_online_meeting` | boolean | No | Whether Microsoft Graph should create an online meeting. |
| `online_meeting_provider` | string ("unknown" | "teamsForBusiness" | "skypeForBusiness" | "skypeForConsumer") | No | Online meeting provider to use. The group's calendar must list the selected provider in allowedOnlineMeetingProviders. |
| `allow_new_time_proposals` | boolean | No | Whether attendees may propose a new meeting time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create group nested section group

**Slug:** `MICROSOFT_365_CREATE_GROUP_NESTED_SECTION_GROUP`

Create a section group inside another group OneNote section group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Microsoft 365 group ID. |
| `display_name` | string | Yes | Name for the nested section group. It must be unique at this level. |
| `section_group_id` | string | Yes | Parent section group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create group notebook

**Slug:** `MICROSOFT_365_CREATE_GROUP_NOTEBOOK`

Creates a new OneNote notebook within a Microsoft 365 group. Use this action when you need to create a new notebook for storing notes within a specific Microsoft 365 group. The notebook will be owned by the specified group and accessible to all members of that group with appropriate permissions. Required permissions: Notes.Create (least privileged), Notes.ReadWrite, or Notes.ReadWrite.All for the group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group that will own the notebook. |
| `display_name` | string | Yes | The name of the new notebook. Maximum 128 characters; cannot contain ? * / : < > &#124; ' or ". Ampersands are allowed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section group in group notebook

**Slug:** `MICROSOFT_365_CREATE_GROUP_NOTEBOOKS_SECTION_GROUPS`

Creates a new section group within a OneNote notebook that belongs to a Microsoft 365 group. Use this action when you need to organize sections inside a group notebook by creating a new top-level section group to hold related sections together. The displayName must be 50 characters or fewer and cannot contain the characters ? * / : < > | & # ' % ~. Section group names must be unique within the same hierarchy level in the notebook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group that owns the notebook. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook in the group. |
| `display_name` | string | Yes | The name of the new section group. Must be 50 characters or fewer. Cannot contain the characters: ? * / : < > &#124; & # ' % ~ |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create group OneNote page

**Slug:** `MICROSOFT_365_CREATE_GROUP_PAGES`

Creates a new OneNote page in the default section of the default notebook for a Microsoft 365 group. Use this action when you need to programmatically create a new page in a group's OneNote notebook. The page content must be provided as HTML. The page will be created in the default section of the default notebook unless a specific section name is provided via the sectionName query parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `resources` | array | No | Optional named binary resources referenced from html_content as name:<resource name>. |
| `html_content` | string | Yes | The HTML content for the OneNote page. Must be valid HTML including html, head, and body tags. |
| `section_name` | string | No | Optional section name to create the page in a specific section of the default notebook. If the section doesn't exist, a new section will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section in section group

**Slug:** `MICROSOFT_365_CREATE_GROUP_SECTION_GROUPS_SECTIONS`

Creates a new OneNote section within a specified section group of a Microsoft 365 group. Use this action when you need to add a new section to organize OneNote pages within a section group's hierarchy within a group. The section name must be unique within the same hierarchy level, cannot exceed 50 characters, and cannot contain the characters: ?*/:<>|&#''%~. Repeating the call with the same display name may create duplicate sections depending on the API's handling of unique-name constraints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `display_name` | string | Yes | The name of the new section. Must be 50 characters or fewer and cannot contain the characters: ?*/:<>&#124;&#''%~ |
| `section_group_id` | string | Yes | The unique identifier of the section group within the group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create channel in group team

**Slug:** `MICROSOFT_365_CREATE_GROUP_TEAM_CHANNEL`

Tool to create a new channel in a group's associated team. Use when you have a group ID and need to create a channel in its team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier (GUID) of the group. This is the group ID, not the team ID. The group must have an associated team. |
| `description` | string | No | Optional textual description of the channel's purpose. |
| `display_name` | string | Yes | The display name for the new channel. Maximum length is 50 characters. This is the only required field. |
| `membership_type` | string ("standard" | "private" | "shared") | No | Channel membership type options. |
| `is_favorite_by_default` | boolean | No | Indicates whether the channel should be marked as recommended for all members of the team to show in their channel list. Can only be set during creation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Drive Item Permission

**Slug:** `MICROSOFT_365_CREATE_ITEM_PERMISSION`

Tool to create a new permission on a OneDrive drive item. Use when you need to grant application or SharePoint group permissions to a file or folder. This endpoint supports creating application permissions and SharePoint site group permissions only.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Array of Microsoft Graph role strings to assign to the permission. Documented/common values include read, write, and owner for SharePoint/OneDrive for Business permission resources; tenant/resource-specific roles may also be accepted by Graph. |
| `drive_id` | string | Yes | The unique identifier of the drive. |
| `drive_item_id` | string | Yes | The unique identifier of the drive item. |
| `granted_to_v2` | object | Yes | The identity to grant permission to. Must contain either application or siteGroup property. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Sharing Link

**Slug:** `MICROSOFT_365_CREATE_LINK`

Tool to create a sharing link for a DriveItem (file or folder) by its unique ID. Use when you need to generate a shareable link for an item in OneDrive or SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("view" | "edit" | "embed") | Yes | The type of sharing link to create. Valid values: `view`, `edit`, `embed`. |
| `scope` | string ("anonymous" | "organization" | "users") | No | The scope of the sharing link. `anonymous`: anyone with the link can use it; choose it only when the user explicitly asks for anonymous or 'anyone with the link' access, never by inference. `organization`: people signed in to the tenant; available only in OneDrive for Business and SharePoint. `users`: only the people listed in `recipients`; requires a non-empty `recipients` list, and is assumed automatically when recipients are provided with no scope. Embed and password-protected links are OneDrive Personal only and support neither `organization` nor `users`. Prefer choosing a scope explicitly: if omitted with no recipients, Microsoft Graph applies the tenant's default sharing-link scope, which may be `anonymous`. Tenant policy may also block a scope or downgrade the created link to a more restrictive one than requested, so check the scope on the returned link. |
| `item_id` | string | Yes | The unique identifier of the drive item (file or folder) for which to create the link. Note: Some item types cannot be shared, including embedded objects, certain system files, and items with restricted permissions. If sharing fails with 'notSupported' error, verify the item type supports sharing. |
| `site_id` | string | No | The unique identifier of the site. Use this if the item is in a SharePoint site's drive. |
| `user_id` | string | No | The unique identifier of the user. Use this if the item is in another user's drive. |
| `drive_id` | string | No | The unique identifier of the drive. If not provided, the link will be created in the current user's drive (me/drive). |
| `group_id` | string | No | The unique identifier of the group. Use this if the item is in a group's drive. |
| `password` | string | No | The password for the sharing link. Optional and OneDrive Personal only. |
| `recipients` | array | No | The people to share with when scope is 'users'. Required when scope is 'users'; if provided while scope is omitted, scope defaults to 'users'; not allowed with scope 'anonymous' or 'organization' (an empty list is treated as omitted). Each recipient is an object with one of `email`, `alias`, or `objectId`, e.g. [{'email': 'user@example.com'}]; recipient contents are validated by Microsoft Graph, not by this action. |
| `expiration_date_time` | string | No | The expiration date and time for the permission, in yyyy-MM-ddTHH:mm:ssZ format. Example: 2023-12-31T23:59:59Z Must be a future UTC timestamp; past values will cause the call to fail. |
| `retain_inherited_permissions` | boolean | No | If true (default), existing inherited permissions are retained. If false, all existing permissions are removed when sharing for the first time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Linked Resource

**Slug:** `MICROSOFT_365_CREATE_LINKED_RESOURCE`

Attach a partner-application link to an existing Microsoft To Do task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task to attach the linked resource to. |
| `web_url` | string | Yes | Deep link to the item in the source application. |
| `external_id` | string | Yes | Id of the item in the source application. |
| `display_name` | string | Yes | Title of the linked item. |
| `application_name` | string | Yes | Name of the source application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List

**Slug:** `MICROSOFT_365_CREATE_LIST`

Create a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `columns` | array | No | Optional columnDefinition payloads to create with the list. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `description` | string | No | Optional description for the list. |
| `display_name` | string | Yes | Display name for the new SharePoint list. |
| `list_template` | string | No | SharePoint list template, such as genericList, documentLibrary, or tasks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List Column

**Slug:** `MICROSOFT_365_CREATE_LIST_COLUMN`

Create a SharePoint list column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Microsoft Graph columnDefinition create payload. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List Item

**Slug:** `MICROSOFT_365_CREATE_LIST_ITEM`

Create a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | Field values for the new list item, keyed by internal column name. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List Item Permission

**Slug:** `MICROSOFT_365_CREATE_LIST_ITEM_PERMISSION`

Create an application permission on a SharePoint list item, not a user invitation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Permission roles to grant the application: read, write, or owner. |
| `item_id` | string | Yes | ID of the list item receiving the grant. |
| `list_id` | string | Yes | ID of the SharePoint list containing the item. |
| `site_id` | string | Yes | SharePoint site ID, typically hostname,siteCollectionId,webId. |
| `granted_to_v2` | object | Yes | SharePoint identity set containing the application to grant access to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List Permission

**Slug:** `MICROSOFT_365_CREATE_LIST_PERMISSION`

Create an application permission on a SharePoint list, not a user invitation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Permission roles to grant the application, for example read or write. |
| `list_id` | string | Yes | ID of the SharePoint list receiving the grant. |
| `site_id` | string | Yes | SharePoint site ID, typically hostname,siteCollectionId,webId. |
| `granted_to_v2` | object | Yes | SharePoint identity set containing the application to grant access to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create mail folder

**Slug:** `MICROSOFT_365_CREATE_MAIL_FOLDER`

Tool to create a new mail folder. Use when you need to organize email into a new folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | Identifier for the user whose mailbox the folder will be created in. Use 'me' for the authenticated user or provide the user's principal name or ID. |
| `is_hidden` | boolean | No | Indicates whether the new folder is hidden. Default is false. Once set, this property cannot be updated. |
| `display_name` | string | Yes | The display name of the new mail folder. |
| `return_existing_if_exists` | boolean | No | If true and a folder with the same name already exists, return the existing folder instead of raising an error. This makes the operation idempotent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create message in mail folder

**Slug:** `MICROSOFT_365_CREATE_MAIL_FOLDER_MESSAGE`

Tool to create a new message in a specific mail folder. Use when you need to create a draft message in a particular folder (e.g., drafts, custom folders).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Message body content with content type. |
| `subject` | string | No | The subject line of the message. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `folder_id` | string | Yes | The ID or well-known name of the mail folder where the message will be created. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |
| `cc_recipients` | array | No | The Cc: recipients for the message. |
| `to_recipients` | array | No | The To: recipients for the message. |
| `bcc_recipients` | array | No | The Bcc: recipients for the message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create mail folder message attachment

**Slug:** `MICROSOFT_365_CREATE_MAIL_FOLDER_MESSAGE_ATTACHMENT`

Tool to add an attachment to a message in a specific mail folder. Use when you need to attach a file to a message located in a particular mail folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | Embedded item (e.g., message, event) for itemAttachment; must include its own '@odata.type'. |
| `name` | string | No | Display name of the attachment (e.g., file name). Required when using content_bytes. When using the attachment field, the name is automatically inferred. |
| `user_id` | string | No | The user ID or user principal name (email) to access mailbox data for. Required for app-only (S2S) authentication. For delegated auth, uses /me endpoint. Can be a GUID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f') or email (e.g., 'user@domain.com'). |
| `isInline` | boolean | No | Set to true if the attachment should appear inline in the message body. |
| `contentId` | string | No | Content ID for inline attachments, used in HTML body references. |
| `attachment` | object | No | File to attach to the email. Either provide this field OR use 'content_bytes'. Cannot be used together with 'content_bytes'. |
| `message_id` | string | Yes | Unique Microsoft Graph message ID (opaque string like 'AAMkAGI2TAAA='). NOT an email address - this is an internal identifier returned by Microsoft Graph API operations. |
| `odata_type` | string | No | The OData type of the attachment. Required by Microsoft Graph API. Use '#microsoft.graph.fileAttachment' for file attachments, '#microsoft.graph.itemAttachment' for embedded items (messages, events, contacts). |
| `contentType` | string | No | MIME type of the attachment (e.g., 'application/pdf'). Required when using content_bytes. When using the attachment field, the mimetype is automatically inferred. |
| `contentBytes` | string | No | Base64-encoded content of the file attachment (max size 3 MB). Either provide this field OR use the 'attachment' field (recommended). Cannot be used together with 'attachment'. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from list mail folders operations. |
| `contentLocation` | string | No | URL location or path for reference attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create mail folder message attachment upload session

**Slug:** `MICROSOFT_365_CREATE_MAIL_FOLDER_MESSAGE_ATTACHMENT_UPLOAD_SESSION`

Tool to create an upload session for large (>3 MB) message attachments in a specific mail folder. Use when you need to upload attachments in chunks to a message located in a mail folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message to attach to. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. |
| `attachment_item` | object | Yes | AttachmentItem object describing the attachment in the upload session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create User Mail Folder Message Rule

**Slug:** `MICROSOFT_365_CREATE_MAIL_FOLDER_MESSAGE_RULE`

Tool to create a message rule in a user's mail folder. Use when automating message processing with filters and actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `actions` | object | Yes | Actions to take when the rule conditions are met. |
| `user_id` | string | No | The unique identifier of the user. Can use 'me' shortcut for /me/ path or actual user ID for /users/{user_id}/ path. |
| `sequence` | integer | Yes | Order in which the rule is executed (lower numbers execute first, minimum value is 1). |
| `conditions` | object | No | Conditions that trigger the rule actions. |
| `exceptions` | object | No | Conditions that trigger the rule actions. |
| `is_enabled` | boolean | No | Whether the rule is enabled. |
| `display_name` | string | Yes | Display name for the message rule. |
| `mail_folder_id` | string | Yes | The ID of the mail folder where the message rule will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create master category (Deprecated)

**Slug:** `MICROSOFT_365_CREATE_MASTER_CATEGORY`

DEPRECATED: Use OUTLOOK_CREATE_USER_MASTER_CATEGORY instead. Tool to create a new category in the user's master category list. Use after selecting a unique display name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `color` | string ("preset0" | "preset1" | "preset2" | "preset3" | "preset4" | "preset5" | "preset6" | "preset7" | "preset8" | "preset9" | "preset10" | "preset11" | "preset12" | "preset13" | "preset14" | "preset15" | "preset16" | "preset17" | "preset18" | "preset19" | "preset20" | "preset21" | "preset22" | "preset23" | "preset24") | No | A pre-set color constant for the category. Allowed values: preset0 through preset24. |
| `user_id` | string | No | The user ID (GUID or email) for which to create the master category. Required for S2S (Service-to-Service) authentication. If not provided, uses /me endpoint (requires delegated authentication). |
| `display_name` | string | Yes | Unique name that identifies the category in the user's mailbox. Verify uniqueness by checking all paginated pages of OUTLOOK_GET_MASTER_CATEGORIES before creation; duplicate displayName will cause creation failure. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar event extension

**Slug:** `MICROSOFT_365_CREATE_ME_CALENDAR_EVENT_EXTENSION`

Tool to create a new open extension on a calendar event for a specific user. Use when you need to store custom data with an event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user identifier for the calendar owner. Must be either 'me' (for the authenticated user), a Microsoft 365 User Principal Name (e.g., user@contoso.com), or an Azure AD object ID (GUID). |
| `event_id` | string | Yes | The unique identifier of the calendar event to add the extension to. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow the format 'Com.Company.ExtensionName' (e.g., Com.Contoso.TestExtension). |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar permission

**Slug:** `MICROSOFT_365_CREATE_ME_CALENDAR_PERMISSION`

Tool to create a new calendar permission for a specific user's calendar. Use when you need to share another user's calendar with someone or grant access with specific permission levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("freeBusyRead" | "limitedRead" | "read" | "write") | Yes | The permission role to grant. freeBusyRead: view free/busy status only. limitedRead: view free/busy status, titles and locations. read: view all details except private events. write: view all details except private events and edit events. |
| `user_id` | string | Yes | The unique identifier of the user whose calendar permissions will be modified. Cannot use 'me' shortcut - must be actual user ID or userPrincipalName. |
| `calendar_id` | string | Yes | The unique identifier of the calendar to which permissions will be added. |
| `isRemovable` | boolean | No | Whether the permission can be removed in the future. If set to true, the recipient can later be removed from the calendar permissions. Optional parameter. |
| `emailAddress` | object | Yes | Email address information (name and address) of the person or entity to grant calendar permission to. |
| `isInsideOrganization` | boolean | No | Whether the recipient is inside the same organization as the calendar owner. Optional parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create message in user's child folder

**Slug:** `MICROSOFT_365_CREATE_ME_CHILD_FOLDER_MESSAGE`

Tool to create a new draft message in a child folder within a user's mail folder. Use when creating messages in nested folder structures for a specific user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The body of the message. |
| `subject` | string | No | The subject of the message. |
| `user_id` | string | Yes | Identifier of the user. Can be the user's ID, userPrincipalName (email address), or 'me' for the authenticated user. |
| `categories` | array | No | A list of categories to assign to the message. |
| `importance` | string | No | The importance of the message. Possible values are 'low', 'normal', or 'high'. |
| `cc_recipients` | array | No | The Cc: recipients for the message. |
| `to_recipients` | array | No | The To: recipients for the message. |
| `bcc_recipients` | array | No | The Bcc: recipients for the message. |
| `mail_folder_id` | string | Yes | Identifier of the parent mail folder. Must be a valid mail folder ID. |
| `child_folder_id` | string | Yes | Identifier of the child folder where the message will be created. Must be a valid child folder ID within the specified parent mail folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user contact in folder

**Slug:** `MICROSOFT_365_CREATE_ME_CONTACT_FOLDERS_CONTACTS`

Tool to create a new contact in a specific user's contact folder. Use when you need to add a contact to a particular folder for a specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Personal notes about the contact. These notes are stored as 'personalNotes' in the Outlook contact details. |
| `userId` | string | Yes | The unique identifier of the user whose contact folder will be modified. Can be the user's object ID (GUID) or userPrincipalName (e.g., 'user@contoso.com'). |
| `surname` | string | No | The contact's surname (last name). |
| `birthday` | string | No | The contact's birthday in 'YYYY-MM-DD' format. The time component will be set to midnight UTC (e.g., '1990-01-01' becomes '1990-01-01T00:00:00Z' in the API request). |
| `jobTitle` | string | No | The contact's job title. |
| `givenName` | string | No | The contact's given (first) name. |
| `homePhone` | string | No | The contact's home phone number. If provided, this will be stored in Outlook as a list containing this single number. |
| `categories` | array | No | A list of categories to assign to the contact. |
| `department` | string | No | The department the contact belongs to within their company. |
| `companyName` | string | No | The name of the company the contact is associated with. |
| `displayName` | string | No | The contact's display name, typically their full name. |
| `mobilePhone` | string | No | The contact's mobile phone number. |
| `businessPhones` | array | No | A list of business phone numbers for the contact. Each number should be a string. |
| `emailAddresses` | array | No | A list of email addresses for the contact. |
| `officeLocation` | string | No | The contact's office location. |
| `contactFolderId` | string | Yes | Identifier of the contact folder where the new contact will be created. Must be a valid contact folder ID obtained from 'Get Contact Folders' or 'List Contact Folders'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user contact extension

**Slug:** `MICROSOFT_365_CREATE_ME_CONTACT_FOLDERS_CONTACTS_EXTENSIONS`

Tool to create a new open extension on a contact within a user's contact folder. Use when you need to store custom data with a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's object ID (GUID) or userPrincipalName (e.g., 'user@contoso.com'). |
| `contact_id` | string | Yes | The unique identifier of the contact to add the extension to. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow reverse DNS format (e.g., com.contoso.extensionName). |
| `contact_folder_id` | string | Yes | The unique identifier of the contact folder containing the contact. |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create contact extension

**Slug:** `MICROSOFT_365_CREATE_ME_CONTACT_FOLDERS_EXTENSIONS`

Tool to create a new open extension on a contact within a child folder. Use when you need to store custom data with a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier or user principal name (UPN) of the user. Required for S2S (app-only) authentication. If not provided, uses /me/ endpoint for delegated authentication. |
| `contact_id` | string | Yes | The unique identifier of the contact to add the extension to. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow reverse DNS format (e.g., com.contoso.extensionName). |
| `child_folder_id` | string | Yes | The unique identifier of the child folder within the contact folder. |
| `contact_folder_id` | string | Yes | The unique identifier of the contact folder. |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create contact in child folder

**Slug:** `MICROSOFT_365_CREATE_ME_CONTACT_IN_CHILD_FOLDER`

Tool to create a new contact in a child folder within a contact folder. Use when you need to add a contact to a specific nested folder structure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Personal notes about the contact. These notes are stored as 'personalNotes' in the Outlook contact details. |
| `surname` | string | No | The contact's surname (last name). |
| `user_id` | string | No | The user's principal name or object ID. Use 'me' for the authenticated user. |
| `birthday` | string | No | The contact's birthday in 'YYYY-MM-DD' format. The time component will be set to midnight UTC (e.g., '1990-01-01' becomes '1990-01-01T00:00:00Z' in the API request). |
| `jobTitle` | string | No | The contact's job title. |
| `givenName` | string | No | The contact's given (first) name. |
| `homePhone` | string | No | The contact's home phone number. If provided, this will be stored in Outlook as a list containing this single number. |
| `categories` | array | No | A list of categories to assign to the contact. |
| `department` | string | No | The department the contact belongs to within their company. |
| `companyName` | string | No | The name of the company the contact is associated with. |
| `displayName` | string | No | The contact's display name, typically their full name. |
| `mobilePhone` | string | No | The contact's mobile phone number. |
| `businessPhones` | array | No | A list of business phone numbers for the contact. Each number should be a string. |
| `emailAddresses` | array | No | A list of email addresses for the contact. |
| `officeLocation` | string | No | The contact's office location. |
| `child_folder_id` | string | Yes | Identifier of the child folder within the contact folder where the new contact will be created. |
| `contact_folder_id` | string | Yes | Identifier of the parent contact folder. Must be a valid contact folder ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create online meeting

**Slug:** `MICROSOFT_365_CREATE_MEETING`

Creates a standalone Microsoft Teams online meeting that is not linked to a calendar event. When an external ID is supplied, it creates or retrieves the meeting and accepts a narrower set of meeting options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subject` | string | Yes | The subject or title for the online meeting. |
| `user_id` | string | No | The user ID (object ID) on whose behalf to create the meeting. Required when using application permissions (S2S). If not specified, uses the /me endpoint (delegated permissions). |
| `chat_info` | object | No | Chat information to associate with an online meeting. |
| `external_id` | string | No | A custom external identifier for the online meeting. Maps to Microsoft Graph externalId. |
| `participants` | array | No | An optional list of participants to invite to the meeting. Each participant is defined by their user ID and role. |
| `end_date_time` | string | Yes | The end date and time of the meeting, specified in ISO 8601 format (e.g., '2024-08-15T11:00:00Z'). Must be after start_date_time. |
| `allow_recording` | boolean | No | Indicates whether recording is enabled for the meeting. |
| `start_date_time` | string | Yes | The start date and time of the meeting, specified in ISO 8601 format (e.g., '2024-08-15T10:00:00Z'). |
| `allow_live_share` | string ("enabled" | "disabled") | No | Indicates whether Live Share is enabled for the meeting. Possible values: enabled, disabled. |
| `allow_whiteboard` | boolean | No | Indicates whether whiteboard is enabled for the meeting. |
| `chat_restrictions` | object | No | Chat restrictions that Microsoft Graph accepts when creating an online meeting. |
| `allow_meeting_chat` | string ("enabled" | "disabled" | "limited") | No | Specifies the mode of meeting chat. Possible values: enabled (default), disabled, limited (only during the meeting call). |
| `allowed_presenters` | string ("everyone" | "organization" | "roleIsPresenter" | "organizer") | No | Specifies who can be a presenter in a meeting. Possible values: everyone (default), organization, roleIsPresenter, organizer. |
| `allow_transcription` | boolean | No | Indicates whether transcription is enabled for the meeting. |
| `meeting_template_id` | string | No | The ID of the meeting template. Using a custom meeting template to create a meeting is a Teams Premium feature. |
| `allow_breakout_rooms` | boolean | No | Indicates whether breakout rooms are enabled for the meeting. |
| `is_passcode_required` | boolean | No | An optional boolean indicating whether a passcode should be required to join this meeting. If not specified, the organization's default policy applies. |
| `record_automatically` | boolean | No | Indicates whether to record the meeting automatically. |
| `watermark_protection` | object | No | Watermark protection settings that Microsoft Graph accepts when creating an online meeting. |
| `lobby_bypass_settings` | object | No | Specifies which participants can bypass the meeting lobby. |
| `is_entry_exit_announced` | boolean | No | Indicates whether to announce when callers join or leave. |
| `allow_teamwork_reactions` | boolean | No | Indicates whether Teams reactions are enabled for the meeting. |
| `allow_power_point_sharing` | boolean | No | Indicates whether PowerPoint live is enabled for the meeting. |
| `allow_attendee_to_enable_mic` | boolean | No | Indicates whether attendees can unmute themselves. |
| `allow_attendee_to_enable_camera` | boolean | No | Indicates whether attendees can turn on their camera. |
| `is_end_to_end_encryption_enabled` | boolean | No | Indicates whether end-to-end encryption is enabled for the meeting. Note: This property must be used with Teams policies to determine the final behavior. |
| `allow_participants_to_change_name` | boolean | No | Specifies whether participants are allowed to rename themselves in an instance of the meeting. |
| `share_meeting_chat_history_default` | string ("all" | "none") | No | Specifies whether meeting chat history is shared with participants. Possible values: all, none. |
| `allow_copying_and_sharing_meeting_content` | boolean | No | Indicates whether participants can copy and share meeting content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar event for user

**Slug:** `MICROSOFT_365_CREATE_ME_EVENT`

Create a new calendar event in a user's default calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | object | Yes | The end date, time, and time zone of the event. |
| `body` | object | No | The body content of an event. |
| `start` | object | Yes | The start date, time, and time zone of the event. |
| `subject` | string | Yes | The subject/title of the event. |
| `user_id` | string | No | The user identifier for the calendar owner. Must be either 'me' (for the authenticated user), a Microsoft 365 User Principal Name (e.g., user@contoso.com), or an Azure AD object ID (GUID). |
| `location` | object | No | Location information for an event. |
| `attendees` | array | No | A list of attendees for the event. Optional - events can be created without attendees. |
| `is_online_meeting` | boolean | No | True to indicate that the event is an online meeting. This will automatically generate an online meeting link if onlineMeetingProvider is set. |
| `online_meeting_provider` | string | No | The online meeting provider. Currently, only 'teamsForBusiness' is supported. |
| `allow_new_time_proposals` | boolean | No | True if the meeting organizer allows invitees to propose a new time when responding. Default is true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create me event attachment upload session

**Slug:** `MICROSOFT_365_CREATE_ME_EVENT_ATTACHMENT_UPLOAD_SESSION`

Tool to create an upload session for large event attachments. Use when attaching files larger than 3 MB to the authenticated user's Outlook events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID) or user principal name (email) to create the upload session for. Required for S2S (app-only) authentication. If not provided, uses the authenticated user context (/me endpoint). |
| `event_id` | string | Yes | The unique identifier of the event to attach the file to. Obtain from listing or searching events. |
| `attachment_item` | object | Yes | AttachmentItem object specifying the type, name, and size of the attachment to upload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create forward draft

**Slug:** `MICROSOFT_365_CREATE_ME_FORWARD_DRAFT`

Tool to create a draft forward of an existing message. Use when you need to prepare a forward that can be edited before sending. The draft can be updated with recipients and additional content before being sent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional comment to include in the body of the forward draft. |
| `user_id` | string | No | User's mailbox identifier (email or 'me') for the original message and new draft location. |
| `message_id` | string | Yes | Required. Unique ID of the message to forward. Obtain this from actions like 'List Messages', 'Get Message', or 'Search Messages'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user Focused Inbox override

**Slug:** `MICROSOFT_365_CREATE_ME_INFERENCE_CLASSIFICATION_OVERRIDE`

Tool to create a Focused Inbox override for a sender identified by SMTP address for a specific user. Use when you need to configure messages from a specific sender to always be classified as focused or other for a particular user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can be user ID (GUID) or user principal name (UPN). |
| `classify_as` | string ("focused" | "other") | Yes | How messages from the specified sender should always be classified. Must be either 'focused' or 'other'. |
| `sender_email_address` | object | Yes | Email address information for the sender to create the override for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply-all draft for mail folder message

**Slug:** `MICROSOFT_365_CREATE_ME_MAIL_FOLDER_MESSAGE_REPLY_ALL_DRAFT`

Creates a reply-all draft for a message in a specified mail folder, optionally including a comment. This tool is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional plain text comment to include in the body of the reply-all draft. |
| `user_id` | string | No | The user ID or principal name (email) of the user to create a reply-all draft for. Required for app-only (S2S) authentication. Use either the GUID format (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f') or email format (e.g., 'user@domain.com'). If not provided, defaults to '/me' endpoint for delegated authentication. |
| `message_id` | string | Yes | The unique identifier of the message to create a reply-all draft for. This is a base64-encoded string typically starting with 'AAMk' or 'AQMk'. Obtain this from list messages, get message, or search messages actions. Do NOT use email addresses or conversation IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. Valid well-known names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For other folders, use the base64-encoded folder ID obtained from list mail folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply-all draft for user message

**Slug:** `MICROSOFT_365_CREATE_ME_MESSAGE_REPLY_ALL_DRAFT`

Tool to create a draft reply-all to a user's message. Use when you need to create a draft reply to the sender and all recipients of an email message in a user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional plain text comment to include in the body of the reply-all draft. |
| `user_id` | string | Yes | User's email address, user principal name (UPN), or 'me' for the currently authenticated user. Use 'me' to access your own mailbox or specify another user's email address. |
| `message_id` | string | Yes | The unique identifier of the message to create a reply-all draft for. This is a base64-encoded string typically starting with 'AAMk' or 'AQMk'. Obtain this from list messages, get message, or search messages actions. Do NOT use email addresses or conversation IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user notebook

**Slug:** `MICROSOFT_365_CREATE_ME_NOTEBOOKS`

Creates a new OneNote notebook for the signed-in user. Use this action when you need to create a new personal notebook to organize notes. The notebook will be created in the user's default OneDrive for Business location. Notebook names must be unique, cannot exceed 128 characters, and cannot contain ? * / : < > | ' or ". Ampersands are allowed. Returns the full created notebook object including the server-assigned ID and URLs for accessing sections.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_name` | string | Yes | The name of the new notebook. Maximum 128 characters; cannot contain ? * / : < > &#124; ' or ". Ampersands are allowed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply-all draft for child folder message

**Slug:** `MICROSOFT_365_CREATE_ME_REPLY_ALL_DRAFT`

Tool to create a draft reply-all to a message in a child folder. Use when you need to create a draft reply to the sender and all recipients of a message located in a subfolder within a mail folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional plain text comment to include in the body of the reply-all draft. |
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. Use 'me' to access your own mailbox or specify another user's email address. |
| `message_id` | string | Yes | The unique identifier of the message to create a reply-all draft for. This is a base64-encoded string typically starting with 'AAMk' or 'AQMk'. Obtain this from list messages, get message, or search messages actions. Do NOT use email addresses or conversation IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Valid well-known names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For other folders, use the base64-encoded folder ID obtained from list mail folders actions. |
| `child_folder_id` | string | Yes | The ID of the child folder (subfolder) within the parent mail folder. This is a base64-encoded folder ID obtained from list mail folders actions. Child folders are nested folders within a parent folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply draft

**Slug:** `MICROSOFT_365_CREATE_ME_REPLY_DRAFT`

Deprecated. Creates a reply draft for a specified message in the authenticated user's or another user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's mailbox identifier. Use 'me' for the authenticated user or provide a specific user ID. |
| `message_id` | string | Yes | The unique identifier of the message to create a reply draft for. Must be a non-draft message. Typically a base64-encoded string obtained from list messages or search messages actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section in user's section group

**Slug:** `MICROSOFT_365_CREATE_ME_SECTION_GROUPS_SECTIONS`

Creates a new OneNote section within a specified section group of a notebook for the signed-in user. Use this action when you need to add a new section to organize OneNote pages within a user's section group hierarchy. The section name must be unique within the same hierarchy level, cannot exceed 50 characters, and cannot contain the characters: ?*/:<>|&#''%~. Repeating the call with the same display name may create duplicate sections depending on the API's handling of unique-name constraints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_name` | string | Yes | The name of the new section. Must be 50 characters or fewer and cannot contain the characters: ?*/:<>&#124;&#''%~ |
| `section_group_id` | string | Yes | The unique identifier of the section group within the notebook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create OneNote page in section

**Slug:** `MICROSOFT_365_CREATE_ME_SECTIONS_PAGES`

Creates a OneNote page in a specified section for the signed-in user from an HTML content fragment, with an optional title and creation timestamp. Images and attachments can be referenced by external URLs or supplied as named binary resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resources` | array | No | Optional named binary resources referenced from html_content as name:<resource name>. |
| `page_title` | string | No | The title for the OneNote page. |
| `section_id` | string | Yes | The unique identifier of the OneNote section where the page will be created. |
| `html_content` | string | Yes | The HTML body content for the OneNote page (an HTML fragment, not a full document). The action wraps this fragment in <html><head><title>{page_title}</title></head><body>...</body></html>, so do not include outer html/head/body tags. Reference images via external URLs. |
| `page_created_datetime` | string | No | The date and time when the page was created in ISO 8601 format (UTC). Example: 2015-07-22T09:00:00-08:00. If not provided, current time is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create message attachment

**Slug:** `MICROSOFT_365_CREATE_MESSAGE_ATTACHMENT`

Tool to create an attachment for a message. Use when you need to attach a file or item to an existing message. Supports file attachments, item attachments, and reference attachments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | Generic payload for item attachments. Accepts any additional fields. |
| `name` | string | Yes | The display name of the attachment. |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the authenticated user. For S2S connections, pass the specific user ID. |
| `is_inline` | boolean | No | Set to true if the attachment should appear inline in the message body. |
| `content_id` | string | No | Content ID for inline attachments, used in HTML body references. |
| `message_id` | string | Yes | The unique identifier of the message to add the attachment to. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment" | "#microsoft.graph.referenceAttachment") | Yes | Type of attachment to create. Use '#microsoft.graph.fileAttachment' for files, '#microsoft.graph.itemAttachment' for embedded items, or '#microsoft.graph.referenceAttachment' for references. |
| `content_type` | string | No | The MIME type of the attachment (e.g., 'text/plain', 'application/pdf'). |
| `content_bytes` | string | No | Base64-encoded file contents. Required when '@odata.type' is fileAttachment. Must be valid base64. |
| `mail_folder_id` | string | No | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', etc. For custom folders, use the actual folder ID. Optional - if not provided, the message will be accessed directly by ID. |
| `child_folder_id` | string | No | The ID of the child mail folder containing the message. This must be a base64-encoded folder ID. Only used when mail_folder_id is specified. Well-known names are NOT valid for child folders. |
| `content_location` | string | No | URL location or path for reference attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user offer shift request

**Slug:** `MICROSOFT_365_CREATE_OFFER_SHIFT_REQUEST`

Create an offer shift request in a team's schedule when a team member wants to offer their shift to another team member.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `user_id` | string | No | Optional user identifier. Not used in the API request as the endpoint operates at the team level. Accepts 'me' or a GUID/UUID format. |
| `odata_type` | string | No | The OData type of the resource. Must be '#microsoft.graph.offerShiftRequest'. |
| `sender_message` | string | No | Optional message from the sender to the recipient explaining the shift offer. |
| `sender_shift_id` | string | Yes | The shift ID that is being offered. Format typically starts with 'SHFT_' followed by a GUID. |
| `recipient_user_id` | string | Yes | The user ID of the recipient to whom the shift is being offered. Must be a valid GUID/UUID. |
| `recipient_action_message` | string | No | Message from the recipient when responding to the offer. This is typically set when the recipient accepts or declines. |
| `recipient_action_date_time` | string | No | Date and time when the recipient responded to the offer, in ISO 8601 format. This is typically set by the system. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create open shifts

**Slug:** `MICROSOFT_365_CREATE_OPEN_SHIFT`

Tool to create a new open shift in a Microsoft Teams team schedule. Use when you need to publish available shifts that team members can claim.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `draft_open_shift` | object | No | Represents the draft version of an open shift that has not been shared with the team. |
| `shared_open_shift` | object | Yes | The shared version of the open shift that is visible to team members. This contains the shift details including start/end times, theme, and open slot count. |
| `scheduling_group_id` | string | No | The unique identifier of the scheduling group this open shift belongs to. Use format 'TAG_{guid}' for scheduling group IDs. |
| `is_staged_for_deletion` | boolean | No | Indicates whether the open shift is staged for deletion. Set to true to mark for deletion. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create open shift change request

**Slug:** `MICROSOFT_365_CREATE_OPEN_SHIFT_CHANGE_REQUEST`

Tool to create a new open shift change request in a team schedule. Use when a team member wants to claim an available open shift.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | No | Optional message from the user explaining why they want to claim this open shift. |
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `openShiftId` | string | Yes | The unique identifier of the open shift that the user is requesting to claim. This ID references an existing open shift in the team's schedule. |
| `senderUserId` | string | Yes | The unique identifier (GUID) of the user who is requesting to claim the open shift. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or get online meeting

**Slug:** `MICROSOFT_365_CREATE_OR_GET_ONLINE_MEETING`

Tool to create a new Microsoft Teams online meeting or retrieve an existing one based on externalId. Use when you need an idempotent meeting creation operation that returns an existing meeting if the externalId matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | No | The user ID (UPN or GUID) on whose behalf to create the meeting. Required for Service-to-Service (client credentials) authentication. If not provided, uses /me endpoint (delegated permissions only). |
| `subject` | string | No | The subject or title for the online meeting. Optional. |
| `chatInfo` | object | No | The chat information associated with an online meeting. |
| `externalId` | string | Yes | The external ID that uniquely identifies this meeting. Required. If a meeting with this externalId already exists, that meeting is returned; otherwise, a new meeting is created. Maximum length is 256 characters. |
| `endDateTime` | string | No | The meeting end date and time in ISO 8601 format (e.g., '2026-02-24T11:00:00Z'). Optional but recommended. Should be after startDateTime if both are provided. |
| `participants` | object | No | The participants associated with the online meeting. |
| `startDateTime` | string | No | The meeting start date and time in ISO 8601 format (e.g., '2026-02-24T10:00:00Z'). Optional but recommended. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or update schedule

**Slug:** `MICROSOFT_365_CREATE_OR_UPDATE_SCHEDULE`

Tool to create or replace a schedule object for a Microsoft Teams team. Use when you need to enable or configure scheduling features for a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | No | Indicates whether the schedule is enabled for the team. Set to true to enable. |
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `timeZone` | string | No | Time zone for the schedule (e.g., 'America/New_York', 'Europe/London', 'UTC'). Uses IANA time zone identifiers. |
| `timeClockEnabled` | boolean | No | Indicates whether the time clock feature is enabled for the schedule. |
| `openShiftsEnabled` | boolean | No | Indicates whether open shifts are enabled for the schedule. |
| `timeOffRequestsEnabled` | boolean | No | Indicates whether team members can request time off. |
| `offerShiftRequestsEnabled` | boolean | No | Indicates whether team members can offer their shifts to others. |
| `swapShiftsRequestsEnabled` | boolean | No | Indicates whether team members can swap shifts with each other. |
| `isActivitiesIncludedWhenCopyingShiftsEnabled` | boolean | No | Indicates whether activities are included when copying shifts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Planner bucket

**Slug:** `MICROSOFT_365_CREATE_PLANNER_BUCKET`

Create a bucket in a Microsoft Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the Planner bucket to create. |
| `plan_id` | string | Yes | Unique identifier of the Planner plan that will contain the bucket. |
| `order_hint` | string | No | Ordering hint for the bucket within the plan; omit it to append the bucket. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Planner task

**Slug:** `MICROSOFT_365_CREATE_PLANNER_TASK`

Create a Microsoft Planner task in a plan, with optional bucket placement and assignees.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title of the Planner task. |
| `plan_id` | string | Yes | Planner plan ID in which to create the task. |
| `bucket_id` | string | No | Planner bucket ID in which to place the task; omit for no bucket. |
| `assignee_ids` | array | No | Microsoft Entra user IDs to assign to the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Presentation

**Slug:** `MICROSOFT_365_CREATE_PRESENTATION`

Create a bounded macro-free PPTX from one to 50 structured slides containing titles, plain text, nested bullets, rectangular tables, uploaded PNG images, and optional speaker notes. The generated Open XML package, relationships, and semantic readback are validated locally before exactly one Microsoft Graph upload. Limits include 500 content blocks, 500,000 text characters, 10,000 line breaks, 2,000 table cells, and 20 PNGs (10 MiB each, 25 MiB compressed and decoded in aggregate); the final package is limited to 50 MiB.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slides` | array | Yes | One to 50 structured slides in presentation order. |
| `drive_id` | string | No | Target drive ID; omit for the signed-in user's default OneDrive. |
| `filename` | string | Yes | Path-safe destination basename ending in .pptx. |
| `parent_folder_id` | string | No | Destination folder ID; defaults to the drive root. |
| `conflict_behavior` | string ("fail" | "rename") | No | Fail on an existing filename or let Microsoft Graph generate a unique renamed file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Presentation Sharing Link

**Slug:** `MICROSOFT_365_CREATE_PRESENTATION_SHARING_LINK`

Create or return a view or edit sharing link for a PowerPoint presentation in the current or an explicitly selected drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scope` | string ("anonymous" | "organization" | "users") | No | Audience for the link. Omit to use the organization's default sharing scope. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |
| `password` | string | No | Optional link password. Microsoft Graph supports this only for OneDrive Personal. |
| `link_type` | string ("view" | "edit") | Yes | Access granted by the link: view or edit. |
| `expiration_date_time` | string | No | Optional ISO 8601 expiration date and time for the sharing permission. |
| `retain_inherited_permissions` | boolean | No | Whether to retain inherited permissions when sharing the item for the first time. Defaults to Microsoft's true behavior. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply-all draft in folder

**Slug:** `MICROSOFT_365_CREATE_REPLY_ALL_DRAFT`

Tool to create a reply-all draft for a message in a mail folder. Use when you need to create a draft reply to all recipients of an email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Plain text comment to include in the body of the reply-all draft. |
| `user_id` | string | No | User's mailbox identifier (email or 'me') for the original message and new draft location. |
| `message_id` | string | Yes | Required. Unique ID of the message to reply to. Obtain this from actions like 'List Messages', 'Get Message', or 'Search Messages'. |
| `mail_folder_id` | string | Yes | Required. The unique identifier of the mail folder containing the message to reply to. Obtain this from actions like 'List Mail Folders' or 'Get Mail Folder'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create schedule day note

**Slug:** `MICROSOFT_365_CREATE_SCHEDULE_DAY_NOTE`

Tool to create a new day note in a team's schedule. Use when you need to add notes or reminders for a specific date in the team schedule. Day notes help communicate important information to team members for a particular day.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team where the day note will be created. |
| `dayNoteDate` | string | Yes | The date for which the day note applies, in YYYY-MM-DD format (e.g., '2026-02-24'). |
| `draftDayNote` | object | No | Represents the content and format of a day note. |
| `sharedDayNote` | object | No | Represents the content and format of a day note. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create scheduling group

**Slug:** `MICROSOFT_365_CREATE_SCHEDULING_GROUP`

Tool to create a new scheduling group in a team's schedule. Use when you need to organize team members into groups for shift scheduling and management. This action uses 'team_id' parameter naming which aligns with the Microsoft Graph API endpoint (/teams/{id}/schedule/schedulingGroups).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Code or identifier for the scheduling group. This can be used for external system integration or quick reference. |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `user_ids` | array | Yes | List of user IDs to include as members of this scheduling group. Each ID should be a valid GUID/UUID. Can be an empty array if no members are being added initially. |
| `is_active` | boolean | No | Indicates whether the scheduling group is active and available for scheduling. Set to true to enable, false to disable. |
| `display_name` | string | Yes | Display name of the scheduling group. This is the name that will appear when managing schedules and shifts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Service

**Slug:** `MICROSOFT_365_CREATE_SERVICE`

Create a bookable service with a name and default duration, optionally configuring location, price, staff, reminders, questions, and scheduling rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Internal service notes. |
| `pre_buffer` | string | No | Default ISO 8601 setup duration. |
| `business_id` | string | Yes | ID of the booking business that will offer the service. |
| `description` | string | No | Customer-facing service description. |
| `post_buffer` | string | No | Default ISO 8601 cleanup duration. |
| `display_name` | string | Yes | Customer-facing service name. |
| `language_tag` | string | No | BCP 47 language tag for the service. |
| `default_price` | number | No | Default numeric service price. |
| `custom_questions` | array | No | Custom questions assigned to this service and whether each is required. |
| `default_duration` | string | Yes | Default appointment length as an ISO 8601 duration, for example PT30M. |
| `default_location` | object | No | Default service location. |
| `staff_member_ids` | array | No | Staff IDs eligible to deliver the service. |
| `default_reminders` | array | No | Default reminders copied to new appointments. |
| `scheduling_policy` | object | No | Service-specific scheduling policy. |
| `default_price_type` | string ("undefined" | "fixedPrice" | "startingAt" | "hourly" | "free" | "priceVaries" | "callUs" | "notSet") | No | How the default service price is interpreted. |
| `is_location_online` | boolean | No | Whether this is an online service. |
| `additional_information` | string | No | Additional service information sent with bookings. |
| `maximum_attendees_count` | integer | No | Maximum attendees for appointments of this service. |
| `is_hidden_from_customers` | boolean | No | Whether the service is hidden from customers. |
| `is_anonymous_join_enabled` | boolean | No | Whether anonymous online-meeting join is enabled. |
| `sms_notifications_enabled` | boolean | No | Whether SMS notifications are enabled when supported. |
| `is_customer_allowed_to_manage_booking` | boolean | No | Whether customers may manage bookings for this service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint List Item

**Slug:** `MICROSOFT_365_CREATE_SHAREPOINT_LIST_ITEM`

Create an item in a SharePoint list using Microsoft Graph through the OneDrive connection. Use when you need to add a new row/item to a SharePoint list after resolving the site ID and list ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | Field values for the new list item, keyed by SharePoint internal column name. For a basic custom list, include at least {'Title': 'New item'}. |
| `list_id` | string | Yes | The unique Microsoft Graph ID of the SharePoint list where the item will be created. Use ONE_DRIVE_LIST_SITE_LISTS to find list IDs. |
| `site_id` | string | Yes | The Microsoft Graph SharePoint site ID in composite format, usually 'hostname,site-collection-id,web-id'. Use ONE_DRIVE_GET_SITE_DETAILS or ONE_DRIVE_LIST_SITE_LISTS outputs to confirm the site ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Sharing Link

**Slug:** `MICROSOFT_365_CREATE_SHARING_LINK`

Create a sharing link for a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scope` | string ("anonymous" | "organization" | "users") | No | Optional sharing scope: anonymous, organization, or users. Omit to use the organization's default link policy (Microsoft Graph default). |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `password` | string | No | Optional password for supported sharing links. |
| `link_type` | string ("view" | "edit" | "embed") | No | Sharing link type. Either view, edit, or embed (embed is OneDrive Personal only). |
| `expiration_date_time` | string | No | Optional ISO 8601 expiration date time for the link. |
| `retain_inherited_permissions` | boolean | No | Whether to retain inherited permissions when creating the link. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team schedule shift

**Slug:** `MICROSOFT_365_CREATE_SHIFT`

Tool to create a new shift in a Microsoft Teams team schedule. Use when you need to assign work shifts to team members with specific start/end times and details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | The unique identifier of the user assigned to this shift (GUID format). |
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `draftShift` | object | No | Represents the draft version of a shift that has not been shared with the team. |
| `sharedShift` | object | No | Represents the shared version of a shift that is visible to team members. |
| `schedulingGroupId` | string | No | The unique identifier of the scheduling group this shift belongs to. |
| `isStagedForDeletion` | boolean | No | Indicates whether the shift is staged for deletion. Set to true to mark for deletion. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Site Column

**Slug:** `MICROSOFT_365_CREATE_SITE_COLUMN`

Create a SharePoint site column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Microsoft Graph columnDefinition create payload. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Site Content Type

**Slug:** `MICROSOFT_365_CREATE_SITE_CONTENT_TYPE`

Create a SharePoint site content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `base` | object | No | Parent content type to inherit from, supplied as an object with 'name' and/or 'id'. Provide either 'base' or 'base_id'. |
| `name` | string | Yes | Name of the content type to create. |
| `group` | string | No | Name of the group this content type belongs to. |
| `hidden` | boolean | No | Whether the content type is hidden in the document library. |
| `base_id` | string | No | ID of the parent content type to inherit from. Provide either 'base' or 'base_id'. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `parent_id` | string | No | ID of the parent content type, when creating a child content type. |
| `description` | string | No | Description of the content type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create site nested section group

**Slug:** `MICROSOFT_365_CREATE_SITE_NESTED_SECTION_GROUP`

Create a section group inside another site OneNote section group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | SharePoint site ID, or `root`. |
| `display_name` | string | Yes | Name for the nested section group. It must be unique at this level. |
| `section_group_id` | string | Yes | Parent section group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create site notebook

**Slug:** `MICROSOFT_365_CREATE_SITE_NOTEBOOK`

Create a OneNote notebook in a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | SharePoint site ID, or `root`. |
| `display_name` | string | Yes | Unique notebook name. It cannot contain ? * / : < > &#124; ' or double quotes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section in site notebook

**Slug:** `MICROSOFT_365_CREATE_SITE_NOTEBOOKS_SECTIONS`

Create a OneNote section in a specified notebook in a SharePoint site or, when no site is supplied, in the signed-in user's OneNote. The section name must be unique at the same hierarchy level, be no longer than 50 characters, and exclude ?*/:<>|&#'%~.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | No | The unique identifier of the SharePoint site that contains the notebook. Optional - if not provided, uses the user's personal OneNote. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook within the site. |
| `display_name` | string | Yes | The name of the new section. Must be 50 characters or fewer and cannot contain the characters: ?*/:<>&#124;&#''%~ |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Site Page

**Slug:** `MICROSOFT_365_CREATE_SITE_PAGE`

Create a modern SharePoint site page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Microsoft Graph sitePage create payload. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Site Page Section Web Part

**Slug:** `MICROSOFT_365_CREATE_SITE_PAGE_SECTION_WEB_PART`

Create a text or supported standard web part in a site page section.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Instance identifier of the web part, if supplied. |
| `data` | object | No | Structured webPartData configuration for a standard web part, including properties and serverProcessedContent. |
| `index` | integer | No | Optional zero-based position at which to insert the web part. |
| `page_id` | string | Yes | ID of the site page to add a web part to. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `column_id` | string | No | Column ID in the horizontal section; required for horizontal and not allowed for vertical. |
| `inner_html` | string | No | HTML content of a text web part. |
| `odata_type` | string ("#microsoft.graph.textWebPart" | "#microsoft.graph.standardWebPart") | Yes | Required Microsoft Graph web part type discriminator. |
| `section_type` | string ("vertical" | "horizontal") | Yes | Whether to insert into the vertical section or a horizontal section column. |
| `web_part_type` | string | No | Standard web part type GUID. Graph supports only the standard types listed in the create webPart documentation, including Image, Button, and Quick Links. |
| `horizontal_section_id` | string | No | Horizontal section ID; required for horizontal and not allowed for vertical. |
| `container_text_web_part_id` | string | No | Container text web part instance ID for an inline standard web part in rich text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SharePoint Site Permission

**Slug:** `MICROSOFT_365_CREATE_SITE_PERMISSION`

Grant an application (Sites.Selected) permission on a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Roles to grant to the application identity. Possible values are read, write, owner, and fullcontrol. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `granted_to_identities` | array | Yes | Application identities to grant access to, as Microsoft Graph identitySet objects (only application permissions can be created this way). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create site section page

**Slug:** `MICROSOFT_365_CREATE_SITE_SECTION_PAGE`

Create a OneNote page from HTML in a SharePoint site's section.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Concrete Microsoft Graph site ID. The value `root` is not accepted by this OneNote route. |
| `resources` | array | No | Optional named binary resources referenced from html_content as name:<resource name>. |
| `page_title` | string | No | The title for the OneNote page. |
| `section_id` | string | Yes | The unique identifier of the target OneNote section. |
| `html_content` | string | Yes | The HTML body fragment for the OneNote page. Do not include outer html, head, or body tags. |
| `page_created_datetime` | string | No | The optional page creation time in ISO 8601 format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Staff Member

**Slug:** `MICROSOFT_365_CREATE_STAFF_MEMBER`

Add a staff member to one booking business with a role, email, time zone, and optional working schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("guest" | "administrator" | "viewer" | "externalGuest" | "scheduler") | Yes | Bookings role granted to the staff member. |
| `time_zone` | string | No | Staff member's Windows time-zone name. |
| `business_id` | string | Yes | ID of the booking business that will contain the staff member. |
| `display_name` | string | Yes | Staff member's display name. |
| `email_address` | string | Yes | Staff member's email address. |
| `working_hours` | array | No | Weekly working schedule used when use_business_hours is false. |
| `use_business_hours` | boolean | No | Whether this staff member follows the business-wide hours. |
| `is_email_notification_enabled` | boolean | No | Whether the staff member receives booking email notifications. |
| `availability_is_affected_by_personal_calendar` | boolean | No | Whether personal calendar events affect Bookings availability. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task List

**Slug:** `MICROSOFT_365_CREATE_TASK_LIST`

Create a new Microsoft To Do task list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_name` | string | Yes | Name of the new task list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Team

**Slug:** `MICROSOFT_365_CREATE_TEAM`

Create a new Microsoft Teams team with an optional template, channels, and members. Creation is asynchronous; the response provides an operation location for tracking progress.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `members` | array | No | List of initial team members. At least one member with 'owner' role is recommended. If not provided, the authenticated user will be added as owner. Each member must specify '@odata.type', roles, and 'user@odata.bind'. |
| `channels` | array | No | Collection of channels to create in the team. Note: The 'General' channel is created automatically. |
| `visibility` | string ("private" | "public" | "hiddenMembership") | No | Team visibility setting. 'private': Only owners can add members. 'public': Anyone in the organization can join. 'hiddenMembership': Private team whose membership list is also hidden. Default is 'public'. |
| `description` | string | No | Brief description of the team's purpose. Maximum 1024 characters. Note: Known template IDs for team creation: 'standard' (default), 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity'. |
| `displayName` | string | Yes | Display name of the team as it will appear in Microsoft Teams. Note: The API allows duplicate team names, but using unique names is recommended for clarity. |
| `funSettings` | object | No | Settings to configure use of Giphy, memes, and stickers in the team. |
| `guestSettings` | object | No | Settings to configure whether guests can create, update, or delete channels in the team. |
| `installedApps` | array | No | Collection of apps to install in the team. |
| `classification` | string | No | Optional label describing the data or business sensitivity of the team. Must match a preconfigured value in the tenant's directory. |
| `memberSettings` | object | No | Settings to configure whether members can perform certain actions in the team. |
| `specialization` | string ("none" | "educationStandard" | "educationClass" | "educationProfessionalLearningCommunity" | "healthcareStandard" | "healthcareCareCoordination" | "unknownFutureValue") | No | Indicates whether the team is intended for a particular use case. Each specialization has access to unique behaviors and experiences. |
| `firstChannelName` | string | No | Name of the first channel created; defaults to 'General' if omitted. |
| `messagingSettings` | object | No | Settings to configure messaging and mentions in the team. |
| `templateOdataBind` | string | No | URL reference to the team template. Common templates: 'standard' (default), 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity'. Format: https://graph.microsoft.com/v1.0/teamsTemplates('template-id') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Team From Group

**Slug:** `MICROSOFT_365_CREATE_TEAM_FROM_GROUP`

Create a Microsoft Teams team from an existing Microsoft 365 group to add Teams capabilities to that group. Optionally configure member, guest, messaging, and fun settings; creation may be asynchronous.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier (GUID) of the Microsoft 365 group to create a team from. Note: The group must not already have a team associated with it, and newly created groups may need time to propagate (up to 15 minutes). |
| `funSettings` | object | No | Settings to configure use of Giphy, memes, and stickers in the team. |
| `guestSettings` | object | No | Settings to configure whether guests can create, update, or delete channels in the team. |
| `memberSettings` | object | No | Settings to configure whether members can perform certain actions in the team. |
| `messagingSettings` | object | No | Settings to configure messaging and mentions in the team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create time off

**Slug:** `MICROSOFT_365_CREATE_TIME_OFF`

Tool to create a new timeOff instance in a team's schedule. Use when you need to create approved time off for a team member (vacation, sick leave, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | ID of the user assigned to this timeOff entry. Must be a valid user GUID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `draftTimeOff` | object | No | Represents a version of the timeOff entry (shared or draft). |
| `sharedTimeOff` | object | No | Represents a version of the timeOff entry (shared or draft). |
| `isStagedForDeletion` | boolean | No | Indicates whether the timeOff is marked for deletion. This process is finalized when the schedule is shared. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create time off reason

**Slug:** `MICROSOFT_365_CREATE_TIME_OFF_REASON`

Tool to create a new time off reason in a team's schedule. Use when you need to define a new category for time off requests with a custom name and icon.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Optional external identifier code for the time off reason. Must be unique within the team and alphanumeric, maximum 100 characters. Useful for integration with external systems. |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `iconType` | string ("none" | "car" | "calendar" | "running" | "plane" | "firstAid" | "doctor" | "notWorking" | "clock" | "juryDuty" | "globe" | "cup" | "phone" | "weather" | "umbrella" | "piggyBank" | "dog" | "cake" | "trafficCone" | "pin" | "sunny") | Yes | Icon to display for this time off reason in the schedule. Choose an icon that visually represents the reason type. |
| `isActive` | boolean | Yes | Whether this time off reason is active and available for use. Set to true to make it available immediately, false to create it as inactive. |
| `displayName` | string | Yes | Name of the time off reason as it will appear in the schedule (e.g., 'Vacation', 'Sick Leave', 'Personal Day'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create time off request

**Slug:** `MICROSOFT_365_CREATE_TIME_OFF_REQUEST`

Tool to create a new time off request in a team's schedule. Use when a team member needs to request time off for vacation, sick leave, or other absences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `odata_type` | string | No | The OData type of the resource. Must be '#microsoft.graph.timeOffRequest'. |
| `endDateTime` | string | Yes | End date and time of the time off request in ISO 8601 format (e.g., '2026-03-16T00:00:00Z'). This represents when the requested time off ends. |
| `senderUserId` | string | Yes | The user ID of the person who is creating the time off request. Must be a valid user GUID in the organization (e.g., '484453b2-158e-479b-9200-07bdb8a3cd12'). |
| `startDateTime` | string | Yes | Start date and time of the time off request in ISO 8601 format (e.g., '2026-03-15T00:00:00Z'). This represents when the requested time off begins. |
| `timeOffReasonId` | string | Yes | The unique identifier of the time off reason. This ID references a predefined reason in the team's schedule (e.g., vacation, sick leave). Format typically starts with 'TOR_' followed by a GUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Upload Session By Path

**Slug:** `MICROSOFT_365_CREATE_UPLOAD_SESSION_BY_PATH`

Create only a resumable upload session at a root-relative path; this action does not upload bytes. It returns a short-lived preauthenticated uploadUrl for an external fragment uploader. Keep the URL secret and do not send an Authorization header to it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | Drive ID. Omit to use the connected user's drive. |
| `file_size` | integer | No | Optional total file size in bytes for an early quota check. This property is supported by OneDrive Personal. |
| `description` | string | No | Optional file description. This property is supported by OneDrive Personal. |
| `defer_commit` | boolean | No | Whether uploading all fragments requires a separate explicit commit. |
| `media_source` | object | No | Optional media-source metadata for OneDrive for Business or SharePoint. |
| `if_match_etag` | string | No | Only create the session when the target resource matches this ETag. |
| `destination_path` | string | Yes | Root-relative path including the destination file name. Use '/' between path segments and do not include a leading slash. |
| `file_system_info` | object | No | File system information on client. |
| `conflict_behavior` | string ("rename" | "fail" | "replace") | No | Behavior when an item with the target name already exists. |
| `drive_item_source` | object | No | Optional source-application metadata for OneDrive for Business or SharePoint. |
| `if_none_match_etag` | string | No | Only create the session when the target resource does not match this ETag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar event attachment

**Slug:** `MICROSOFT_365_CREATE_USER_CALENDAR_EVENT_ATTACHMENT`

Tool to create a new attachment for an event in a specific user's calendar. Use when you need to attach a file or item to an event within a particular user's calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload; required when '@odata.type' is itemAttachment. |
| `name` | string | Yes | The display name of the attachment. |
| `user_id` | string | Yes | The user's ID or userPrincipalName (email address). This identifies the user whose calendar contains the event. |
| `event_id` | string | Yes | The unique opaque identifier of the calendar event (NOT an email address). This is typically a long string starting with 'AAMkA' or 'AQMkA'. Obtain it from listing or searching calendar events. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment") | Yes | Attachment type: '#microsoft.graph.fileAttachment' requires 'contentBytes'; '#microsoft.graph.itemAttachment' requires 'item'. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. This is typically a long opaque string identifying the specific calendar. |
| `content_bytes` | string | No | MUST be base64-encoded file contents (not plain text); required when '@odata.type' is fileAttachment. Raw/plain text must be base64-encoded first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar in user's calendar group

**Slug:** `MICROSOFT_365_CREATE_USER_CALENDAR_GROUP_CALENDAR`

Tool to create a new calendar in a calendar group for a specific user. Use when organizing events into a separate calendar within a specific calendar group for a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name of the new calendar. |
| `color` | string ("auto" | "lightBlue" | "lightGreen" | "lightOrange" | "lightGray" | "lightYellow" | "lightTeal" | "lightPink" | "lightBrown" | "lightPurple" | "lightRed") | No | The theme color to assign to the calendar. Supported values: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightPurple, lightRed. |
| `user_id` | string | No | The unique identifier for the user (can also be userPrincipalName). Use 'me' for the authenticated user. |
| `calendar_group_id` | string | Yes | The unique identifier for the calendar group where the calendar will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user calendar group event

**Slug:** `MICROSOFT_365_CREATE_USER_CALENDAR_GROUP_EVENT`

Tool to create a new calendar event in a specific user's calendar within a calendar group. Use when creating events for a particular user in a calendar that belongs to a calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | object | Yes | The end date, time, and time zone of the event. |
| `body` | object | No | The body content of the event. |
| `start` | object | Yes | The start date, time, and time zone of the event. |
| `show_as` | string | No | The status to show on the calendar. Valid values: 'free', 'tentative', 'busy', 'oof', 'workingElsewhere', 'unknown'. |
| `subject` | string | Yes | The subject/title of the event. |
| `user_id` | string | Yes | The user ID or user principal name (UPN) of the target user. Note: 'me' is not supported for this endpoint - you must provide an actual email address or user ID. |
| `location` | object | No | The location of an event. |
| `attendees` | array | No | List of attendees for the event. |
| `categories` | array | No | A list of category names to associate with the event. |
| `importance` | string | No | The importance of the event. Valid values: 'low', 'normal', 'high'. |
| `calendar_id` | string | Yes | The ID of the calendar within the calendar group where the event will be created. |
| `calendar_group_id` | string | Yes | The ID of the calendar group containing the target calendar. |
| `is_online_meeting` | boolean | No | Set to true to indicate that the event is an online meeting. |
| `online_meeting_provider` | string | No | The online meeting provider. Currently only 'teamsForBusiness' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user contact extension

**Slug:** `MICROSOFT_365_CREATE_USER_CONTACTS_EXTENSIONS`

Tool to create a new open extension on a specific user's contact. Use when you need to store custom data with a contact for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's object ID (GUID) or userPrincipalName (e.g., 'user@contoso.com'). |
| `contact_id` | string | Yes | The unique identifier of the contact to add the extension to. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow reverse DNS format (e.g., Com.Contoso.ExtensionName). |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user event attachment upload session

**Slug:** `MICROSOFT_365_CREATE_USER_EVENT_ATTACHMENT_UPLOAD_SESSION`

Creates an upload session for a file attachment on a specified user's calendar event and returns the upload URL and session details. This tool is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User ID or user principal name. Use the unique identifier or email address of the user whose event you want to add an attachment to. |
| `event_id` | string | Yes | The unique identifier of the calendar event to attach the file to. Obtain from listing or searching calendar events. |
| `attachment_item` | object | Yes | AttachmentItem object specifying the type, name, and size of the attachment to upload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create calendar permission via event

**Slug:** `MICROSOFT_365_CREATE_USER_EVENT_CALENDAR_PERMISSION`

Tool to create a calendar permission via an event's calendar. Use when granting calendar access through an event by specifying the event ID and user email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("read" | "write" | "freeBusyRead" | "limitedRead") | Yes | The permission role to grant. Options: read (view all event details), write (view and edit events), freeBusyRead (view availability only), limitedRead (view availability and titles). |
| `user_id` | string | No | The user ID or principal name of the user. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event whose calendar will have the permission added. |
| `is_removable` | boolean | No | True if the permission can be removed by the user, false otherwise. Optional. |
| `email_address` | object | Yes | Email address object containing the name and address of the person receiving the permission. |
| `is_inside_organization` | boolean | No | True if the user is inside the same organization as the calendar owner, false otherwise. Optional. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user message extension

**Slug:** `MICROSOFT_365_CREATE_USER_MAIL_CHILD_FOLDER_MSG_EXT`

Tool to create a new open extension on a message in a child mail folder for any user. Use when you need to store custom data with a message in a nested folder structure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message to add the extension to. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow the format 'Com.Company.ExtensionName' (e.g., Com.Contoso.TestExtension). |
| `mail_folder_id` | string | Yes | The unique identifier of the parent mail folder. |
| `child_folder_id` | string | Yes | The unique identifier of the child folder containing the message. |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user mail folder message extension

**Slug:** `MICROSOFT_365_CREATE_USER_MAIL_FOLDER_MESSAGE_EXTENSION`

Tool to create a new open extension on a message in a user's mail folder. Use when you need to store custom data with a specific message in a user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's object ID (GUID) or userPrincipalName (e.g., 'user@contoso.com'). |
| `message_id` | string | Yes | The unique identifier of the message to add the extension to. |
| `extension_name` | string | Yes | The unique name for the extension. Must follow the format 'Com.Company.ExtensionName' (e.g., Com.Contoso.Test). |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. |
| `custom_properties` | object | No | Custom properties to store in the extension as key-value pairs. Each property can be a string, number, or boolean value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create reply draft for user mail folder message

**Slug:** `MICROSOFT_365_CREATE_USER_MAIL_FOLDER_MESSAGE_REPLY_DRAFT`

Tool to create a reply draft for a message in a user's mail folder. Use when you need to prepare a reply without sending it immediately. The draft is created in the Drafts folder and includes the RE: prefix in the subject line.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional plain text comment to include in the body of the reply draft. |
| `user_id` | string | Yes | The unique identifier of the user. Use 'me' for the authenticated user, or provide a specific user principal name (email address) or user ID. |
| `message_id` | string | Yes | The unique identifier of the message to reply to. This is a base64-encoded string typically starting with 'AAMk' or 'AQMk'. Obtain this from list messages, get message, or search messages actions. Do NOT use email addresses or conversation IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. Valid well-known names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For other folders, use the base64-encoded folder ID obtained from list mail folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user mail folders child folders

**Slug:** `MICROSOFT_365_CREATE_USER_MAIL_FOLDERS_CHILD_FOLDERS`

Tool to create a new child folder under a specified mail folder for a user. Use when organizing email into nested folder hierarchies within a specific user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | User's ID or userPrincipalName. The unique identifier of the user whose mailbox will contain the new child folder. Use 'me' for the signed-in user with delegated authentication; application authentication requires an explicit user ID or userPrincipalName. |
| `isHidden` | boolean | No | Indicates whether the new child folder should be hidden. Default is false. Once set during creation, this property cannot be updated later. |
| `displayName` | string | Yes | The display name of the new child folder. This is the name that will be visible to the user in their mail client. |
| `mailFolderId` | string | Yes | The ID or well-known name of the parent mail folder under which to create the child folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For folder IDs, obtain them from listing mail folders - they are base64-encoded strings (e.g., 'AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAACAQwAAAA='). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user master category

**Slug:** `MICROSOFT_365_CREATE_USER_MASTER_CATEGORY`

Tool to create a new category in a user's master category list. Use when you need to add a category to organize email and calendar items for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `color` | string ("preset0" | "preset1" | "preset2" | "preset3" | "preset4" | "preset5" | "preset6" | "preset7" | "preset8" | "preset9" | "preset10" | "preset11" | "preset12" | "preset13" | "preset14" | "preset15" | "preset16" | "preset17" | "preset18" | "preset19" | "preset20" | "preset21" | "preset22" | "preset23" | "preset24") | No | A pre-set color constant for the category. Allowed values: preset0 through preset24. |
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `display_name` | string | Yes | Unique name that identifies the category in the user's mailbox. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user message

**Slug:** `MICROSOFT_365_CREATE_USER_MESSAGE`

Tool to create a new draft message in a user's mailbox. Use when creating draft messages for a specific user or the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The body of the message. |
| `from` | object | No | Represents a message recipient. |
| `sender` | object | No | Represents a message recipient. |
| `subject` | string | No | The subject of the message. |
| `user_id` | string | No | The user's ID, userPrincipalName (email address), or 'me' to represent the authenticated user. Creates the message in the specified user's mailbox. |
| `categories` | array | No | A list of categories to assign to the message. |
| `importance` | string ("low" | "normal" | "high") | No | Message importance levels. |
| `cc_recipients` | array | No | The Cc: recipients for the message. |
| `to_recipients` | array | No | The To: recipients for the message. |
| `bcc_recipients` | array | No | The Bcc: recipients for the message. |
| `internet_message_headers` | array | No | Custom message headers to add to the message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user message attachment

**Slug:** `MICROSOFT_365_CREATE_USER_MESSAGE_ATTACHMENT`

Tool to create an attachment on a message in a user's mail folder. Use when you need to attach a file or item to an existing message in a specific user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item` | object | No | The nested item payload (message, event, or contact) with its own '@odata.type'. Required when '@odata.type' is '#microsoft.graph.itemAttachment'. |
| `name` | string | Yes | The display name of the attachment (e.g., file name like 'document.pdf' or 'image.png'). |
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's UPN (user principal name) or the user's object ID. |
| `is_inline` | boolean | No | Set to true if the attachment should appear inline within the message body content. |
| `content_id` | string | No | Content ID for inline attachments, used to reference the attachment within the HTML message body. |
| `message_id` | string | Yes | The unique identifier of the message to attach to. This is NOT an email address but an opaque string identifier returned by Microsoft Graph API operations. |
| `odata_type` | string ("#microsoft.graph.fileAttachment" | "#microsoft.graph.itemAttachment" | "#microsoft.graph.referenceAttachment") | Yes | The OData type of the attachment. Use '#microsoft.graph.fileAttachment' for file attachments (requires 'contentBytes'), '#microsoft.graph.itemAttachment' for embedded items like messages or events (requires 'item'), or '#microsoft.graph.referenceAttachment' for reference attachments (requires link and permission details). |
| `content_type` | string | No | The MIME type of the attachment (e.g., 'text/plain', 'application/pdf'). Optional but recommended for file attachments. |
| `content_bytes` | string | No | Base64-encoded content of the file attachment. Required when '@odata.type' is '#microsoft.graph.fileAttachment'. Must be valid base64-encoded data. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. This is typically a long opaque string identifying the specific folder. |
| `content_location` | string | No | URI indicating the content location of the attachment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user nested section group

**Slug:** `MICROSOFT_365_CREATE_USER_NESTED_SECTION_GROUP`

Create a section group inside another user OneNote section group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name. Defaults to the signed-in user (`me`). |
| `display_name` | string | Yes | Name for the nested section group. It must be unique at this level. |
| `section_group_id` | string | Yes | Parent section group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section in user notebook

**Slug:** `MICROSOFT_365_CREATE_USER_NOTEBOOKS_SECTIONS`

Creates a OneNote section in a specified user's notebook and returns available created-section details. The section name must be unique within the same hierarchy level, no longer than 50 characters, and cannot contain ?*/:<>|&#'%~.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Use 'me' for the current signed-in user. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook. |
| `display_name` | string | Yes | The name of the new section. Must be 50 characters or fewer and cannot contain the characters: ?*/:<>&#124;&#''%~ |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user online meeting

**Slug:** `MICROSOFT_365_CREATE_USER_ONLINE_MEETING`

Tool to create a new Microsoft Teams online meeting for a specific user. Use when you need to create an online meeting on behalf of a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subject` | string | Yes | The subject or title for the online meeting. |
| `user_id` | string | Yes | The unique identifier (user ID) of the user for whom to create the online meeting. Use 'me' for the authenticated user or a specific user GUID. |
| `externalId` | string | No | Custom external identifier for the meeting. Maximum length is 256 characters. |
| `endDateTime` | string | Yes | The meeting end date and time in ISO 8601 format (e.g., '2026-02-24T15:00:00.0000000Z'). Must be after startDateTime. |
| `isBroadcast` | boolean | No | Indicates whether this meeting is a Teams live event. Deprecated. |
| `startDateTime` | string | Yes | The meeting start date and time in ISO 8601 format (e.g., '2026-02-24T14:30:00.0000000Z'). |
| `meetingTemplateId` | string | No | The ID of the meeting template. Using a custom meeting template to create a meeting is a Teams Premium feature. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user OneNote page

**Slug:** `MICROSOFT_365_CREATE_USER_PAGES`

Creates a new OneNote page in the default section of the default notebook for a specific user. Use this action when you need to programmatically create a new page in a user's OneNote notebook. The page content must be provided as HTML. The page will be created in the default section of the default notebook unless a specific section name is provided via the sectionName query parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier or user principal name (UPN) of the user who owns the OneNote notebook. |
| `resources` | array | No | Optional named binary resources referenced from html_content as name:<resource name>. |
| `html_content` | string | Yes | The HTML content for the OneNote page. Must be valid HTML including html, head, and body tags. |
| `section_name` | string | No | Optional section name to create the page in a specific section of the default notebook. If the section doesn't exist, a new section will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create section in user section group

**Slug:** `MICROSOFT_365_CREATE_USER_SECTION_GROUPS_SECTIONS`

Creates a new OneNote section within a specified section group for a specific user. Use this action when you need to add a new section to organize OneNote pages within a section group's hierarchy for a specific user's notebook. The section name must be unique within the same hierarchy level, cannot exceed 50 characters, and cannot contain the characters: ?*/:<>|&#''%~. Repeating the call with the same display name may create duplicate sections depending on the API's handling of unique-name constraints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `display_name` | string | Yes | The name of the new section. Must be 50 characters or fewer and cannot contain the characters: ?*/:<>&#124;&#''%~ |
| `section_group_id` | string | Yes | The unique identifier of the section group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user section page

**Slug:** `MICROSOFT_365_CREATE_USER_SECTIONS_PAGES4`

Creates a OneNote page in a specified user's section using HTML content, with optional named binary resources. When a title or creation time is supplied, the action wraps the content in an HTML document; otherwise, provide a complete HTML document.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `resources` | array | No | Optional named binary resources referenced from html_content as name:<resource name>. |
| `page_title` | string | No | The title for the OneNote page. Required when page_created_datetime is provided, because OneNote requires a title in the HTML head section generated by this action. |
| `section_id` | string | Yes | The unique identifier of the OneNote section where the page will be created. |
| `html_content` | string | Yes | The HTML for the OneNote page. If neither page_title nor page_created_datetime is provided, send a complete HTML document (with html/head/body tags). If either is provided, send only the body fragment — the action wraps it in <html><head><title>{page_title}</title>...</head><body>...</body></html> for you, so do not include outer html/head/body tags in that case. |
| `page_created_datetime` | string | No | The date and time when the page was created in ISO 8601 format (UTC). Example: 2015-07-22T09:00:00-08:00. If not provided, current time is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Workbook

**Slug:** `MICROSOFT_365_CREATE_WORKBOOK`

Tool to create a new Excel workbook file at a specified drive path. Generates a new .xlsx file with specified worksheets and data, then uploads it to OneDrive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | Yes | Path including folder structure and file name, ending with .xlsx, e.g., 'Documents/newWorkbook.xlsx' |
| `drive_id` | string | No | ID of the drive (use 'me' for the user's default drive) |
| `worksheet_data` | object | No | Data to populate worksheets. Dict mapping worksheet names to lists of rows (each row is a list of cell values). Example: {'Sheet1': [['Name', 'Points'], ['LeBron', 40000], ['Jordan', 32292]]} |
| `worksheet_names` | array | No | List of worksheet names to create in the workbook. If not provided, a single worksheet named 'Sheet1' will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Workbook Sharing Link

**Slug:** `MICROSOFT_365_CREATE_WORKBOOK_SHARING_LINK`

Create or retrieve an application-owned sharing link for a workbook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("view" | "edit" | "embed") | Yes | The type of sharing link to create. |
| `scope` | string ("anonymous" | "organization") | No | Who can use the link. `anonymous`: anyone with the link can use it; choose it only when the user explicitly asks for anonymous or 'anyone with the link' access, never by inference. `organization`: people signed in to the tenant. If omitted, Microsoft Graph applies the administrator-defined default scope, which may be `anonymous`. User-specific links require a separate recipient grant and are not supported by this action. |
| `item_id` | string | Yes | The ID of the DriveItem representing the workbook. |
| `drive_id` | string | No | The ID of the drive containing the workbook. If omitted or set to 'me', the current user's default OneDrive is used. |
| `expirationDateTime` | string | No | The date and time when the sharing permission expires. |
| `retainInheritedPermissions` | boolean | No | Whether existing inherited permissions remain when the item is shared for the first time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Decline calendar event

**Slug:** `MICROSOFT_365_DECLINE_EVENT`

Declines a calendar event invitation, optionally including a comment or proposed new time and controlling whether a response is sent. Returns a success message when the request is accepted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Optional text message to include in the response to the event organizer explaining the decline. |
| `user_id` | string | No | The user's primary SMTP address, user principal name (UPN), or the alias 'me' (for the signed-in user) to identify the calendar owner. |
| `event_id` | string | Yes | The unique identifier of the calendar event to decline. |
| `send_response` | boolean | No | If true, a decline response is sent to the organizer; if false, no response is sent. Default is true. |
| `proposed_new_time` | object | No | A time period with start and end times. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Appointment

**Slug:** `MICROSOFT_365_DELETE_APPOINTMENT`

Permanently delete an appointment without invoking Microsoft Bookings' cancellation-message action. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `appointment_id` | string | Yes | ID of the appointment to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Booking Business

**Slug:** `MICROSOFT_365_DELETE_BOOKING_BUSINESS`

Permanently delete one shared booking business and all of its Microsoft Bookings data. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete calendar

**Slug:** `MICROSOFT_365_DELETE_CALENDAR`

Tool to delete a calendar other than the default calendar from a user's mailbox. Use when removing calendars that are no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `calendar_id` | string | Yes | Unique identifier of the calendar to delete. Cannot be the default calendar. This ID can be obtained from List Calendars action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete calendar event

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_EVENT`

Tool to delete a calendar event from a user's Outlook calendar. Use when removing events that are no longer needed or were created in error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to delete. This ID can be obtained from List Events or Get Event actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user calendar event attachment

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_EVENT_ATTACHMENT`

Tool to delete an attachment from an event in a specific user's calendar. Use when you need to remove a file or item attachment from an event in a calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment to delete. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. Can be obtained from listing calendars. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Can be obtained from listing event attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete event from specific calendar

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_EVENT_FROM_SPECIFIC_CALENDAR`

Tool to delete an event from a specific calendar in Outlook. Use when removing events from secondary or shared calendars by providing both calendar ID and event ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or email address to delete the event for. Required for S2S (Service-to-Service) authentication. If not provided, defaults to /me endpoint for delegated authentication. |
| `event_id` | string | Yes | The unique identifier of the event to delete from the specified calendar. This ID can be obtained from List Events or Get Event actions. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. This ID can be obtained from List Calendars action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user calendar group calendar

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_FROM_GROUP`

Tool to delete a calendar from a specific user's calendar group in Microsoft Outlook. Use when removing a calendar that belongs to a user's calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user whose calendar group calendar to delete. Can be the user's email address or user ID. |
| `calendar_id` | string | Yes | The unique identifier of the calendar to delete. Note: Default calendars with isRemovable: false cannot be deleted. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the calendar to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete calendar group

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_GROUP`

Tool to delete a calendar group other than the default calendar group. Use when removing unused calendar groups from the mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `calendar_group_id` | string | Yes | Unique identifier of the calendar group to delete. Cannot be used to delete the default calendar group. This ID can be obtained from List Calendar Groups action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user calendar group calendar event

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_GROUP_CALENDAR_EVENT`

Tool to delete a calendar event from a specific user's calendar within a calendar group. Use when removing events from calendars organized under calendar groups for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Must be an actual user ID, not 'me' shortcut. |
| `event_id` | string | Yes | The unique identifier of the calendar event to delete. This ID can be obtained from List Events or Get Event actions. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the target calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete calendar group event attachment

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_GROUP_EVENT_ATTACHMENT`

Tool to delete an attachment from an event in a calendar within a calendar group. Use when you need to remove a file or item attachment from an event in a specific calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the authenticated user (delegated auth) or specify a user ID/email for S2S (app-only) authentication. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment to delete. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Can be obtained from listing event attachments. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the target calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Calendar Group Event

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_GROUP_EVENT_PERMANENTLY`

Tool to permanently delete a calendar event from a calendar within a calendar group. Use when you need to ensure an event cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier (GUID) or user principal name (email) of the user. Required for app-only (S2S) authentication. If not provided, defaults to /me endpoint for delegated authentication. |
| `event_id` | string | Yes | The unique identifier of the calendar event to permanently delete. The event will be permanently deleted and cannot be recovered by the user. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the target calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Calendar

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_PERMANENTLY`

Permanently deletes a calendar from a user's mailbox. Unlike standard DELETE, this action makes the calendar permanently unrecoverable. Use when you need to ensure a calendar cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `calendar_id` | string | Yes | Unique identifier of the calendar to permanently delete. The calendar will be permanently deleted and cannot be recovered by the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Calendar Group Calendar Permission

**Slug:** `MICROSOFT_365_DELETE_CALENDAR_PERMISSION`

Tool to delete a calendar permission from a user's calendar within a calendar group. Use when revoking calendar sharing access for specific users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the group. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to delete. This ID can be obtained from listing calendar permissions. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Call Operation

**Slug:** `MICROSOFT_365_DELETE_CALL_OPERATION`

Tool to delete a navigation property operation for a communications call. Use when you need to remove a specific commsOperation from a call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `call_id` | string | Yes | The unique identifier of the call. |
| `if_match` | string | No | ETag value for conditional deletion. Use this to ensure the operation hasn't changed since last retrieved. |
| `comms_operation_id` | string | Yes | The unique identifier of the commsOperation to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team channel

**Slug:** `MICROSOFT_365_DELETE_CHANNEL`

Tool to delete a channel from a Microsoft Teams team. Use when you need to permanently remove a channel. Note that the General channel cannot be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team that contains the channel. Must be a valid GUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the channel hasn't been modified since it was last retrieved. |
| `channel_id` | string | Yes | The unique identifier of the channel to delete. Can be in thread format (e.g., '19:72737dcaab464ad99ab3ffda590e1854@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Checklist Item

**Slug:** `MICROSOFT_365_DELETE_CHECKLIST_ITEM`

Delete a checklist item (subtask) from a Microsoft To Do task. This permanently removes the checklist item (this cannot be undone).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list that contains the task. |
| `task_id` | string | Yes | Id of the task that contains the checklist item. |
| `checklist_item_id` | string | Yes | Id (GUID) of the checklist item (subtask) to delete. This cannot be undone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Child Contact Folder

**Slug:** `MICROSOFT_365_DELETE_CHILD_CONTACT_FOLDER_PERMANENTLY`

Permanently deletes a child contact folder. Unlike standard DELETE, this action makes the folder permanently unrecoverable. Use when you need to ensure a child contact folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `child_folder_id` | string | Yes | Unique identifier of the child contact folder to permanently delete. The folder will be permanently deleted and cannot be recovered by the user. |
| `contact_folder_id` | string | Yes | Unique identifier of the parent contact folder containing the child folder to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Child Folder Message

**Slug:** `MICROSOFT_365_DELETE_CHILD_FOLDER_MESSAGE`

Tool to delete a message from a child mail folder in Outlook. Use when removing messages from nested folder structures or cleaning up messages in subfolders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message to delete from the child folder. Typically a base64-encoded string obtained from list messages or search messages actions. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox'. For folder IDs, use base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA=') obtained from list mail folders actions. |
| `child_folder_id` | string | Yes | The ID of the child folder containing the message to delete. Must be a base64-encoded folder ID (e.g., 'AAMkADAwATMwMAExAAA=') obtained from list child folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `MICROSOFT_365_DELETE_CONTACT`

Permanently deletes an existing contact, using its `contact_id` (obtainable via 'List User Contacts' or 'Get Contact'), from the Outlook contacts of the user specified by `user_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `contact_id` | string | Yes | Identifier of the contact to be deleted, typically obtained from 'List User Contacts' or 'Get Contact'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete contact folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FOLDER`

Tool to delete a contact folder from the user's mailbox. Use when you need to remove an existing contact folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `contact_folder_id` | string | Yes | Identifier of the contact folder to be deleted. Must be a valid contact folder ID obtained from 'Get Contact Folders' or 'Create Contact Folder'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user contact folder child folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FOLDER_CHILD_FOLDER`

Tool to delete a child contact folder from a parent contact folder for a specific user. Use when removing nested contact folders from a user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `child_folder_id` | string | Yes | The unique identifier of the child contact folder to delete. This ID can be obtained from Get Contact Folders action. |
| `contact_folder_id` | string | Yes | The unique identifier of the parent contact folder. This ID can be obtained from Get Contact Folders action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact from Folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FOLDER_CONTACT`

Tool to permanently delete a contact from a specific contact folder. Use when removing contacts from organized folders in Outlook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `contact_id` | string | Yes | Unique identifier of the contact to delete from the folder, typically obtained from 'List User Contacts' or 'Get Contact'. |
| `contact_folder_id` | string | Yes | Unique identifier of the contact folder containing the contact to delete, typically obtained from 'Get Contact Folders'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Contact Folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FOLDER_PERMANENTLY`

Permanently deletes a contact folder. Unlike standard DELETE, this action makes the folder permanently unrecoverable. Use when you need to ensure a contact folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `contact_folder_id` | string | Yes | Unique identifier of the contact folder to permanently delete. The folder will be permanently deleted and cannot be recovered by the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete User Contact from Child Folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FROM_CHILD_FOLDER_PERMANENTLY`

Tool to permanently delete a contact from a child folder for a specific user. Use when you need to ensure a contact cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's email address (UPN) or their Azure AD object ID. |
| `contact_id` | string | Yes | Identifier of the contact to be permanently deleted. The contact will be permanently deleted and cannot be recovered. Must be obtained from 'List Contacts' or 'Get Contact'. |
| `child_folder_id` | string | Yes | Identifier of the child folder within the parent contact folder containing the contact to permanently delete. Must be a valid child folder ID. |
| `contact_folder_id` | string | Yes | Identifier of the parent contact folder. Must be a valid contact folder ID obtained from 'Get Contact Folders' or 'List Contact Folders'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Contact from Folder

**Slug:** `MICROSOFT_365_DELETE_CONTACT_FROM_FOLDER_PERMANENTLY`

Permanently deletes a contact from a specific contact folder. Unlike standard DELETE, this action makes the contact permanently unrecoverable. Use when you need to ensure a contact in a folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `contact_id` | string | Yes | Unique identifier of the contact to permanently delete. The contact will be permanently deleted and cannot be recovered by the user. |
| `contact_folder_id` | string | Yes | Unique identifier of the contact folder containing the contact to permanently delete. Must be a valid contact folder ID obtained from list or get contact folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Contact

**Slug:** `MICROSOFT_365_DELETE_CONTACT_PERMANENTLY`

Permanently deletes a contact. Unlike standard DELETE, this action makes the contact permanently unrecoverable. Use when you need to ensure a contact cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `contact_id` | string | Yes | Unique identifier of the contact to permanently delete. The contact will be permanently deleted and cannot be recovered by the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete contact extension

**Slug:** `MICROSOFT_365_DELETE_CONTACTS_EXTENSIONS`

Tool to delete a navigation property extension from a contact within a child folder. Use when removing custom extension data from a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Can be the user's object ID (GUID) or userPrincipalName (e.g., 'user@contoso.com'). If not provided, uses the authenticated user context (/me endpoint). |
| `contact_id` | string | Yes | The unique identifier of the contact that has the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |
| `child_folder_id` | string | Yes | The unique identifier of the child folder within the contact folder. |
| `contact_folder_id` | string | Yes | The unique identifier of the contact folder containing the contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer

**Slug:** `MICROSOFT_365_DELETE_CUSTOMER`

Permanently delete one saved customer from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the customer. |
| `customer_id` | string | Yes | ID of the saved customer to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Custom Question

**Slug:** `MICROSOFT_365_DELETE_CUSTOM_QUESTION`

Permanently delete one custom intake question from a booking business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the booking business that owns the question. |
| `question_id` | string | Yes | ID of the custom question to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team schedule day note

**Slug:** `MICROSOFT_365_DELETE_DAY_NOTE`

Tool to delete a day note from a Microsoft Teams schedule. Use when you need to remove a day note from a specific date in the team schedule. The If-Match header with ETag value is required for deletion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team. Must be a valid GUID. |
| `if_match` | string | Yes | ETag value for conditional delete (REQUIRED). Use this to ensure the day note hasn't been modified since it was retrieved. Obtain this value from a GET request to the day note. |
| `day_note_id` | string | Yes | The unique identifier of the dayNote to delete. Typically starts with 'NOTE_' prefix. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete DOCX

**Slug:** `MICROSOFT_365_DELETE_DOCX`

Move one DOCX to the provider recycle bin only when its current eTag matches. This action does not bypass shared locks or checked-out state. A successful result does not guarantee permanent erasure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID to move to the provider recycle bin. |
| `drive_id` | string | Yes | Drive containing the DOCX. |
| `expected_etag` | string | Yes | Current driveItem eTag; deletion fails if the item changed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Drive Item Permission

**Slug:** `MICROSOFT_365_DELETE_DRIVE_ITEM_PERMISSION`

Delete a sharing permission from a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `permission_id` | string | Yes | Microsoft Graph permission ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Drive Item Version

**Slug:** `MICROSOFT_365_DELETE_DRIVE_ITEM_VERSION`

Delete a SharePoint drive item version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `version_id` | string | Yes | Microsoft Graph version ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Email Rule

**Slug:** `MICROSOFT_365_DELETE_EMAIL_RULE`

Delete an email rule permanently; deletion is irreversible. Confirm rule details with the user before executing. Removing a rule may alter the firing order and stop-processing behavior of remaining rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | ID of the email rule to delete. |
| `user_id` | string | No | The unique identifier of the user. Can use 'me' shortcut for /me/ path or actual user ID for /users/{user_id}/ path. Required for S2S (app-only) authentication. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete calendar event (Deprecated)

**Slug:** `MICROSOFT_365_DELETE_EVENT`

DEPRECATED: Use OUTLOOK_DELETE_CALENDAR_EVENT instead. Tool to delete an event from the user's calendar. Use when removing calendar events. If this is a meeting, deleting it removes it from the organizer's calendar and sends a cancellation message to all attendees. Require explicit user confirmation before calling this action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the authenticated user or a specific user ID for S2S (app-only) authentication. |
| `event_id` | string | Yes | The unique identifier of the event to delete. This ID can be obtained from list events or get event actions. For recurring events, verify whether this ID is the series master (deletes entire series) or a specific instance (deletes one occurrence). Obtain from OUTLOOK_LIST_EVENTS, OUTLOOK_GET_EVENT, or OUTLOOK_GET_CALENDAR_VIEW. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete event attachment

**Slug:** `MICROSOFT_365_DELETE_EVENT_ATTACHMENT`

Tool to delete an attachment from an Outlook calendar event. Use when you need to remove a file or item attachment from an existing event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's email address or 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment to delete. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Can be obtained from listing event attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete event extension

**Slug:** `MICROSOFT_365_DELETE_EVENT_EXTENSION`

Tool to delete an open extension from a calendar event in a calendar group. Use when removing custom extension data that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID) or user principal name (email) of the target user. Required for S2S (app-only) authentication. If not provided, defaults to '/me' for delegated authentication. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the extension to delete. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Event

**Slug:** `MICROSOFT_365_DELETE_EVENT_PERMANENTLY`

Permanently deletes a calendar event. Unlike standard DELETE, this action makes the event permanently unrecoverable. Use when you need to ensure an event cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `event_id` | string | Yes | Unique identifier of the calendar event to permanently delete. The event will be permanently deleted and cannot be recovered by the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Folder

**Slug:** `MICROSOFT_365_DELETE_FOLDER`

Move a folder and its descendant tree to the Microsoft Graph recycle bin after verifying the item is a folder. The delete uses a caller-supplied eTag or, when none is supplied, the preflight eTag if available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | Drive ID containing the folder; omit for the signed-in user's default OneDrive. |
| `folder_id` | string | Yes | DriveItem ID of the folder to move to the recycle bin. A metadata preflight rejects non-folder items. |
| `if_match_etag` | string | No | Expected folder eTag or cTag. When omitted, the action uses the eTag returned by its folder metadata preflight when available. |
| `bypass_checked_out` | boolean | No | Send Microsoft's documented bypass-checked-out preference. |
| `bypass_shared_lock` | boolean | No | Send Microsoft's documented bypass-shared-lock preference. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete group section page

**Slug:** `MICROSOFT_365_DELETE_GROUP_SECTION_GROUP_PAGE_CONTENT`

Deletes a OneNote page within a Microsoft 365 group's OneNote workspace. Canonical action for this group page deletion route. Microsoft Graph returns 204 No Content after accepting the deletion; OneNote retention policies may still apply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to delete. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `section_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `section_group_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete OneNote page from section

**Slug:** `MICROSOFT_365_DELETE_GROUP_SECTIONS_PAGES2`

Delete a OneNote page by page ID within a Microsoft 365 group. Legacy notebook and section IDs are ignored; OneNote retention policies may apply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to delete. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `section_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `notebook_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Item

**Slug:** `MICROSOFT_365_DELETE_ITEM`

Delete a DriveItem (file or folder) by ID from a specified drive or user's OneDrive, defaulting to the authenticated user's drive. The item is moved to the recycle bin rather than permanently deleted; storage quota is not freed until the recycle bin is emptied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the DriveItem (file or folder) to be deleted. |
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user). Required for S2S (app-only) auth. |
| `drive_id` | string | No | The unique identifier of the Drive where the item is located. If not provided, the action will target the user's personal OneDrive (me/drive). Always specify drive_id explicitly for group drives, SharePoint site drives, or shared libraries to avoid silently querying the wrong drive. |
| `if_match` | string | No | (Optional) If this request header is included and the eTag (or cTag) provided doesn't match the current tag on the item, a `412 Precondition Failed` response is returned, and the item won't be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Drive Item

**Slug:** `MICROSOFT_365_DELETE_ITEM_PERMANENTLY`

Tool to permanently delete a driveItem by its ID without moving it to the recycle bin. Use when you need to irreversibly remove a file or folder from OneDrive or SharePoint. This action cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the drive item (file or folder) to permanently delete. This action deletes the item without moving it to the recycle bin and cannot be undone. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the item to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Drive Item Permission

**Slug:** `MICROSOFT_365_DELETE_ITEM_PERMISSION`

Tool to delete a permission from a drive item. Use when you need to revoke sharing access to a file or folder. Only non-inherited sharing permissions can be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the drive item (file or folder). |
| `perm_id` | string | Yes | The unique identifier of the permission to delete. Only non-inherited sharing permissions can be deleted. |
| `site_id` | string | No | The unique identifier of a SharePoint site. Use this if the item is in a SharePoint site's drive. |
| `user_id` | string | No | The unique identifier of a user. Use this if the item is in a specific user's drive (other than 'me'). |
| `drive_id` | string | No | The unique identifier of the drive. If not provided, the action will target the user's personal OneDrive (me/drive). |
| `group_id` | string | No | The unique identifier of the group. Use this if the item is in a group's drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint List

**Slug:** `MICROSOFT_365_DELETE_LIST`

Delete a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint List Column

**Slug:** `MICROSOFT_365_DELETE_LIST_COLUMN`

Delete a SharePoint list column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `column_id` | string | Yes | Microsoft Graph columnDefinition ID or column name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint List Content Type

**Slug:** `MICROSOFT_365_DELETE_LIST_CONTENT_TYPE`

Delete a SharePoint list content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint List Item

**Slug:** `MICROSOFT_365_DELETE_LIST_ITEM`

Delete a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete mail folder

**Slug:** `MICROSOFT_365_DELETE_MAIL_FOLDER`

Delete a mail folder from a user's mailbox. The tool rejects well-known system folder names as folder identifiers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | Identifier for the user whose mailbox contains the folder to delete. Use 'me' for the authenticated user or provide the user's principal name or ID. |
| `folder_id` | string | Yes | The Microsoft Graph folder ID (a base64-encoded string like 'AAMkAGI0ZjExAAA=') of the custom mail folder to delete. IMPORTANT: You can ONLY delete custom folders you created. System folders (Inbox, Drafts, SentItems, DeletedItems, JunkEmail, Outbox, Archive, etc.) are 'distinguished folders' and CANNOT be deleted - attempting to do so will result in an error. Use the 'List mail folders' action to find the ID of a custom folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Mail Folder Message

**Slug:** `MICROSOFT_365_DELETE_MAIL_FOLDER_MESSAGE`

Tool to delete a message from a specific mail folder in Outlook. Use when removing messages from a particular folder or cleaning up folder contents.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message to delete from the mail folder. Typically a base64-encoded string obtained from list messages or search messages actions. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox'. For folder IDs, use base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA=') obtained from list mail folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete master category

**Slug:** `MICROSOFT_365_DELETE_MASTER_CATEGORY`

Tool to delete a category from the user's master category list. Use when removing unused or obsolete categories from the mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `category_id` | string | Yes | Unique identifier of the Outlook category to delete. This ID can be obtained from Get Master Categories action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Calendars Calendar Permission

**Slug:** `MICROSOFT_365_DELETE_ME_CALENDAR_PERMISSION`

Tool to delete a calendar permission from a specific user's calendar. Use when revoking access to a shared calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. This ID can be obtained from List Calendars action. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to delete. This ID can be obtained from listing calendar permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete contact extension

**Slug:** `MICROSOFT_365_DELETE_ME_CONTACT_EXTENSION`

Tool to delete an open extension from a contact. Use when removing custom data extensions that are no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the authenticated user. |
| `contact_id` | string | Yes | Unique identifier of the contact from which to delete the extension. |
| `extension-id` | string | Yes | The extension identifier. Can be the extension name or fully qualified name (e.g., 'Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user contact folder contact extension

**Slug:** `MICROSOFT_365_DELETE_ME_CONTACT_FOLDER_CONTACT_EXTENSION`

Tool to delete an extension from a contact in a user's contact folder. Use when removing custom extension data from a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `contact_id` | string | Yes | The unique identifier of the contact that has the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.com.contoso.roamingSettings) or just the extension name (e.g., com.contoso.roamingSettings). |
| `contact_folder_id` | string | Yes | The unique identifier of the contact folder containing the contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user event extension

**Slug:** `MICROSOFT_365_DELETE_ME_EVENT_EXTENSION`

Tool to delete an open extension from a user's calendar event. Use when removing custom extension data that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral) or just the extension name (e.g., Com.Contoso.Referral). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user event attachment

**Slug:** `MICROSOFT_365_DELETE_ME_EVENTS_ATTACHMENTS`

Tool to delete an attachment from a user's Outlook event. Use when you need to remove a file or item attachment from an existing event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event containing the attachment to delete. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Can be obtained from listing event attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete inference classification override

**Slug:** `MICROSOFT_365_DELETE_ME_INFERENCE_CLASSIFICATION_OVERRIDE`

Tool to delete an inference classification override for a specific sender. Use when removing custom Focused Inbox rules that were previously set.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `override_id` | string | Yes | The unique identifier of the inference classification override to delete. This ID can be obtained from the List Inference Classification Overrides action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete mail folder child folder

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDER_CHILD_FOLDER`

Tool to delete a child mail folder from a parent mail folder. Use when removing nested mail folders from a user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `mail_folder_id` | string | Yes | The unique identifier of the parent mail folder. This ID can be obtained from List Mail Folders action. |
| `child_folder_id` | string | Yes | The unique identifier of the child mail folder to delete. This ID can be obtained from List Mail Folders action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Child Mail Folder

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDER_CHILD_FOLDER_PERMANENTLY`

Permanently deletes a child mail folder from a parent mail folder. Unlike standard DELETE, this action makes the folder permanently unrecoverable. Use when you need to ensure a child folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Use 'me' for the authenticated user, or provide the user's email address (UPN) or their Azure AD object ID. |
| `mail_folder_id` | string | Yes | Unique identifier of the parent mail folder. Must be a valid mail folder ID obtained from 'List Mail Folders' or 'List Child Mail Folders'. |
| `child_folder_id` | string | Yes | Unique identifier of the child folder to permanently delete. The folder will be permanently deleted and cannot be recovered by the user. Must be obtained from 'List Child Mail Folders'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete mail folder message rule

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDER_MESSAGE_RULE`

Tool to delete a message rule from a specific mail folder. Use when you need to remove an email automation rule from a folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | The unique identifier of the message rule to delete. Must be obtained from a list or get operation on message rules. |
| `user_id` | string | No | The unique identifier of the user. Use 'me' as alias for the authenticated user, or provide a specific user ID or user principal name. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message rule. Can be a well-known folder name (e.g., 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail') or a folder ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user message extension

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDERS_CHILD_FOLDERS_MESSAGES_EXTENS`

Delete user message extension

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user or 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message that has the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the child folder. |
| `child_folder_id` | string | Yes | The unique identifier of the child folder within the mail folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Message Attachment (Deprecated)

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDERS_MESSAGES_ATTACHMENTS`

DEPRECATED: Use OUTLOOK_DELETE_MESSAGE_ATTACHMENT instead. Tool to delete an attachment from a message in a mail folder. Use when removing file or item attachments from messages in Outlook mail folders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the authenticated user or a specific user ID for S2S (app-only) authentication. |
| `message_id` | string | Yes | The unique identifier of the message containing the attachment. Must be a valid base64-encoded message ID obtained from listing messages or search operations. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Must be a valid attachment ID obtained from listing message attachments. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. Can be a well-known name ('inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox') or a base64-encoded folder ID obtained from listing mail folders. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete message extension

**Slug:** `MICROSOFT_365_DELETE_ME_MAIL_FOLDERS_MESSAGES_EXTENSIONS`

Tool to delete a navigation property extension from a message within a mail folder. Use when removing custom extension data from a message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or principal name. Required for app-only (S2S) authentication. If not provided, uses 'me' for delegated authentication. |
| `message_id` | string | Yes | The unique identifier of the message that has the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Composio.TestExtension) or just the extension name (e.g., Com.Composio.TestExtension). |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Message Attachment

**Slug:** `MICROSOFT_365_DELETE_ME_MESSAGES_ATTACHMENTS`

Tool to delete an attachment from a message. Use when removing file or item attachments from messages in Outlook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier or user principal name (email) of the user. Required for S2S (app-only) authentication. Can be either a GUID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f') or an email address (e.g., 'user@example.com'). If not provided, defaults to '/me' for delegated authentication. |
| `message_id` | string | Yes | The unique identifier of the message containing the attachment. Must be a valid base64-encoded message ID obtained from listing messages or search operations. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Must be a valid attachment ID obtained from listing message attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Message

**Slug:** `MICROSOFT_365_DELETE_MESSAGE`

Tool to permanently delete an Outlook email message by its message_id. Use when removing unwanted messages, cleaning up drafts, or performing mailbox maintenance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `message_id` | string | Yes | Unique identifier of the message to delete, typically obtained from 'List Emails' or 'Search Messages'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Message Attachment

**Slug:** `MICROSOFT_365_DELETE_MESSAGE_ATTACHMENT`

Delete an attachment from a message in a mail folder or its child folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message containing the attachment. Must be a valid message ID obtained from listing messages, not a folder ID. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Obtain this ID from listing message attachments. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder. Can be a well-known name ('inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox') or a folder ID obtained from listing mail folders. |
| `child_folder_id` | string | No | The unique identifier of the child folder within the mail folder. If provided, targets the message inside mailFolders/{id}/childFolders/{id}. If omitted, targets the message directly inside mailFolders/{id}. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete message extension

**Slug:** `MICROSOFT_365_DELETE_MESSAGE_EXTENSION`

Tool to delete an open extension from an Outlook message. Use when removing custom extension data that is no longer needed from a message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The UPN (User Principal Name) or ID of the user; use 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the message containing the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Message (Folder-Scoped) (Deprecated)

**Slug:** `MICROSOFT_365_DELETE_MESSAGE_PERMANENTLY_FROM_FOLDER`

DEPRECATED: Use OUTLOOK_PERMANENT_DELETE_MESSAGE instead. Tool to permanently delete a message from a specific mail folder. Use when you need to irreversibly delete a message with explicit folder context. The message is moved to the Purges folder and cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. This can be the user's UPN (User Principal Name) or the user object ID. |
| `message_id` | string | Yes | The unique identifier of the message to permanently delete. The message will be moved to the Purges folder and cannot be recovered. |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Named Item

**Slug:** `MICROSOFT_365_DELETE_NAMED_ITEM`

Permanently delete a workbook-scoped named item; this cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The exact workbook-scoped named item name to delete. |
| `item_id` | string | Yes | The ID of the Excel workbook file (drive item). |
| `drive_id` | string | No | The explicit drive ID containing the workbook. Omit to use the connected user's drive. |
| `session_id` | string | No | An optional workbook session ID to use for this deletion. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete open shift

**Slug:** `MICROSOFT_365_DELETE_OPEN_SHIFT`

Tool to delete an open shift from a Microsoft Teams schedule. Use when you need to remove an unfilled shift from the team schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team that contains the schedule. |
| `if_match` | string | No | Optional ETag value for conditional delete. Use this to ensure the open shift hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `open_shift_id` | string | Yes | The unique identifier of the open shift to delete. Format: 'OPNSHFT_' followed by a GUID (e.g., 'OPNSHFT_ca2655aa-2fc8-45dc-8c94-a6fcfc8924f0'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Planner task

**Slug:** `MICROSOFT_365_DELETE_PLANNER_TASK`

Permanently delete a Microsoft Planner task using its last known ETag. Microsoft Graph rejects the deletion if the task has changed since that ETag was read.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Last known task ETag used to prevent deleting a stale task version. |
| `task_id` | string | Yes | Planner task ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Presentation

**Slug:** `MICROSOFT_365_DELETE_PRESENTATION`

Move a PowerPoint presentation to the Microsoft Graph recycle bin. This action does not permanently erase the file. It can require a matching eTag or cTag and can send Microsoft's documented shared-lock or checkout bypass preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation to move to the recycle bin. |
| `drive_id` | string | No | Drive ID containing the presentation; omit to use the signed-in user's default OneDrive. |
| `if_match_etag` | string | No | Expected current eTag or cTag; the presentation is not recycled if the tag does not match. |
| `bypass_checked_out` | boolean | No | Set true to send Microsoft's documented bypass-checked-out preference for checkout conditions. |
| `bypass_shared_lock` | boolean | No | Set true to send Microsoft's documented bypass-shared-lock preference for coauthoring locks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Calendar Permission

**Slug:** `MICROSOFT_365_DELETE_PRIMARY_CALENDAR_PERMISSION`

Delete a calendar permission from a user's primary calendar to revoke calendar sharing access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or principal name of the user whose calendar permission to delete. Use 'me' for the authenticated user or provide a specific user ID/UPN. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to delete. This ID can be obtained from listing calendar permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Range

**Slug:** `MICROSOFT_365_DELETE_RANGE`

Delete worksheet cells and shift the remaining cells up or left.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `shift` | string ("Up" | "Left") | Yes | The direction to shift remaining cells after deletion: 'Up' or 'Left'. |
| `address` | string | Yes | The A1-style address of the range to delete, such as 'A1:B2'. |
| `item_id` | string | Yes | The ID of the Excel workbook file (drive item). |
| `drive_id` | string | No | The explicit drive ID containing the workbook. Omit to use the connected user's drive. |
| `session_id` | string | No | An optional workbook session ID to use for this deletion. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet containing the range. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team scheduling group

**Slug:** `MICROSOFT_365_DELETE_SCHEDULING_GROUP`

Tool to delete a scheduling group from a Microsoft Teams team schedule. Use this when you need to remove a scheduling group from a specific team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team that contains the schedule. |
| `if_match` | string | No | Optional ETag value for conditional delete. Use this to ensure the scheduling group hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `scheduling_group_id` | string | Yes | The unique identifier of the scheduling group to delete. This can be a GUID or a tag-based ID (e.g., 'TAG_6685f5de-54e3-47e7-b1fb-436f35b67b2c'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Service

**Slug:** `MICROSOFT_365_DELETE_SERVICE`

Permanently delete one service from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | Yes | ID of the service to permanently delete. |
| `business_id` | string | Yes | ID of the booking business that offers the service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Item Permission

**Slug:** `MICROSOFT_365_DELETE_SHAREPOINT_ITEM_PERMISSION`

Revoke a Microsoft Graph beta permission from a SharePoint list or list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | No | Optional SharePoint list item ID. Provide this to revoke a list-item permission; omit it to revoke a list-level permission. |
| `list_id` | string | Yes | The unique Microsoft Graph ID of the SharePoint list. |
| `site_id` | string | Yes | The Microsoft Graph SharePoint site ID in composite format, usually 'hostname,site-collection-id,web-id'. |
| `permission_id` | string | Yes | The Microsoft Graph permission ID to revoke. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team schedule shift

**Slug:** `MICROSOFT_365_DELETE_SHIFT`

Tool to delete a shift from a Microsoft Teams team schedule. Use when you need to permanently remove a scheduled shift.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the shift hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `shift_id` | string | Yes | The unique identifier of the shift to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Site Column

**Slug:** `MICROSOFT_365_DELETE_SITE_COLUMN`

Delete a SharePoint site column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `column_id` | string | Yes | Microsoft Graph columnDefinition ID or column name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Site Content Type

**Slug:** `MICROSOFT_365_DELETE_SITE_CONTENT_TYPE`

Delete a SharePoint site content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Site Page

**Slug:** `MICROSOFT_365_DELETE_SITE_PAGE`

Delete a SharePoint site page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | Microsoft Graph site page ID. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete OneNote page from site

**Slug:** `MICROSOFT_365_DELETE_SITE_PAGES`

Deletes a OneNote page from a SharePoint site. Use this action to delete a OneNote page from a SharePoint site's OneNote workspace. Microsoft Graph returns 204 No Content after accepting the deletion; OneNote retention policies may still apply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to delete. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Can be the site hostname or server-relative path. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Site Page Section Web Part

**Slug:** `MICROSOFT_365_DELETE_SITE_PAGE_SECTION_WEB_PART`

Delete a web part by its position in a site page section or column.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | integer | Yes | One-based position of the web part within the section or column, starting at 1, not its web part ID. |
| `page_id` | string | Yes | ID of the site page containing the web part. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `if_match` | string | No | Optional eTag sent as If-Match. If it does not match the current tag, Graph returns 412 and does not delete the web part. |
| `column_id` | string | No | Column ID in the horizontal section; required for horizontal and not allowed for vertical. |
| `section_type` | string ("vertical" | "horizontal") | Yes | Whether to delete from the vertical section or a horizontal section column. |
| `horizontal_section_id` | string | No | Horizontal section ID; required for horizontal and not allowed for vertical. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Site Permission

**Slug:** `MICROSOFT_365_DELETE_SITE_PERMISSION`

Revoke an application (Sites.Selected) permission from a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `permission_id` | string | Yes | Microsoft Graph site permission ID to revoke. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Soft-delete Teams channel message

**Slug:** `MICROSOFT_365_DELETE_SOFT_MESSAGE`

Tool to soft-delete a message in a Teams channel. Use when you need to remove a message without permanently deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team containing the channel. |
| `channel_id` | string | Yes | The unique identifier of the channel within the team. |
| `message_id` | string | Yes | The unique identifier of the message to soft-delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Staff Member

**Slug:** `MICROSOFT_365_DELETE_STAFF_MEMBER`

Permanently remove one staff member from a Microsoft Bookings business. This operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `staff_id` | string | Yes | ID of the staff member to permanently remove. |
| `business_id` | string | Yes | ID of the booking business that contains the staff member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel tab

**Slug:** `MICROSOFT_365_DELETE_TAB`

Tool to delete a tab from a Microsoft Teams channel. Use when you need to permanently remove a tab from a channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tab_id` | string | Yes | Unique identifier of the tab to delete from the channel. This is the tab's GUID (e.g., '6fa06ee5-1f61-4edb-ba26-bf59d64db56d'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `if_match` | string | No | Optional ETag value for conditional delete. Use this to ensure the tab hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `channel_id` | string | Yes | Unique identifier of the channel within the team. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or non-encoded format (e.g., '19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table

**Slug:** `MICROSOFT_365_DELETE_TABLE`

Permanently delete an Excel table by its ID or name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel workbook file (drive item). |
| `drive_id` | string | No | The explicit drive ID containing the workbook. Omit to use the connected user's drive. |
| `table_id` | string | Yes | The ID or name of the table to delete. |
| `session_id` | string | No | An optional workbook session ID to use for this deletion. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table Column

**Slug:** `MICROSOFT_365_DELETE_TABLE_COLUMN`

Delete a column from a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, defaults to 'me' for delegated auth or must be provided for application-only auth. |
| `table_id` | string | Yes | The ID of the table to delete a column from. |
| `column_id` | string | Yes | The ID of the column to delete. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table Row

**Slug:** `MICROSOFT_365_DELETE_TABLE_ROW`

Delete a row from a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. Use 'me' for the user's default OneDrive, or provide a specific drive ID for SharePoint sites. |
| `table_id` | string | Yes | The ID of the table to delete a row from. |
| `row_index` | integer | Yes | The index of the row to delete. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `MICROSOFT_365_DELETE_TASK`

Delete a task from a Microsoft To Do task list. WARNING: this also permanently removes the task's checklist items and linked resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list that contains the task to delete. |
| `task_id` | string | Yes | Id of the task to delete. Deleting a task permanently removes its checklist items and linked resources (this cannot be undone). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task Attachment

**Slug:** `MICROSOFT_365_DELETE_TASK_ATTACHMENT`

Permanently delete a file attachment from a Microsoft To Do task. This cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task containing the attachment. |
| `attachment_id` | string | Yes | Id of the file attachment to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task List

**Slug:** `MICROSOFT_365_DELETE_TASK_LIST`

Delete a Microsoft To Do task list. WARNING: this cascades — all tasks in the list and their checklist items are permanently deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list to delete. Deleting a list permanently removes all of its tasks and their checklist items (this cascade cannot be undone). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Teams team

**Slug:** `MICROSOFT_365_DELETE_TEAM`

Delete a Microsoft Teams team by its associated Microsoft 365 group ID. This deletes the underlying group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete time off

**Slug:** `MICROSOFT_365_DELETE_TIME_OFF`

Tool to delete a timeOff from a team's schedule. Use when you need to remove a scheduled time off entry from a team member's schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the timeOff hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `timeoff_id` | string | Yes | Unique identifier of the timeOff to delete. This is the ID of the timeOff resource in the team's schedule. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete time off reason

**Slug:** `MICROSOFT_365_DELETE_TIME_OFF_REASON`

Tool to delete a time off reason from a team's schedule. Use when you need to remove a time off reason. Note: This operation marks the time off reason as inactive rather than permanently deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the time off reason hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `time_off_reason_id` | string | Yes | Unique identifier of the time off reason to delete. This is the ID of the timeOffReason resource in the team's schedule. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete time off request

**Slug:** `MICROSOFT_365_DELETE_TIME_OFF_REQUEST`

Tool to delete a time off request from a Microsoft Teams team schedule. Use when you need to permanently remove a time off request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the time off request hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `time_off_request_id` | string | Yes | The unique identifier of the time off request to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete To Do task

**Slug:** `MICROSOFT_365_DELETE_TODO_TASK`

Tool to permanently delete a task from a Microsoft To Do task list. Use when removing a task that is no longer needed. This action cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | The unique identifier of the task to delete. Obtain this from List To Do tasks or Create To Do task. |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user (delegated auth) or a specific user ID for app-only (S2S) authentication. |
| `todo_task_list_id` | string | Yes | The unique identifier of the task list that contains the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete User Calendar Event

**Slug:** `MICROSOFT_365_DELETE_USER_CALENDAR_EVENT_PERMANENTLY`

Tool to permanently delete a calendar event from a specific user's calendar. Use when you need to ensure an event cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's email address, UPN, or 'me' for the currently authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to permanently delete. The event will be permanently deleted and cannot be recovered by the user. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact from User's Child Folder

**Slug:** `MICROSOFT_365_DELETE_USER_CHILD_FOLDER_CONTACT`

Tool to delete a contact from a child folder in a user's contact folder. Use when you need to remove a contact from a specific child folder within a contact folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or userPrincipalName of the contact folder owner. Use 'me' for the authenticated user. |
| `contact_id` | string | Yes | Identifier of the contact to be deleted from the child folder. Must be obtained from 'List Contacts' or 'Get Contact'. |
| `child_folder_id` | string | Yes | Identifier of the child folder within the parent contact folder containing the contact to delete. Must be a valid child folder ID. |
| `contact_folder_id` | string | Yes | Identifier of the parent contact folder. Must be a valid contact folder ID obtained from 'Get Contact Folders' or 'List Contact Folders'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Child Folder Message Permanently

**Slug:** `MICROSOFT_365_DELETE_USER_CHILD_FOLDER_MESSAGE_PERMANENTLY`

Tool to permanently delete a message from a user's child mail folder in Outlook. Unlike standard DELETE, this action makes the message unrecoverable by moving it to the Purges folder in the dumpster. Use when you need to ensure a message in a nested folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message to permanently delete from the child folder. The message will be moved to the Purges folder in the dumpster and cannot be recovered by the user. Typically a base64-encoded string obtained from list messages or search messages actions. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox'. For folder IDs, use base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA=') obtained from list mail folders actions. |
| `child_folder_id` | string | Yes | The ID of the child folder containing the message to permanently delete. Must be a base64-encoded folder ID (e.g., 'AAMkADAwATMwMAExAAA=') obtained from list child folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user contact extension

**Slug:** `MICROSOFT_365_DELETE_USER_CONTACT_EXTENSION`

Deletes an extension from a contact in a user's child contact folder. This tool is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user whose contact extension to delete. Can be the user's email address or the user's object ID. |
| `contact_id` | string | Yes | The unique identifier of the contact that has the extension to delete. |
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.com.contoso.roamingSettings) or just the extension name (e.g., com.contoso.roamingSettings). |
| `child_folder_id` | string | Yes | The unique identifier of the child contact folder containing the contact. |
| `contact_folder_id` | string | Yes | The unique identifier of the parent contact folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete User Event

**Slug:** `MICROSOFT_365_DELETE_USER_EVENT_PERMANENTLY`

Tool to permanently delete a calendar event for a specified user. Use when you need to ensure an event cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or userPrincipalName of the calendar owner. Use 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to permanently delete. The event will be permanently deleted and cannot be recovered by the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete User Mail Folder

**Slug:** `MICROSOFT_365_DELETE_USER_MAIL_FOLDER_PERMANENTLY`

Permanently deletes a mail folder for a specific user. Unlike standard DELETE, this action makes the folder permanently unrecoverable. Use when you need to ensure a user's folder cannot be restored from deleted items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or user principal name (email address) of the user whose mail folder should be permanently deleted. This is required to identify which user's mailbox contains the folder. |
| `mail_folder_id` | string | Yes | Unique identifier of the mail folder to permanently delete. The folder will be permanently deleted and cannot be recovered by the user. Use 'List Mail Folders' action to obtain the folder ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user message attachment

**Slug:** `MICROSOFT_365_DELETE_USER_MESSAGE_ATTACHMENT`

Deprecated. Deletes an attachment from a message in the authenticated user's mailbox or a specified user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's email address, userPrincipalName, or user ID. Use 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message containing the attachment to delete. Typically obtained from listing messages or search operations. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to delete. Can be obtained from listing message attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Online Meeting

**Slug:** `MICROSOFT_365_DELETE_USER_ONLINE_MEETING`

Tool to delete an online meeting for a user. Use when you need to permanently remove an online meeting from a user's calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user who owns the online meeting. |
| `if_match` | string | No | ETag value for conditional delete. Use this to ensure the meeting hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `online_meeting_id` | string | Yes | The unique identifier of the online meeting to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete OneNote page for user

**Slug:** `MICROSOFT_365_DELETE_USER_PAGES`

Deletes a OneNote page from a user's OneNote workspace. Canonical action for this user page deletion route. Microsoft Graph returns 204 No Content after accepting the deletion; OneNote retention policies may still apply. Use this action when you need to remove an unwanted OneNote page from a user's notebook that has been shared with the current user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to delete. |
| `user_id` | string | Yes | The unique identifier of the Microsoft 365 user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user OneNote page from section

**Slug:** `MICROSOFT_365_DELETE_USER_SECTIONS_PAGES`

Deletes a OneNote page by page ID for a specified user or the current user; OneNote retention policies may still apply. Notebook, section group, and section IDs are ignored and do not constrain the deletion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to delete. |
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `section_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `notebook_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `section_group_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Workbook Range

**Slug:** `MICROSOFT_365_DELETE_WORKBOOK_RANGE`

Deletes a range of cells from an Excel worksheet in OneDrive, shifting remaining cells up or left to fill the gap.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `range` | string | Yes | The address of the range to delete in A1 notation. Can be a single cell (e.g., 'A1') or a range of cells (e.g., 'A1:D4'). The range must be valid for the worksheet. |
| `shift` | string ("Up" | "Left") | Yes | The direction to shift remaining cells after deletion. 'Up' shifts cells upward to fill the gap, 'Left' shifts cells leftward. |
| `item_id` | string | Yes | The unique identifier of the Excel workbook item. This is the driveItem ID of the .xlsx file containing the worksheet. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the workbook. Use the drive ID from list drives or get drive operations. |
| `worksheet` | string | Yes | The name or ID of the worksheet containing the range to delete. Can be the worksheet name (e.g., 'Sheet1') or the worksheet ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SharePoint Workbook Table

**Slug:** `MICROSOFT_365_DELETE_WORKBOOK_TABLE`

Delete a table from an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `table_id_or_name` | string | Yes | Workbook table ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Worksheet

**Slug:** `MICROSOFT_365_DELETE_WORKSHEET`

Tool to delete a worksheet from the workbook. Use when cleaning up unused or temporary sheets after verifying no dependencies exist. Example: "Delete 'Sheet2' after review."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, defaults to 'me' for delegated auth or must be provided for application-only auth. |
| `worksheet` | string | Yes | The name or ID of the worksheet to delete. If using ID, it must be URL-encoded. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Discard Checkout

**Slug:** `MICROSOFT_365_DISCARD_CHECKOUT`

Tool to discard the checkout of a driveItem, releasing it and discarding any changes made while checked out. Use when you need to cancel a checkout and revert changes on a file in SharePoint or OneDrive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The unique identifier of the drive containing the item to discard checkout. |
| `drive_item_id` | string | Yes | The unique identifier of the driveItem (file or folder) to discard checkout. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Discard SharePoint Drive Item Checkout

**Slug:** `MICROSOFT_365_DISCARD_CHECKOUT_DRIVE_ITEM`

Discard SharePoint Drive Item Checkout.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Dismiss user calendar event reminder

**Slug:** `MICROSOFT_365_DISMISS_CALENDAR_EVENT_REMINDER`

Tool to dismiss a reminder for a specific event in a user's calendar. Use when you need to turn off or remove a reminder alert for an event in a specific user's calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier or user principal name (UPN) of the user. Can be 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event whose reminder should be dismissed. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Dismiss event reminder

**Slug:** `MICROSOFT_365_DISMISS_EVENT_REMINDER`

Dismiss a reminder for a specific event in the signed-in user's or specified user's default calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier or email of the user. Required for S2S authentication with app-only permissions. |
| `event_id` | string | Yes | The unique identifier of the calendar event whose reminder should be dismissed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Dismiss user calendar group event reminder

**Slug:** `MICROSOFT_365_DISMISS_EVENT_REMINDER_FROM_GROUP`

Tool to dismiss a reminder for an event in a user's calendar within a calendar group. Use when you need to turn off a reminder for an event in a specific user's calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user or userPrincipalName. Use 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the event whose reminder should be dismissed. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Dismiss user event reminder

**Slug:** `MICROSOFT_365_DISMISS_USER_EVENT_REMINDER`

Tool to dismiss a reminder for a specific user's calendar event. Use when you need to turn off or remove a reminder alert for an event in a user's calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user ID or userPrincipalName (email address) of the calendar owner, identifying whose event reminder should be dismissed. |
| `event_id` | string | Yes | The unique identifier of the calendar event whose reminder should be dismissed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Outlook attachment

**Slug:** `MICROSOFT_365_DOWNLOAD_ATTACHMENT`

Downloads a specific file attachment from an email message in a Microsoft Outlook mailbox; the attachment must contain 'contentBytes' (binary data) and not be a link or embedded item. High-volume parallel calls may trigger HTTP 429 responses; honor the Retry-After header and use exponential backoff.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's UPN (User Principal Name) or 'me' for the authenticated user. This identifies the mailbox where the message is located. |
| `file_name` | string | Yes | The desired filename for the downloaded attachment. This name will be assigned to the. |
| `message_id` | string | Yes | The unique identifier of the email message that contains the attachment to be downloaded. This ID is typically obtained when listing or retrieving messages. |
| `attachment_id` | string | Yes | The Microsoft Graph API attachment identifier (NOT the filename). This is a base64-encoded opaque string returned in the 'id' field when listing attachments via the LIST_OUTLOOK_ATTACHMENTS action. Must be the exact value from the API response, not the attachment's display name or filename. Always use the exact attachment_id/message_id pair returned together from LIST_OUTLOOK_ATTACHMENTS — an attachment_id is bound to its specific message_id and cannot be used with a different message_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download channel message hosted content

**Slug:** `MICROSOFT_365_DOWNLOAD_CHANNEL_MESSAGE_HOSTED_CONTENT`

Download one raw hosted-content item from a Teams channel message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Microsoft Teams team ID containing the channel. |
| `channel_id` | string | Yes | Microsoft Teams channel ID containing the message. |
| `message_id` | string | Yes | Channel message ID containing the hosted content. |
| `consistency_level` | string | No | Set to 'eventual' when downloading hosted content from an edited or deleted channel message. |
| `hosted_content_id` | string | Yes | Opaque hosted-content ID from the /hostedContents/{id}/$value URL in the channel message's HTML body. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download chat message hosted content

**Slug:** `MICROSOFT_365_DOWNLOAD_CHAT_MESSAGE_HOSTED_CONTENT`

Download one raw hosted-content item from a Teams chat message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Microsoft Teams chat ID containing the message. |
| `message_id` | string | Yes | Chat message ID containing the hosted content. |
| `consistency_level` | string | No | Set to 'eventual' when downloading hosted content from an edited or deleted chat message. |
| `hosted_content_id` | string | Yes | Hosted-content ID returned by the list chat message hosted contents action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download SharePoint Drive Item By Path

**Slug:** `MICROSOFT_365_DOWNLOAD_DRIVE_ITEM_BY_PATH`

Download a SharePoint drive item by path. The file is streamed to the file backend and the response returns a downloadable file, so large files are handled without exhausting memory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `item_path` | string | Yes | Path to the file under the drive root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download SharePoint Drive Item Version

**Slug:** `MICROSOFT_365_DOWNLOAD_DRIVE_ITEM_VERSION`

Download the binary content of an earlier (non-current) version of a file in a SharePoint document library. The version's bytes are streamed to the file backend and returned as a downloadable file, so large files are handled without exhausting memory. To download the current version's content use the download drive item action; to read a version's metadata (without its content) use the get drive item version action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `version_id` | string | Yes | Microsoft Graph drive item version ID identifying the previous version to download. Downloading the current version's content is not supported; use the download drive item action instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download a file

**Slug:** `MICROSOFT_365_DOWNLOAD_FILE`

Downloads a file from a user's OneDrive using its item ID, which must refer to a file and not a folder. Response contains a content object with the downloaded file, MIME type, and name; raw file data is not returned directly. Parsing content from Excel, Word, PDF, or other formats requires additional tooling. The downloaded file can be passed to downstream tools such as OUTLOOK_SEND_EMAIL or OUTLOOK_CREATE_DRAFT.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string ("pdf" | "html") | No | Optional format for file conversion during download. 'pdf' converts supported source files (doc, docx, dot, dotx, dotm, dsn, dwg, eml, epub, fluidframework, form, htm, html, loop, loot, markdown, md, msg, note, odp, ods, odt, page, pps, ppsx, ppt, pptx, pulse, rtf, task, tif, tiff, wbtx, whiteboard, xls, xlsm, xlsx) to PDF. 'html' converts Loop/Fluid files (loop, fluid, wbtx) to HTML. Leave empty to download the file in its original format without conversion. Do NOT use this parameter if the file is already in the target format (e.g., don't convert PDF to PDF or HTML to HTML), as this will result in an error. |
| `item_id` | string | Yes | Raw item ID only (e.g., '1234567890ABC'). Do not include URL fragments or query parameters like '&cid=...' or '?param=...' from sharing links. |
| `user_id` | string | No | User's ID or User Principal Name (UPN), or 'me' for the authenticated user's OneDrive. Ignored when drive_id is provided. |
| `drive_id` | string | No | The ID of the drive containing the file. Required for SharePoint or OneDrive for Business drives. When provided, user_id is ignored. |
| `file_name` | string | Yes | Desired filename (including extension) for the downloaded content. |
| `if_none_match` | string | No | Optional ETag or cTag value for conditional download. If the provided tag matches the current file's tag, the API returns HTTP 304 Not Modified without downloading the file, saving bandwidth. Useful for caching scenarios. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download file by path

**Slug:** `MICROSOFT_365_DOWNLOAD_FILE_BY_PATH`

Downloads the contents of a file from OneDrive by its path. The API returns a 302 redirect to a pre-authenticated download URL. Use when you know the file path but not the item ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user). Required for S2S (app-only) auth. |
| `file_name` | string | Yes | Desired filename (including extension) for the downloaded content. |
| `item_path` | string | Yes | The path to the file in OneDrive, relative to the drive root (e.g., 'document.txt' or 'folder/subfolder/file.pdf'). Do not include leading slash. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download group post attachment

**Slug:** `MICROSOFT_365_DOWNLOAD_GROUP_POST_ATTACHMENT`

Download raw file content or item-attachment MIME content from a Microsoft 365 group conversation post. Reference attachments are not supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `post_id` | string | Yes | Opaque ID of the conversation post containing the attachment. |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group containing the post. |
| `file_name` | string | Yes | Filename to assign to the downloaded content, including an extension when known. |
| `thread_id` | string | Yes | Opaque ID of the conversation thread containing the post. |
| `attachment_id` | string | Yes | Opaque attachment ID returned with the post. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download item as format

**Slug:** `MICROSOFT_365_DOWNLOAD_ITEM_AS_FORMAT`

Tool to download the contents of a driveItem converted to a specific format (e.g., PDF or HTML). Use when you need to convert Office documents to PDF or Loop/Fluid files to HTML before downloading. Supports accessing items by item_id or by path, and can target specific drives via drive_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string ("pdf" | "html") | Yes | Format to convert the item to. Use 'pdf' for Office documents (doc, docx, ppt, pptx, xls, xlsx, etc.) or 'html' for Loop/Fluid files (loop, fluid, wbtx). |
| `item_id` | string | No | The unique identifier of the driveItem to convert. If provided, this takes precedence over path_and_filename. |
| `user_id` | string | No | User's ID or User Principal Name (UPN), or 'me' for the authenticated user's OneDrive. Ignored when drive_id is provided. |
| `drive_id` | string | No | The unique identifier of the drive. Optional - use for SharePoint document libraries. If not provided, uses the default drive. |
| `file_name` | string | Yes | Desired filename (including extension) for the downloaded converted content. |
| `path_and_filename` | string | No | Path and filename of the driveItem under root (e.g., 'Documents/report.docx' or 'presentation.pptx'). Do not include leading slash. Either item_id or path_and_filename must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Item Thumbnail

**Slug:** `MICROSOFT_365_DOWNLOAD_ITEM_THUMBNAIL`

Download thumbnail image bytes for a DriveItem identified by item ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | string | No | Thumbnail size: small, medium, large, smallSquare, mediumSquare, largeSquare, or a custom size such as c300x400 or c300x400_crop. |
| `item_id` | string | Yes | DriveItem ID whose thumbnail to download. |
| `drive_id` | string | No | Drive ID containing the item. Omit to use the connected user's drive. |
| `file_name` | string | No | Optional output filename. Directory components are discarded. Defaults to a generated JPEG filename. |
| `thumbnail_id` | integer | No | Zero-based thumbnail set index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Drive Item Version Content

**Slug:** `MICROSOFT_365_DOWNLOAD_ITEM_VERSION`

Tool to download the contents of a specific previous version of a drive item (file). Returns the actual file content. Note: You cannot download the current version using this endpoint - it only works for previous versions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the drive item (file). Cannot be a folder ID. |
| `drive_id` | string | No | The unique identifier of the drive containing the file. If not provided, defaults to the user's personal OneDrive (me/drive). |
| `file_name` | string | Yes | Desired filename (including extension) for the downloaded version content. |
| `version_id` | string | Yes | The ID of the specific version to download (e.g., '1.0', '2.0'). Cannot be the current version - only previous versions can be downloaded using this endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Presentation

**Slug:** `MICROSOFT_365_DOWNLOAD_PRESENTATION`

Download a PowerPoint file in its original format or export it as PDF or JPG. Export conversion is not presentation editing and accepts source files up to 2 MB.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | JPG width in pixels; required with height when format is jpg and invalid for other formats. |
| `format` | string ("original" | "pdf" | "jpg") | No | Output format. PDF and JPG are Graph exports, not editable PowerPoint files; Graph limits source files for conversion to 2 MB. |
| `height` | integer | No | JPG height in pixels; required with width when format is jpg and invalid for other formats. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file to download. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |
| `if_none_match` | string | No | Known eTag; when the file is unchanged, return not_modified without duplicate content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Presentation Version

**Slug:** `MICROSOFT_365_DOWNLOAD_PRESENTATION_VERSION`

Verify that the selected DriveItem is a PPTX, then download one retained previous version as a bounded PPTX file. Non-PPTX items are rejected before content download. Use LIST_PRESENTATION_VERSIONS to obtain a version ID, but do not use its first newest/current entry: Microsoft Graph refuses current-version content here. Use DOWNLOAD_PRESENTATION for the current version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file whose retained version to download. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |
| `version_id` | string | Yes | Retained version ID returned by List Presentation Versions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download profile photo

**Slug:** `MICROSOFT_365_DOWNLOAD_PROFILE_PHOTO`

Download the signed-in user's profile-photo bytes at a fixed size.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | string ("48x48" | "64x64" | "96x96" | "120x120" | "240x240" | "360x360" | "432x432" | "504x504" | "648x648") | Yes | The fixed Microsoft 365 profile-photo size to download. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download shared drive item

**Slug:** `MICROSOFT_365_DOWNLOAD_SHARED_DRIVE_ITEM`

Download file content addressed by a Microsoft Graph share token or encoded sharing URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filename` | string | No | Filename used for the downloadable result; provide a filename, not a path. |
| `share_id` | string | Yes | Microsoft Graph share token or encoded sharing URL for the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Task Attachment

**Slug:** `MICROSOFT_365_DOWNLOAD_TASK_ATTACHMENT`

Download one file attached to a Microsoft To Do task. The file is offloaded to storage and returned as a downloadable reference rather than inline base64.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task containing the attachment. |
| `attachment_id` | string | Yes | Id of the file attachment to download. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Thumbnail by Path

**Slug:** `MICROSOFT_365_DOWNLOAD_THUMBNAIL_BY_PATH`

Download thumbnail image bytes for a path-addressed item in the current user's OneDrive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | string | No | Thumbnail size: small, medium, large, smallSquare, mediumSquare, largeSquare, or a custom size such as c300x400 or c300x400_crop. |
| `file_name` | string | No | Optional output filename. Directory components are discarded. Defaults to a generated JPEG filename. |
| `item_path` | string | Yes | Drive-relative path to the item. Do not include a leading slash or the /root: prefix. |
| `thumbnail_id` | integer | No | Zero-based thumbnail set index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Workbook

**Slug:** `MICROSOFT_365_DOWNLOAD_WORKBOOK`

Download an Excel workbook in its original file format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Graph API item ID of the workbook DriveItem. |
| `drive_id` | string | No | Optional ID of the drive containing the workbook. If omitted, uses the user's default drive. |
| `if_none_match` | string | No | Optional ETag or cTag for a conditional download. A matching tag returns not_modified=true without a file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit DOCX

**Slug:** `MICROSOFT_365_EDIT_DOCX`

Atomically edit literal text, paragraphs, independent Latin/non-complex and complex-script run formatting, lists, rectangular tables including plain cells and rows outside merged regions, uploaded inline PNG/JPEG images, semantic comments, tracked text changes, revision acceptance or rejection, safe external hyperlinks, paired footnotes, section headers or footers, and explicit page breaks in a DOCX. Targets are semantic locators from READ_DOCX and remain valid only for its eTag. The complete package is validated before one guarded replacement upload.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | OneDrive or SharePoint document-library drive ID. |
| `operations` | array | Yes | Ordered, eTag-bound semantic edits. Every operation must change content and succeed atomically. Text is limited to 1,000,000 characters; at most 20 uploaded images, 10 MiB each and 25 MiB total, may be inserted. |
| `expected_etag` | string | Yes | Exact eTag returned by READ_DOCX; the edit fails if the document changed. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. Keep the recommended auto setting to use direct upload through 10 MiB and resilient resumable upload above it. Force direct only when resumability is unwanted, or resumable when interruption recovery is required for a smaller document. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Calculate Excel Workbook

**Slug:** `MICROSOFT_365_EXCEL_CALCULATE_WORKBOOK`

Calculate Excel Workbook

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `calculation_type` | string ("Recalculate" | "Full" | "FullRebuild") | Yes | The calculation operation to perform. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy Drive Item

**Slug:** `MICROSOFT_365_EXCEL_COPY_DRIVE_ITEM`

Create a non-destructive asynchronous copy of a file or folder. Metadata and permissions are not copied; the new item inherits destination-folder permissions. Version history is copied only when explicitly requested.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the copied item. Omit when children_only is true. |
| `item_id` | string | Yes | Source driveItem ID. |
| `drive_id` | string | Yes | Drive containing the source item. |
| `children_only` | boolean | No | Whether to copy only a folder's children. |
| `conflict_behavior` | string ("fail" | "rename") | No | Non-destructive behavior when a destination item has the same name. |
| `destination_drive_id` | string | No | Destination drive ID. Defaults to the source drive. |
| `destination_folder_id` | string | No | Destination parent folder ID. Omit to retain the current parent. |
| `include_all_version_history` | boolean | No | Whether to preserve all available file versions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Folder

**Slug:** `MICROSOFT_365_EXCEL_CREATE_FOLDER`

Create a folder under a parent Microsoft Graph drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the new folder. |
| `drive_id` | string | Yes | ID of the drive containing the parent folder. |
| `parent_item_id` | string | Yes | Graph API drive item ID of the parent folder. |
| `conflict_behavior` | string ("fail" | "rename") | No | Non-destructive behavior when an item with the same name exists: fail or rename. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Upload Session

**Slug:** `MICROSOFT_365_EXCEL_CREATE_UPLOAD_SESSION`

Create a resumable upload session at a drive-root path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | Destination OneDrive or SharePoint drive ID. |
| `file_path` | string | Yes | Destination path under the drive root, including the file name. |
| `defer_commit` | boolean | No | Whether the completed upload requires an explicit commit request. |
| `conflict_behavior` | string ("fail" | "replace" | "rename") | No | Behavior when an item already exists at the destination path. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Drive Item

**Slug:** `MICROSOFT_365_EXCEL_DELETE_DRIVE_ITEM`

Move a OneDrive or SharePoint drive item to the recycle bin by item ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prefer` | array | No | Optional Microsoft Graph delete preferences. Multiple values are sent as one comma-separated Prefer header. |
| `item_id` | string | Yes | Exact Microsoft Graph ID of the drive item to move to the recycle bin. |
| `drive_id` | string | No | ID of the drive containing the item. Use 'me' for the user's default drive. |
| `if_match` | string | No | ETag precondition. The deletion fails if this value does not match the item's current ETag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive Item

**Slug:** `MICROSOFT_365_EXCEL_GET_DRIVE_ITEM`

Retrieve OneDrive or SharePoint drive item metadata by exact ID or path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | No | Path relative to the drive root. Provide either path or item_id, but not both. |
| `expand` | array | No | Drive item relationships to include. Values are comma-joined into the $expand query parameter. |
| `select` | array | No | Drive item fields to return. Values are comma-joined into the $select query parameter. |
| `item_id` | string | No | Exact Microsoft Graph drive item ID. Provide either item_id or path, but not both. |
| `drive_id` | string | No | ID of the drive containing the item. Use 'me' for the user's default drive. |
| `if_none_match` | string | No | ETag or cTag to send in the If-None-Match header. A matching tag returns not_modified=true. |
| `include_deleted_items` | boolean | No | Whether to return deleted items. Valid only with item_id addressing and supported only by OneDrive Personal. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Item Children

**Slug:** `MICROSOFT_365_EXCEL_LIST_DRIVE_ITEM_CHILDREN`

Tool to list immediate children (files/folders) of a folder DriveItem using driveId and itemId. Returns an array of child DriveItems with stable identifiers and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of children to return per page (maps to $top OData query parameter). |
| `item_id` | string | Yes | Graph API item ID of the folder DriveItem whose children to enumerate. Must be an opaque alphanumeric identifier obtained from list/search operations or shares resolution. |
| `drive_id` | string | Yes | ID of the drive containing the folder (use 'me' for the user's default drive). |
| `skip_token` | string | No | Opaque pagination token from a previous response's odata_next_link URL ($skiptoken value). Pass this to fetch the next page of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Item Versions

**Slug:** `MICROSOFT_365_EXCEL_LIST_DRIVE_ITEM_VERSIONS`

List retained versions of a OneDrive or SharePoint workbook file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of versions to return in one page (maps to $top). Microsoft Graph defines $top as the OData page-size query option: https://learn.microsoft.com/en-us/graph/query-parameters#odata-system-query-options |
| `item_id` | string | Yes | Exact Microsoft Graph drive item ID whose retained versions to list. |
| `drive_id` | string | No | ID of the drive containing the item. Use 'me' for the user's default drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Lists

**Slug:** `MICROSOFT_365_EXCEL_LIST_SITE_LISTS`

List SharePoint lists in a known Microsoft Graph site. Use site search first when the site ID is unknown. The action exposes projection and page controls but does not automatically follow the returned next link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of lists to return on this page (maps to the $top query parameter). |
| `site_id` | string | Yes | Microsoft Graph site ID whose SharePoint lists should be returned. Use 'root' for the tenant root site or an ID returned by site search. |
| `skip_token` | string | No | Opaque $skiptoken value from a previous response's odata_next_link URL. Pass it unchanged to retrieve the next page. |
| `select_fields` | array | No | List properties to return. Omit to use Microsoft Graph's default projection. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workbook Tables

**Slug:** `MICROSOFT_365_EXCEL_LIST_WORKBOOK_TABLES`

List tables across a workbook without requiring a worksheet identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of tables to return in this page. |
| `skip` | integer | No | Number of tables to skip before this page. |
| `count` | boolean | No | Whether to include the total table count in the response. |
| `expand` | array | No | Related table resources to include in each result. |
| `filter` | string | No | OData filter expression used to restrict the returned tables. |
| `search` | string | No | OData search expression used to match workbook tables. |
| `item_id` | string | Yes | The drive item ID of the Excel workbook. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `order_by` | array | No | OData expressions used to order tables, such as 'name asc'. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |
| `select_fields` | array | No | Documented workbook table properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Drive Files

**Slug:** `MICROSOFT_365_EXCEL_SEARCH_FILES`

Search OneDrive drive items by query and return files, optionally filtered by extension, to discover Excel workbook IDs. Extension filtering is applied to each returned page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return. Uses $top query parameter if supported. |
| `query` | string | Yes | Search query text to find items (e.g., filename like 'roster.xlsx' or partial name). Matches across filename, metadata, and file content. |
| `scope` | string ("drive" | "root") | No | Search scope: 'drive' searches entire drive including items shared with current user; 'root' searches within user's drive hierarchy only. |
| `drive_id` | string | No | ID of the drive to search (use 'me' for the user's default drive in delegated auth, or a specific drive ID). |
| `skip_token` | string | No | Opaque pagination token from a previous response's next_link URL ($skiptoken value). Pass this to fetch the next page of search results. |
| `file_extensions` | array | No | Optional list of file extensions to filter results (e.g., ['.xlsx', '.xlsm']). Applied as client-side filter to results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Sites

**Slug:** `MICROSOFT_365_EXCEL_SEARCH_SITES`

Search SharePoint sites by free-text query for workbook discovery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of matching sites to return on this page. |
| `query` | string | Yes | Free-text query used to search SharePoint sites by keyword. |
| `skip_token` | string | No | Opaque $skiptoken value from a previous response's @odata.nextLink URL. |
| `select_fields` | array | No | Site properties to return. Omit to use Microsoft Graph's default projection. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Drive Item

**Slug:** `MICROSOFT_365_EXCEL_UPDATE_DRIVE_ITEM`

Rename, move within the same drive, or update client timestamps for a DriveItem by stable ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New file or folder name, including the extension for a file. |
| `item_id` | string | Yes | Stable Graph DriveItem ID of the file or folder to update. |
| `drive_id` | string | No | ID of the drive containing the item. Use 'me' for the user's default drive. |
| `if_match` | string | No | ETag or cTag used for a conditional update. Graph returns 412 if it is stale. |
| `parent_item_id` | string | No | Destination folder's DriveItem ID in the same drive. Microsoft Graph does not support cross-drive moves with this action. |
| `file_system_info` | object | No | Client-side creation or modification timestamps to preserve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Table Column Range

**Slug:** `MICROSOFT_365_EXCEL_UPDATE_TABLE_COLUMN_RANGE`

Update raw values in a table column's data-body cells by zero-based index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | array | Yes | Data-body values as [[row1_value], [row2_value]], with exactly one cell in each inner row. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |
| `column_index` | integer | Yes | Zero-based table-column index (0 through 16,383). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Who Am I

**Slug:** `MICROSOFT_365_EXCEL_WHO_AM_I`

Return the identity (email, name) of the connected Excel (Microsoft) account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Execute Microsoft Graph Batch

**Slug:** `MICROSOFT_365_EXECUTE_BATCH`

Execute a Microsoft Graph JSON batch request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Microsoft Graph JSON batch request objects. Each request must include id, method, and url. Up to 20 requests are supported per batch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export DOCX to PDF

**Slug:** `MICROSOFT_365_EXPORT_DOCX`

Convert a DOCX of at most 2 MB to PDF through Microsoft Graph and return a temporary file reference. The provider's preauthenticated redirect URL is followed internally and is never returned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | Drive containing the DOCX to export. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Workbook to PDF

**Slug:** `MICROSOFT_365_EXPORT_WORKBOOK_TO_PDF`

Export an Excel workbook to PDF using Microsoft Graph format conversion, returning a download URL. Optionally save the converted PDF to a path in the selected drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | ID of the Excel file (DriveItem) to convert to PDF. |
| `drive_id` | string | No | Required when drive_scope is 'drives' or 'sites'. The drive ID or site ID. |
| `drive_scope` | string ("me" | "drives" | "sites") | No | The drive scope type: 'me' for user's OneDrive, 'drives' for specific drive ID, 'sites' for SharePoint site. |
| `save_pdf_to_path` | string | No | Optional path where the converted PDF should be uploaded back to Drive (e.g., 'Documents/invoice.pdf'). If provided, the tool downloads the PDF and uploads it to this location. |
| `return_download_url_only` | boolean | No | If true, only return the preauthenticated download URL. If false, fetch additional metadata about the source item. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Extract SharePoint Drive Item Sensitivity Labels

**Slug:** `MICROSOFT_365_EXTRACT_SENSITIVITY_LABELS`

Extract the Microsoft Purview sensitivity labels currently applied to a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find DOCX files

**Slug:** `MICROSOFT_365_FIND_DOCX_FILES`

Browse one folder or search a drive for DOCX files. Browse pages also return folders for navigation. Search results can be eventually consistent; use a direct read action when authoritative current state is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mode` | string ("browse" | "search") | Yes | Browse one folder's immediate children or search the entire drive. |
| `query` | string | No | Filename, metadata, or content search text; required in search mode. |
| `cursor` | string | No | Opaque cursor returned by the prior page; omit for the first page. |
| `drive_id` | string | Yes | OneDrive or SharePoint document-library drive ID. |
| `page_size` | integer | No | Maximum upstream items to inspect on this page (1-200). Filtering can yield fewer returned items. |
| `folder_item_id` | string | No | Folder driveItem ID; required in browse mode. Use the actual root item ID, not the word root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Meeting Times

**Slug:** `MICROSOFT_365_FIND_MEETING_TIMES`

Suggest meeting times based on organizer and attendee availability, time constraints, and duration requirements. Requires delegated access with a work or school account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or User Principal Name. Use 'me' for the authenticated user. |
| `attendees` | array | No | List of attendees or resources for the meeting. Empty list searches only organizer's availability. |
| `max_candidates` | integer | No | Maximum number of meeting time suggestions to return. |
| `prefer_timezone` | string | No | Preferred timezone for the response (sets Prefer header with outlook.timezone). If not specified, defaults to UTC. |
| `time_constraint` | object | No | Time restrictions for the meeting. |
| `meeting_duration` | string | No | Meeting length in ISO 8601 duration format (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 minutes). Default: 30 minutes. |
| `location_constraint` | object | No | Meeting location requirements. |
| `is_organizer_optional` | boolean | No | If true, organizer doesn't need to attend. Default: false. |
| `return_suggestion_reasons` | boolean | No | If true, include reasons for each suggestion. Default: false. |
| `minimum_attendee_percentage` | number | No | Minimum confidence percentage (0-100) for suggestions. Default: 50. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Presentations

**Slug:** `MICROSOFT_365_FIND_PRESENTATIONS`

List a folder or search a drive and return only PowerPoint files. Omit search_text to browse folder_id; provide it to search the full drive. A page can contain no matching files while has_more remains true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum provider results to inspect on this page (1-200). Non-PowerPoint results are filtered out. |
| `cursor` | string | No | Opaque continuation cursor from a previous call. It preserves the discovery mode, target, and page size. |
| `drive_id` | string | No | Drive ID to target. Omit to use the signed-in user's default OneDrive. |
| `folder_id` | string | No | Folder item ID to browse when search_text is omitted. Defaults to the drive root. |
| `search_text` | string | No | Filename, metadata, or indexed-content text to search for. Omit to browse one folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find SharePoint sites

**Slug:** `MICROSOFT_365_FIND_SHAREPOINT_SITES`

Find accessible SharePoint sites by keyword, or resolve one known hostname and site path to its site ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Free-text site keyword query; required only when lookup_mode is search. This searches matching sites and does not enumerate every accessible site. |
| `cursor` | string | No | Opaque cursor returned by a prior search page; omit for the first page and for path lookup. |
| `hostname` | string | No | SharePoint hostname such as tenant.sharepoint.com; required only for path lookup. |
| `page_size` | integer | No | Maximum sites to return on this search page (1-100); ignored for path lookup. |
| `site_path` | string | No | Server-relative site path without the hostname, such as sites/Legal; required only for path lookup. |
| `lookup_mode` | string ("search" | "path") | Yes | Use search for a keyword query or path when the SharePoint hostname and site-relative path are known. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Follow Drive Item

**Slug:** `MICROSOFT_365_FOLLOW_ITEM`

Tool to follow a driveItem (file or folder) in OneDrive or SharePoint. Use when you need to add an item to the user's followed items list for tracking updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The unique identifier of the drive containing the item to follow. This can be the ID of a personal OneDrive, a group's document library, or a SharePoint site's drive. |
| `drive_item_id` | string | Yes | The unique identifier of the driveItem (file or folder) to follow. DriveItem IDs are case-sensitive and must be used exactly as returned from Microsoft Graph API operations like list, search, or folder children queries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Follow SharePoint Sites

**Slug:** `MICROSOFT_365_FOLLOW_SITE`

Follow one or more SharePoint sites for a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `value` | array | Yes | Sites to follow, as an array of objects each containing the site 'id' in the format 'hostname,siteCollectionId,webId'. |
| `user_id` | string | Yes | Microsoft Graph user ID or userPrincipalName whose followed sites are updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Format Workbook Range

**Slug:** `MICROSOFT_365_FORMAT_WORKBOOK_RANGE`

Apply dimensions, alignment, wrapping, font, fill, and borders to a workbook range. Components are updated sequentially, not atomically, so earlier formatting remains if a later update fails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fill` | object | No | Optional fill-color change for the range. |
| `font` | object | No | Optional font changes for the range. |
| `address` | string | Yes | Range in A1 notation, such as A1:D10. Accidental wrapping quotes are removed and embedded apostrophes are escaped for OData. |
| `borders` | array | No | Optional border changes, with at most one entry per side. |
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook. |
| `drive_id` | string | No | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `session_id` | string | No | Workbook session ID returned by ONE_DRIVE_CREATE_WORKBOOK_SESSION. |
| `base_format` | object | No | Optional dimensions, alignment, and wrapping changes. |
| `worksheet_id_or_name` | string | Yes | Worksheet ID or exact worksheet name containing the range. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Forward message

**Slug:** `MICROSOFT_365_FORWARD_MESSAGE`

Tool to forward a message. Use when you need to send an existing email to new recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | An optional comment to include with the forwarded message. |
| `user_id` | string | No | The user's email address or alias 'me' to indicate the authenticated user. Specifies which mailbox to use. |
| `message_id` | string | Yes | The unique identifier of the message to forward. Must be a valid Outlook message ID (Base64-encoded string, e.g., 'AAMkAGI2TAAA='). Obtain this from OUTLOOK_LIST_MESSAGES or OUTLOOK_GET_MESSAGE actions. Message IDs are mailbox-specific. |
| `to_recipients` | array | Yes | List of email addresses to forward the message to. Provide each address separately. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Forward user calendar event

**Slug:** `MICROSOFT_365_FORWARD_USER_CALENDAR_EVENT`

Tool to forward a calendar event from a specific user's calendar to new recipients. Use when you need to share an event from a particular calendar with additional people.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | An optional comment to include with the forwarded event invitation. |
| `user_id` | string | No | The user identifier. Use 'me' for the authenticated user, or provide a Microsoft 365 User Principal Name (e.g., user@contoso.com) or Azure AD object ID. |
| `event_id` | string | Yes | The unique identifier of the calendar event to forward. Must be a valid Outlook event ID obtained from list or get event actions. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event to forward. Obtain this from list calendars actions. |
| `to_recipients` | array | Yes | List of recipients to forward the event to. Can provide email addresses as strings (e.g., 'alice@example.com') or as objects with 'address' and optional 'name' fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft Word account context

**Slug:** `MICROSOFT_365_GET_ACCOUNT_CONTEXT`

Return the signed-in Microsoft identity and primary OneDrive identifiers needed to start OneDrive DOCX work. Microsoft Graph documents that GET /me/drive automatically provisions OneDrive when the delegated user is licensed but does not yet have a drive.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All SharePoint Sites

**Slug:** `MICROSOFT_365_GET_ALL_SITES`

Enumerate SharePoint sites across geographies in the organization using application permissions; delegated user authentication is not supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Excel Application

**Slug:** `MICROSOFT_365_GET_APPLICATION`

Get Excel Application

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Appointment

**Slug:** `MICROSOFT_365_GET_APPOINTMENT`

Get one booking appointment, including its service, customers, assigned staff, attendee counts, and UTC start and end times.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the appointment. |
| `include_count` | boolean | No | Pass Microsoft Graph's documented $count option on this request. Graph may reject this option for a single-resource route. |
| `appointment_id` | string | Yes | ID of the appointment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Booking Business

**Slug:** `MICROSOFT_365_GET_BOOKING_BUSINESS`

Get the complete configuration and publication state of one shared booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | Booking business ID, commonly the business SMTP address; obtain it from List or Create Booking Businesses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get specific calendar

**Slug:** `MICROSOFT_365_GET_CALENDAR`

Retrieves a specific calendar by ID from the signed-in user's calendars. This tool is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendar_id` | string | Yes | The unique identifier of the calendar to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event from calendar

**Slug:** `MICROSOFT_365_GET_CALENDAR_EVENT`

Tool to retrieve a specific event from a specified calendar. Use when you need to get details of an event that belongs to a specific calendar in the user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID) or email address of the user. Required for app-only (S2S) authentication. If not provided, uses the authenticated user context (/me). |
| `event_id` | string | Yes | The unique identifier of the event within the calendar. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the event's Microsoft Purview sensitivity label from a filtered msip_labels expansion in the same Graph request. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Requires Calendars.Read or Calendars.ReadWrite. Treat a returned status of unknown as fail-closed before using the event content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar event attachment

**Slug:** `MICROSOFT_365_GET_CALENDAR_EVENT_ATTACHMENT`

Tool to retrieve a specific attachment from an event within a calendar. Use when you need to access attachment content from a calendar event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or user principal name (email) to access calendars on behalf of. Required for S2S (app-only) authentication. If not provided, defaults to 'me' for delegated authentication. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar from event

**Slug:** `MICROSOFT_365_GET_CALENDAR_FROM_EVENT`

Tool to retrieve the parent calendar that contains a specific event. Use when you need to get calendar details for a specific event in a calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or user principal name (email address). Required for S2S (app-only) authentication. Use 'me' or omit for delegated authentication. |
| `event_id` | string | Yes | The unique identifier of the event within the calendar. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar from calendar group

**Slug:** `MICROSOFT_365_GET_CALENDAR_FROM_GROUP`

Tool to retrieve a specific calendar from a calendar group in Microsoft Outlook. Use when you need to get details of a calendar that belongs to a specific calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User ID or userPrincipalName of the user whose calendar to retrieve. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar group

**Slug:** `MICROSOFT_365_GET_CALENDAR_GROUP`

Retrieve the properties of a specific Outlook calendar group by its ID, with optional property selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of related entities to expand in the response (OData $expand query parameter). |
| `select` | string | No | Comma-separated list of properties to include in the response (OData $select query parameter). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event extension

**Slug:** `MICROSOFT_365_GET_CALENDAR_GROUP_CALENDAR_EVENT_EXTENSION`

Retrieve an open extension's identifiers and metadata from an event in a specified calendar group and calendar. The response does not include arbitrary custom extension data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user (required for S2S/application authentication). Can be user ID (GUID) or userPrincipalName (email). |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the extension. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `extension_id` | string | Yes | The unique identifier of the extension to retrieve. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar group event attachment

**Slug:** `MICROSOFT_365_GET_CALENDAR_GROUP_EVENT_ATTACHMENT`

Deprecated: Use OUTLOOK_GET_USER_CALENDAR_GROUP_EVENT_ATTACHMENT instead, which supports both /me and /users/{user_id} endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Calendar Group Schedule

**Slug:** `MICROSOFT_365_GET_CALENDAR_GROUP_SCHEDULE`

Retrieve free/busy availability for specified users, distribution lists, or resources over a time period using a user's calendar within a calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID or userPrincipalName of the user. Use 'me' for the authenticated user or a user's email address. |
| `end_time` | object | Yes | The date, time, and time zone that the period ends. The period can be up to 62 days. |
| `schedules` | array | Yes | A collection of SMTP addresses of users, distribution lists, or resources to get availability information for. Maximum of 20 addresses. |
| `start_time` | object | Yes | The date, time, and time zone that the period starts. |
| `calendar_id` | string | Yes | The ID of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The ID of the calendar group containing the calendar. |
| `availability_view_interval` | integer | No | Duration of a time slot in an availabilityView in minutes. Default is 30, minimum is 5, maximum is 1440. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar permission

**Slug:** `MICROSOFT_365_GET_CALENDAR_PERMISSION`

Retrieve a specific permission for a user's default calendar, including the recipient or delegate and permission level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User ID or userPrincipalName of the user whose calendar permission to retrieve. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar permission

**Slug:** `MICROSOFT_365_GET_CALENDAR_PERMISSION_FROM_CALENDAR`

Tool to retrieve a specific calendar permission from a user's calendar. Use when you need to check who has access to a specific user's calendar and their permission level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Cannot use 'me' shortcut - must be actual user ID or userPrincipalName. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendar Schedule

**Slug:** `MICROSOFT_365_GET_CALENDAR_SCHEDULE`

Tool to get free/busy schedule information for users, distribution lists, or resources. Use when you need to check availability for specific people or resources during a time period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier (GUID) or email address of the user whose calendar to query. For delegated auth, omit this (or use None, not 'me') to query the authenticated user's calendar. For S2S (app-only) auth, this is required. |
| `end_time` | object | Yes | The end date, time, and time zone for the period to retrieve schedules. Period can be up to 62 days from start. |
| `schedules` | array | Yes | A collection of SMTP addresses of users, distribution lists, or resources to get availability information for. Maximum of 20 addresses. |
| `start_time` | object | Yes | The start date, time, and time zone for the period to retrieve schedules. Period can be up to 62 days. |
| `availability_view_interval` | integer | No | Duration of a time slot in minutes. Minimum: 5, Maximum: 1440. Default: 30. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendar View

**Slug:** `MICROSOFT_365_GET_CALENDAR_VIEW`

Get events ACTIVE during a time window (includes multi-day events). Use for "what's on my calendar today/this week" or availability checks. Returns events overlapping the time range. For keyword search or filters by category, use OUTLOOK_LIST_EVENTS instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to retrieve. |
| `skip` | integer | No | Number of events to skip before returning the page (OData $skip). |
| `select` | array | No | List of event properties to return. Defaults to commonly-needed fields excluding the full HTML body. To include the full body content, explicitly add 'body' to this list. |
| `orderby` | string | No | OData ordering expression for events, for example 'start/dateTime asc'. |
| `user_id` | string | No | Email address of the target user (or 'me' for authenticated user). |
| `timezone` | string | No | Timezone for event times in the response only; the input window is always interpreted from the offset in start_datetime/end_datetime. Must be an IANA timezone name (e.g., 'America/New_York', 'Europe/London', 'Asia/Kolkata') or Windows timezone identifier (e.g., 'Pacific Standard Time', 'India Standard Time'). UTC offsets like '+05:30' or 'GMT+5' are NOT supported. Defaults to UTC. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | No | Optional ID of a specific calendar to query. Must be a calendar identifier (format like 'AAMkAGI2TG93AAA='), NOT an email address. If not provided, uses the primary calendar. Get calendar IDs using LIST_CALENDARS action. |
| `end_datetime` | string | Yes | The end date and time of the time range, represented in ISO 8601 format. For example, '2019-11-08T20:00:00-08:00' or '2024-12-31T23:59:59Z'. |
| `start_datetime` | string | Yes | The start date and time of the time range, represented in ISO 8601 format. For example, '2019-11-08T19:00:00-08:00' or '2024-01-01T00:00:00Z'. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label applied to each calendar event. This is distinct from the event's built-in sensitivity field and any Teams meeting label. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get call operation

**Slug:** `MICROSOFT_365_GET_CALL_OPERATION`

Tool to get a specific commsOperation for a call. Use to check the status of long-running call operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand query parameter to include related resources inline. Comma-separated list of relationships. |
| `select` | string | No | OData $select query parameter to specify which properties to include in the response. Comma-separated list of property names (e.g., 'id,status,resultInfo'). |
| `call_id` | string | Yes | The unique identifier of the call. |
| `comms_operation_id` | string | Yes | The unique identifier of the commsOperation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team channel

**Slug:** `MICROSOFT_365_GET_CHANNEL`

Tool to get a specific channel in a team. Use after obtaining valid team and channel IDs to fetch channel details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand and include in the response (e.g., 'members', 'tabs'). |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Empty string returns all default properties. Use to optimize performance by excluding expensive properties like 'email' and 'summary'. |
| `team_id` | string | Yes | The unique identifier of the Microsoft Teams team. Must be a valid GUID (e.g., '893075dd-2487-4122-925f-022c42e20265'). |
| `channel_id` | string | Yes | The unique identifier of the channel within the specified team. Must be in thread format (e.g., '19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Teams channel message

**Slug:** `MICROSOFT_365_GET_CHANNEL_MESSAGE`

Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | ID of the Team containing the channel where the message is located. |
| `channel_id` | string | Yes | ID of the Channel within the specified Team that contains the message. |
| `message_id` | string | Yes | ID of the message to retrieve from the channel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get channel message reply

**Slug:** `MICROSOFT_365_GET_CHANNEL_MESSAGE_REPLY`

Tool to retrieve a single reply to a message in a channel. Use when you need to get details of a specific reply message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expand related entities. Use to include additional related information in the response. |
| `select` | array | No | Select specific properties to be returned. If not specified, all properties are returned. |
| `team_id` | string | Yes | Unique identifier of the Microsoft Teams team. |
| `reply_id` | string | Yes | Unique identifier of the reply message to retrieve. |
| `channel_id` | string | Yes | Unique identifier of the channel within the team. |
| `message_id` | string | Yes | Unique identifier of the channel message that contains the reply. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chart

**Slug:** `MICROSOFT_365_GET_CHART`

Get chart

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related chart resources to include. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | No | The exact chart ID or name. Provide exactly one of chart_name or chart_index. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `chart_index` | integer | No | The zero-based chart position. Provide exactly one of chart_name or chart_index. |
| `select_fields` | array | No | Chart properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chart Axis

**Slug:** `MICROSOFT_365_GET_CHART_AXIS`

Tool to retrieve a specific axis from a chart. Use when you need properties like min, max, interval, and formatting of the chart axis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand query option to expand related entities (format). |
| `select` | string | No | OData $select query option to specify which properties to return. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the workbook. |
| `drive_id` | string | No | Optional drive ID. If provided, uses /drives/{drive_id}/items/{item_id} endpoint (required for application permissions). If not provided, uses /me/drive/items/{item_id} endpoint (for delegated permissions). |
| `axis_type` | string ("valueAxis" | "seriesAxis" | "categoryAxis") | Yes | The type of axis to retrieve. Allowed values: 'valueAxis', 'seriesAxis', 'categoryAxis'. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `chart_name` | string | Yes | The name or ID of the chart (must be URL-encoded). |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chart component

**Slug:** `MICROSOFT_365_GET_CHART_COMPONENT`

Retrieve one Excel chart component: chart title, axis title, supported gridlines, axis font, or supported line format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `selector` | string | Yes | The chart component and its component-specific selector settings. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chart Data Labels

**Slug:** `MICROSOFT_365_GET_CHART_DATA_LABELS`

Tool to retrieve the data labels object of a chart. Use when you need to inspect label settings like position, separator, and visibility flags after creating or updating a chart.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the workbook. |
| `chart_id` | string | Yes | The ID or name of the chart (must be URL-encoded if using special characters). |
| `drive_id` | string | No | Optional drive ID. If not provided, defaults to 'me' (user's default drive). |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in the headers to maintain session state. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet (must be URL-encoded if using special characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chart image

**Slug:** `MICROSOFT_365_GET_CHART_IMAGE`

Render an Excel chart as a base64-encoded image.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | Desired image width in pixels. |
| `height` | integer | No | Desired image height in pixels. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `fitting_mode` | string ("Fit" | "FitAndCenter" | "Fill") | No | How to fit the chart when both dimensions are provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chart Legend

**Slug:** `MICROSOFT_365_GET_CHART_LEGEND`

Tool to retrieve the legend object of a chart. Use after creating or updating a chart when you need to inspect legend visibility and formatting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand query option to expand related entities, such as format. |
| `select` | string | No | OData $select query option to specify which properties to return (comma-separated). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the workbook. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `chart_name` | string | Yes | The name or ID of the chart (URL-encoded if necessary). |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in the headers to maintain session state. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet (URL-encoded if necessary). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chart point

**Slug:** `MICROSOFT_365_GET_CHART_POINT`

Get chart point

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related point resources to include. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `point_id` | string | No | The exact chart point ID. Provide exactly one of point_id or point_index. |
| `series_id` | string | No | The exact series ID. Provide exactly one of series_id or series_index. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `point_index` | integer | No | The zero-based point position. Provide exactly one of point_id or point_index. |
| `series_index` | integer | No | The zero-based series position. Provide exactly one of series_id or series_index. |
| `select_fields` | array | No | Point properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chart series

**Slug:** `MICROSOFT_365_GET_CHART_SERIES`

Get chart series

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related series resources to include. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `series_id` | string | No | The exact chart series ID. Provide exactly one of series_id or series_index. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `series_index` | integer | No | The zero-based series position. Provide exactly one of series_id or series_index. |
| `select_fields` | array | No | Series properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chat

**Slug:** `MICROSOFT_365_GET_CHAT`

Tool to retrieve a single chat by ID. Use when you need to get details about a specific chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of related entities to expand in the response. Supported values: 'members' (includes all chat members), 'lastMessagePreview' (includes preview of the last message). Leave empty to return only basic chat properties. |
| `chat_id` | string | Yes | The unique identifier of the chat to retrieve. This is the chat's ID in the format '19:abc123def456@thread.v2' for group chats or '19:user1_user2@unq.gbl.spaces' for one-on-one chats. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chat last message preview (Deprecated)

**Slug:** `MICROSOFT_365_GET_CHAT_LAST_MESSAGE_PREVIEW`

DEPRECATED: Use MICROSOFT_TEAMS_GET_CHAT instead. Tool to get lastMessagePreview from a chat. Use when you need to see the preview of the most recent message in a specific chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | The unique identifier of the chat. This is a composite ID formatted like '19:abc123def456@thread.v2' for group chats or meeting chats. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chat member

**Slug:** `MICROSOFT_365_GET_CHAT_MEMBER`

Tool to get a specific conversation member from a Microsoft Teams chat. Use when you need details about a specific chat participant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Unique identifier of the Microsoft Teams chat. Format: '19:xxxxx@thread.v2' |
| `conversation_member_id` | string | Yes | Unique identifier of the conversation member. This is an opaque string returned by Microsoft Graph API that should not be parsed or assumed by clients. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get chat message

**Slug:** `MICROSOFT_365_GET_CHAT_MESSAGE`

Tool to get a specific chat message. Use after confirming chat_id and message_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Unique identifier of the Microsoft Teams chat that contains the message. |
| `message_id` | string | Yes | Unique identifier of the chat message to retrieve. This is a numeric timestamp string (milliseconds since epoch) returned by the Microsoft Graph API when listing messages. Do not include underscores or other separators. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Checklist Item

**Slug:** `MICROSOFT_365_GET_CHECKLIST_ITEM`

Get a single Microsoft To Do checklist item (subtask) by its id, within a task in a task list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the To Do task list that contains the task (path param todoTaskListId). This is the long URL-safe id returned by the list/create task-list actions, not the display name. |
| `task_id` | string | Yes | Id of the task that owns the checklist item (path param taskId). This is the long URL-safe id returned by the list/create task actions. |
| `checklist_item_id` | string | Yes | Id (GUID) of the checklist item to fetch (path param checklistItemId). This is the GUID returned by the list/create checklist-item actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get child folder message

**Slug:** `MICROSOFT_365_GET_CHILD_FOLDER_MESSAGE`

Tool to retrieve a specific email message from a child mail folder. Use when you need to access a message in a nested folder hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | List of message properties to include in the response. OData $select parameter. Reduces data transfer and improves performance. Common fields: id, subject, from, toRecipients, ccRecipients, receivedDateTime, sentDateTime, body, bodyPreview, hasAttachments, webLink, internetMessageHeaders, isRead, importance, categories. Leave empty to return all fields. |
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique ID of the message to retrieve. Must be obtained from OUTLOOK_LIST_MAIL_FOLDER_MESSAGES, OUTLOOK_QUERY_EMAILS, or OUTLOOK_SEARCH_MESSAGES (use hitId from search results). The message must exist in the specified child folder. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For custom folders, use the actual folder ID (a base64-encoded string like 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS. |
| `child_folder_id` | string | Yes | The ID of the child mail folder containing the message. This must be a base64-encoded folder ID (e.g., 'AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4=') obtained from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. Well-known names are NOT valid for child folders. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the message's Microsoft Purview sensitivity label in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed before using message content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get child folder message MIME content

**Slug:** `MICROSOFT_365_GET_CHILD_FOLDER_MESSAGE_CONTENT`

Tool to get the MIME content of a message from a child mail folder. Use when you need to download the raw MIME format of an email message for analysis or archival.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. Use 'me' for delegated authentication or provide a specific user ID/email for S2S (app-only) authentication. |
| `message_id` | string | Yes | The unique identifier of the message whose MIME content to retrieve. Must be obtained from message listing or query operations. |
| `mail_folder_id` | string | Yes | The unique identifier of the parent mail folder. Must be obtained from 'List Mail Folders' or other mail folder operations. |
| `child_folder_id` | string | Yes | The unique identifier of the child mail folder within the parent folder. Must be obtained from 'List Child Mail Folders' or other folder operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get child mail folder

**Slug:** `MICROSOFT_365_GET_CHILD_MAIL_FOLDER`

Tool to retrieve a specific child mail folder from a parent mail folder. Use when you need details about a specific subfolder within a folder hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated list of mailFolder properties to include in the response. Valid properties include: id, displayName, parentFolderId, childFolderCount, unreadItemCount, totalItemCount, sizeInBytes, isHidden. Example: 'id,displayName,childFolderCount'. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For folder IDs, obtain them from OUTLOOK_LIST_MAIL_FOLDERS or previous childFolders responses. Folder IDs are base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA=') that are mailbox-specific and must come from the same user's mailbox. |
| `child_folder_id` | string | Yes | The unique ID of the child folder to retrieve. Obtain child folder IDs from OUTLOOK_LIST_CHILD_MAIL_FOLDERS or previous API responses. Child folder IDs are base64-encoded strings that are mailbox-specific and must come from the same user's mailbox. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Comment

**Slug:** `MICROSOFT_365_GET_COMMENT`

Retrieve one workbook comment by its exact ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related comment entities to include through the OData $expand query option. |
| `select` | array | No | Comment properties to return through the OData $select query option. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `comment_id` | string | Yes | The exact ID of the workbook comment to retrieve. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Comment Reply

**Slug:** `MICROSOFT_365_GET_COMMENT_REPLY`

Retrieve one reply to a workbook comment by its exact ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related reply entities to include through the OData $expand query option. |
| `select` | array | No | Reply properties to return through the OData $select query option. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `reply_id` | string | Yes | The exact ID of the comment reply to retrieve. |
| `comment_id` | string | Yes | The exact ID of the parent workbook comment. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact extension

**Slug:** `MICROSOFT_365_GET_CONTACT_EXTENSION`

Retrieves an open extension from a contact in a specified contact folder in Microsoft Graph. The response contains extension identification metadata, not the extension's custom data fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID) or user principal name (email) for S2S authentication. If not provided, uses '/me' endpoint for delegated authentication. |
| `contact_id` | string | Yes | The unique identifier of the contact that has the extension. |
| `extension_id` | string | Yes | The unique identifier of the extension to retrieve. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.TestExtension) or just the extension name (e.g., Com.Contoso.TestExtension). |
| `contact_folder_id` | string | Yes | The unique identifier of the contact folder containing the contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact folder

**Slug:** `MICROSOFT_365_GET_CONTACT_FOLDER`

Tool to retrieve a specific contact folder by ID. Use when you need details about a particular contact folder in the user's mailbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | OData query parameter to select specific properties, e.g., 'id,displayName'. |
| `user_id` | string | No | The ID or userPrincipalName of the user. Required for app-only authentication (S2S). If not provided, uses '/me' endpoint for delegated authentication. |
| `contact_folder_id` | string | Yes | The ID of the contact folder to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user contact folders

**Slug:** `MICROSOFT_365_GET_CONTACT_FOLDERS`

Tool to retrieve contact folders from a specific user's mailbox. Use when you need to list or browse contact folders for a given user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of contact folders to return. OData $top parameter. |
| `skip` | integer | No | Number of contact folders to skip for pagination. OData $skip parameter. |
| `expand` | array | No | Related entities to expand inline. OData $expand parameter. |
| `filter` | string | No | OData filter expression to filter the contact folders, e.g., startswith(displayName,'A'). |
| `select` | array | No | List of properties to include in the response. OData $select parameter. |
| `orderby` | array | No | List of properties to order results by. OData $orderby parameter. |
| `user_id` | string | Yes | User principal name or ID. Use 'me' for the authenticated user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact from folder

**Slug:** `MICROSOFT_365_GET_CONTACT_FROM_FOLDER`

Tool to retrieve a specific contact from a contact folder by its ID. Use when you need to access contact details from a specific folder rather than the default contacts location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand and include in the response. Leave empty for default behavior. |
| `select` | array | No | List of specific contact properties to include in the response, e.g., ['displayName', 'emailAddresses']. Leave empty to get all properties. |
| `user_id` | string | No | User's principal name (e.g., 'AdeleV@contoso.onmicrosoft.com') or 'me' for the authenticated user. Using 'me' is recommended for accessing one's own contacts. |
| `contact_id` | string | Yes | Unique identifier for the contact within the specified contact folder. |
| `contact_folder_id` | string | Yes | Unique identifier of the contact folder containing the contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact photo metadata

**Slug:** `MICROSOFT_365_GET_CONTACT_PHOTO_METADATA`

Retrieve dimensions and optional media metadata for a contact's photo.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The Microsoft Entra user ID or user principal name. Required for app-only (S2S) authentication. If omitted, uses the signed-in user. |
| `contact_id` | string | Yes | The unique identifier of the contact whose photo metadata to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Content Type Column

**Slug:** `MICROSOFT_365_GET_CONTENT_TYPE_COLUMN`

Get a single column of a SharePoint site or list content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,description. |
| `list_id` | string | No | Optional list ID or display name. When provided, the column is read from a list-level content type instead of a site-level one. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `column_id` | string | Yes | Microsoft Graph columnDefinition ID of the content type column to retrieve. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Content Type Published Status

**Slug:** `MICROSOFT_365_GET_CONTENT_TYPE_IS_PUBLISHED`

Check whether a SharePoint content type is published to the content type hub.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. This must be the content type hub site. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Booking Currency

**Slug:** `MICROSOFT_365_GET_CURRENCY`

Get one Microsoft Bookings currency by its ISO currency code.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `currency_id` | string | Yes | Three-letter ISO 4217 currency code, for example USD. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Drive

**Slug:** `MICROSOFT_365_GET_CURRENT_DRIVE`

Return the signed-in user's default OneDrive ID and basic owner, type, and quota details. Use the drive ID to target other accessible-drive actions explicitly.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customer

**Slug:** `MICROSOFT_365_GET_CUSTOMER`

Get one saved customer and their contact details from a booking business.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the customer. |
| `customer_id` | string | Yes | Opaque Base64-encoded ID of the saved customer to retrieve. IDs returned by Microsoft Graph create or list operations are already in Graph's usable encoded form; pass the returned id unchanged and do not encode it again. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Question

**Slug:** `MICROSOFT_365_GET_CUSTOM_QUESTION`

Get one custom intake question, including its answer type and available choices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `business_id` | string | Yes | ID of the booking business that owns the custom question. |
| `question_id` | string | Yes | ID of the custom question to retrieve. |
| `include_count` | boolean | No | Pass Microsoft Graph's documented $count option on this request. Graph may reject this option for a single-resource route. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get day note

**Slug:** `MICROSOFT_365_GET_DAY_NOTE`

Tool to retrieve a specific day note from a team's schedule. Use when you need to view notes for a specific date in a team's schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expand related entities inline. Use to include related resources in the response. |
| `select` | array | No | Select specific properties to include in the response. Available properties: id, dayNoteDate, sharedDayNote, draftDayNote. |
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team. |
| `daynote_id` | string | Yes | The unique identifier of the day note to retrieve. Format: NOTE_<guid> |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Default Drive

**Slug:** `MICROSOFT_365_GET_DEFAULT_DRIVE`

Get the default document library drive for a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Derived Range

**Slug:** `MICROSOFT_365_GET_DERIVED_RANGE`

Return a range derived from another range by navigation or geometry.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Optional signed count for columns_after, columns_before, rows_above, or rows_below. Defaults to 1. |
| `target` | string | Yes | The source range. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | The drive containing the workbook. Omit for the connected user's default drive. |
| `operation` | string ("bounding_rectangle" | "cell" | "column" | "columns_after" | "columns_before" | "entire_column" | "entire_row" | "intersection" | "last_cell" | "last_column" | "last_row" | "offset" | "resize" | "row" | "rows_above" | "rows_below" | "used_range") | Yes | The range navigation or derivation operation to perform. |
| `row_index` | integer | No | The zero-based row index for cell or row. |
| `delta_rows` | integer | No | The signed row-size change for resize. |
| `row_offset` | integer | No | The signed row offset for offset. |
| `session_id` | string | No | An optional workbook session ID. |
| `values_only` | boolean | No | For used_range, whether to ignore cells used only by formatting. |
| `column_index` | integer | No | The zero-based column index for cell or column. |
| `another_range` | string | No | The other range address for bounding_rectangle or intersection. |
| `column_offset` | integer | No | The signed column offset for offset. |
| `delta_columns` | integer | No | The signed column-size change for resize. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get drafts mail folder

**Slug:** `MICROSOFT_365_GET_DRAFTS_MAIL_FOLDER`

Tool to get the drafts mail folder. Use when you need to retrieve details about the drafts folder such as item counts and folder ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated list of properties to include in the response. Valid properties: id, displayName, parentFolderId, childFolderCount, unreadItemCount, totalItemCount, sizeInBytes, isHidden. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Drive Item Analytics

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_ANALYTICS`

Get item analytics for a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string ("allTime" | "lastSevenDays") | No | Analytics period sub-path. One of allTime or lastSevenDays (the only values valid on /analytics; use getActivitiesByInterval for custom ranges). |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get DriveItem by Sharing URL

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_BY_SHARING_URL`

Resolve a OneDrive or SharePoint sharing URL or share ID to drive item metadata and available IDs. An optional sharing-link redemption setting can grant durable access to the item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sharing_url` | string | No | A OneDrive or SharePoint sharing URL (e.g., 1drv.ms link, SharePoint link, or Teams contentUrl). This will be automatically encoded to a sharing token. Mutually exclusive with share_id_or_encoded_url. |
| `prefer_redeem` | string ("redeemSharingLinkIfNecessary" | "redeemSharingLink") | No | Controls access redemption. 'redeemSharingLink' grants durable access to the item. 'redeemSharingLinkIfNecessary' grants access only for this request. If not specified, no Prefer header is sent. |
| `select_fields` | array | No | A list of DriveItem properties to return. If not specified, a default set of properties is returned. Common fields: id, name, size, webUrl, file, folder, createdDateTime, lastModifiedDateTime, parentReference. |
| `expand_children` | boolean | No | If true and the item is a folder, expands the children collection to include child items in the response. |
| `share_id_or_encoded_url` | string | No | An already-encoded sharing token (prefixed with 'u!') or a shareId token from a previous API call. Mutually exclusive with sharing_url. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive Item List Fields

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_LIST_ITEM_FIELDS`

Get SharePoint list-item column values associated with a drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional comma-separated SharePoint internal field names to return with Microsoft Graph $select. |
| `item_id` | string | Yes | Microsoft Graph drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Drive Item Permission

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_PERMISSION`

Get a single sharing permission on a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,roles,grantedToV2. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `permission_id` | string | Yes | Microsoft Graph permission ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Drive Item Retention Label

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_RETENTION_LABEL`

Get metadata for the retention label applied to a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional comma-separated OData $expand list of related entities to expand. |
| `select` | string | No | Optional comma-separated OData $select list of properties to return, for example name,retentionSettings. |
| `item_id` | string | Yes | Microsoft Graph drive item ID whose retention label to retrieve. |
| `drive_id` | string | Yes | Microsoft Graph drive ID of the document library. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Drive Item Version

**Slug:** `MICROSOFT_365_GET_DRIVE_ITEM_VERSION`

Get a specific SharePoint drive item version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `version_id` | string | Yes | Microsoft Graph version ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Drive Backing List

**Slug:** `MICROSOFT_365_GET_DRIVE_LIST`

Get the SharePoint list that backs a document-library drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related list resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value for list properties to return. |
| `drive_id` | string | Yes | Microsoft Graph ID of the document-library drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar event

**Slug:** `MICROSOFT_365_GET_EVENT`

Retrieves the full details of a specific calendar event by its ID from a user's Outlook calendar, provided the event exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's primary SMTP address, user principal name (UPN), or the alias 'me' (for the signed-in user) to identify the calendar owner. |
| `event_id` | string | Yes | The unique identifier of the calendar event to retrieve. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the event's Microsoft Purview sensitivity label from a filtered msip_labels expansion in the same Graph request. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Requires Calendars.Read or Calendars.ReadWrite. Treat a returned status of unknown as fail-closed before using the event content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event attachment

**Slug:** `MICROSOFT_365_GET_EVENT_ATTACHMENT`

Retrieve a specific attachment from an Outlook calendar event by attachment ID. The response includes attachment details and, for file attachments, may include base64-encoded content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's primary SMTP address, UPN, or 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event calendar from calendar group

**Slug:** `MICROSOFT_365_GET_EVENT_CALENDAR_FROM_GROUP`

Tool to retrieve the calendar that contains a specific event within a calendar group. Use when you need to get calendar details for an event in a calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID or email) for S2S authentication. If not provided, uses /me endpoint for delegated auth. |
| `event_id` | string | Yes | The unique identifier of the event within the calendar. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get channel files folder

**Slug:** `MICROSOFT_365_GET_FILES_FOLDER`

Tool to get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team. Use when you need to access file storage information for a channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,name,webUrl'). |
| `group_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams group/team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `channel_id` | string | Yes | Unique identifier of the channel within the specified team. Must be in thread format (e.g., '19:3442cabe1ce346538fec728d83abe8a5@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drives Following

**Slug:** `MICROSOFT_365_GET_FOLLOWED_ITEM`

Tool to retrieve a specific followed driveItem from a drive. Use when you need to get details about a file or folder that the user has marked to follow.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The unique identifier of the drive. This can be the ID of the user's personal OneDrive, a group's document library, or a specific drive ID. |
| `drive_item_id` | string | Yes | The unique identifier of the followed driveItem to retrieve. This is the ID of a specific file or folder that has been followed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft Graph group

**Slug:** `MICROSOFT_365_GET_GROUP`

Retrieve a Microsoft Graph group by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Group properties to return as a list or comma-separated string (OData $select). |
| `group_id` | string | Yes | Unique identifier of the Microsoft Graph group to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft 365 group calendar

**Slug:** `MICROSOFT_365_GET_GROUP_CALENDAR`

Retrieve metadata for a Microsoft 365 group's default calendar using delegated work or school account access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Calendar properties to return as a list or comma-separated string (OData $select). |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group that owns the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group calendar event

**Slug:** `MICROSOFT_365_GET_GROUP_CALENDAR_EVENT`

Retrieve one Microsoft 365 group calendar event by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated event relationships to include inline. |
| `select` | string | No | Comma-separated event properties to return. |
| `event_id` | string | Yes | Opaque, case-sensitive ID of the calendar event to retrieve. |
| `group_id` | string | Yes | Microsoft 365 group ID containing the calendar event. |
| `timezone` | string | No | Supported time zone name for start and end values, such as Pacific Standard Time. Defaults to UTC when omitted. |
| `body_content_type` | string ("text" | "html") | No | Preferred format for the returned event body. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft 365 group details

**Slug:** `MICROSOFT_365_GET_GROUP_DETAILS`

Retrieve a Microsoft 365 group and optionally select properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated group properties to return, including properties not returned by default. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft 365 group event

**Slug:** `MICROSOFT_365_GET_GROUP_EVENT`

Retrieve one calendar event owned by a Microsoft 365 group using delegated access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Event relationships to include as a list or comma-separated string (OData $expand). |
| `select` | string | No | Event properties to return as a list or comma-separated string (OData $select). |
| `event_id` | string | Yes | Opaque ID of the group event to retrieve. |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group that owns the event. |
| `timezone` | string | No | Outlook time zone used to format the returned event start and end times. |
| `body_content_type` | string ("text" | "html") | No | Preferred format for the returned event body: text or html. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group OneNote operation status

**Slug:** `MICROSOFT_365_GET_GROUP_OPERATIONS`

Retrieves the status of a long-running OneNote operation for a group. Use this action when you need to check whether a copy or sync operation (e.g., CopyNotebook, CopyToNotebook, CopyToSectionGroup, CopyToSection) has completed, failed, or is still in progress.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group that owns the OneNote notebook. |
| `operation_id` | string | Yes | The unique identifier of the long-running OneNote operation to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group OneNote page content

**Slug:** `MICROSOFT_365_GET_GROUP_PAGE_CONTENT`

Retrieves the raw HTML content of a OneNote page owned by a group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page. |
| `group_id` | string | Yes | The Microsoft 365 group ID that owns the OneNote page. |
| `include_ids` | boolean | No | When set, controls whether the returned HTML includes element IDs for later page updates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group post attachment

**Slug:** `MICROSOFT_365_GET_GROUP_POST_ATTACHMENT`

Retrieve one attachment from a Microsoft 365 group conversation post using delegated access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand expression. For an item attachment, use 'microsoft.graph.itemattachment/item' to include the attached item. |
| `post_id` | string | Yes | Opaque ID of the conversation post containing the attachment. |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group containing the post. |
| `thread_id` | string | Yes | Opaque ID of the conversation thread containing the post. |
| `attachment_id` | string | Yes | Opaque ID of the attachment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Group Root Site

**Slug:** `MICROSOFT_365_GET_GROUP_ROOT_SITE`

Get the root SharePoint team site associated with a Microsoft 365 group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,displayName,webUrl. |
| `group_id` | string | Yes | Microsoft 365 group ID whose provisioned team site to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote section from a group

**Slug:** `MICROSOFT_365_GET_GROUP_SECTIONS`

Retrieves a specific OneNote section from a Microsoft 365 group. Use this action when you need to fetch metadata or details for a single OneNote section by specifying the group ID and section ID. This action supports OData query parameters for selecting specific properties and expanding relationships like parentNotebook or parentSectionGroup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentNotebook, parentSectionGroup. |
| `select` | array | No | Comma-separated list of section properties to include in the response. Valid values include: id, self, createdDateTime, displayName, createdBy, lastModifiedBy, lastModifiedDateTime, isDefault, links, pagesUrl, parentNotebook, parentSectionGroup. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `section_id` | string | Yes | The unique identifier of the OneNote section to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote page from a group

**Slug:** `MICROSOFT_365_GET_GROUP_SECTIONS_PAGES`

Retrieves OneNote page metadata directly by page ID in a Microsoft 365 group. Legacy notebook, section group, and section IDs do not affect the Graph route.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentSection, parentNotebook. |
| `select` | array | No | Comma-separated list of page properties to include in the response. Valid values include: id, self, title, createdDateTime, lastModifiedDateTime, content, contentUrl, createdByAppId, level, order, links, parentSection, parentNotebook. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to retrieve. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `pagelevel` | boolean | No | Set to true to include the page's level and order in its section. |
| `section_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `notebook_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `section_group_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group team channel (Deprecated)

**Slug:** `MICROSOFT_365_GET_GROUP_TEAM_CHANNEL`

DEPRECATED: Use MICROSOFT_TEAMS_GET_CHANNEL instead. Tool to get a specific channel from a group's team. Use when you have a group ID and channel ID to fetch channel details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand and include in the response. |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Leave empty to return all default properties. |
| `group_id` | string | Yes | The unique identifier (GUID) of the group. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `channel_id` | string | Yes | The unique identifier of the channel within the specified group's team. Must be in thread format (e.g., '19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get inference classification

**Slug:** `MICROSOFT_365_GET_INFERENCE_CLASSIFICATION`

Tool to get inference classification settings for the authenticated user. Use when you need to retrieve the Focused Inbox configuration and sender-specific overrides that determine message classification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The ID or email address of the user. Required for S2S (app-only) authentication. Use the user's GUID or email format (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f' or 'user@example.com'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Item Metadata

**Slug:** `MICROSOFT_365_GET_ITEM`

Retrieves the metadata of a DriveItem by its unique ID. Use this tool to get information about a specific file or folder in OneDrive when you have its ID. If a `drive_id` is not provided, it defaults to the user's main drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the DriveItem (file or folder). DriveItem IDs vary by platform: OneDrive for Business/SharePoint uses '01...' prefix format (e.g., '01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK'), while OneDrive Personal uses 'HASH!NUMBER' format (e.g., 'D4648F06C91D9D3D!54927'). IDs are case-sensitive and must be used exactly as returned from Microsoft Graph API. Obtain IDs from ONE_DRIVE_LIST_FOLDER_CHILDREN, ONE_DRIVE_SEARCH_ITEMS, or similar operations. Do NOT use: web URLs, sharing links, SharePoint listItem IDs, or manually constructed identifiers. IDs become stale after move, rename, or delete; refresh via ONE_DRIVE_SEARCH_ITEMS or ONE_DRIVE_LIST_FOLDER_CHILDREN instead of retrying a stale ID. |
| `drive_id` | string | No | The unique identifier of the Drive where the item is located. If not provided, the action will target the user's personal OneDrive (me/drive). Always specify drive_id explicitly for group drives, SharePoint site drives, or shared libraries to avoid silently querying the wrong drive. |
| `select_fields` | array | No | A list of DriveItem properties to return. If not specified, a default set of properties is returned. Refer to the DriveItem resource documentation for available fields. |
| `expand_relations` | array | No | Navigation properties to expand in the response. Valid values: 'children' (folder contents), 'thumbnails' (image previews), 'versions' (version history), 'permissions' (sharing permissions), 'listItem' (SharePoint list item data), 'activities' (recent activities), 'analytics' (usage analytics), 'createdByUser' (creator user details), 'lastModifiedByUser' (last modifier user details), 'retentionLabel' (retention policy), 'subscriptions' (webhooks), 'workbook' (Excel workbook data). Note: 'content' is NOT expandable - use ONE_DRIVE_DOWNLOAD_FILE to retrieve file content; 'listItem' requires SharePoint drives; some properties have regional/license restrictions. When expanding 'children': the array may be empty or absent; check for its presence and branch on 'file' vs 'folder' facets before processing. Expansion is non-recursive — call this tool separately for each child folder to traverse nested trees. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Item by Path

**Slug:** `MICROSOFT_365_GET_ITEM_BY_PATH`

Retrieve OneDrive or SharePoint driveItem metadata by drive-relative path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | Drive ID containing the item. Omit to use the connected user's drive. |
| `item_path` | string | Yes | Drive-relative path to a file or folder. Do not include a leading slash or the /root: prefix. |
| `select_fields` | array | No | DriveItem properties to return. Omit to return Microsoft Graph's default properties. |
| `expand_relations` | array | No | DriveItem relationships to expand, such as children, thumbnails, permissions, or listItem. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Item Permissions

**Slug:** `MICROSOFT_365_GET_ITEM_PERMISSIONS`

Retrieve a page of permissions for a DriveItem by ID, or by path in the current user's drive. Use the continuation token to retrieve further pages; returned permissions can include inherited and link-based access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | A comma-separated list of properties to include in the response. For example, 'id,roles,link'. |
| `item_id` | string | No | The unique identifier of the drive item. Verify the correct item before calling — disambiguate similarly named files using folder path, timestamps, or file size. Required unless item_path is provided. |
| `site_id` | string | No | The unique identifier of a SharePoint site. Use this if the item is in a SharePoint site's drive. |
| `user_id` | string | No | The unique identifier of a user. Use this if the item is in a specific user's drive (other than 'me'). |
| `drive_id` | string | No | The unique identifier of the drive. Required if not using other identifiers like group_id, site_id, or user_id in the path. |
| `group_id` | string | No | The unique identifier of a group. Use this if the item is in a group's drive. |
| `item_path` | string | No | The path to the item relative to the drive's root. Use this if item_id is not known. Must start with ':/' and end with ':/'. Example: ':/FolderA/FileB.txt:/'. Only applicable when accessing items in the current user's drive (me/drive/root). Does NOT substitute `item_id` (which is required); use only as supplemental path context for items in the current user's drive. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `if_none_match` | string | No | If this request header value (etag) matches the current etag on the item, an HTTP 304 Not Modified response is returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Item Thumbnails

**Slug:** `MICROSOFT_365_GET_ITEM_THUMBNAILS`

Tool to retrieve the thumbnails associated with a DriveItem. Use when you need to display visual previews of files. Response contains a `value` array with size keys (`small`, `medium`, `large`); thumbnails may not be generated for all file types or newly uploaded items, so handle an empty or missing `value` array. Returned thumbnail URLs are external HTTP endpoints with independent availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | A comma-separated list of thumbnail sizes to retrieve (e.g., "small,medium,large", or "c300x400_crop"). If not specified, all available thumbnails for the first thumbnailSet (id: "0") are returned. |
| `item_id` | string | Yes | The unique identifier of the DriveItem. |
| `site_id` | string | No | The unique identifier of a Site. Provide either drive_id, group_id, site_id, or user_id. |
| `user_id` | string | No | The unique identifier of a User. Provide either drive_id, group_id, site_id, or user_id. |
| `drive_id` | string | No | The unique identifier of the Drive. If not provided, 'me' will be used for the current user's drive. |
| `group_id` | string | No | The unique identifier of a Group. Provide either drive_id, group_id, site_id, or user_id. |
| `original_orientation` | boolean | No | If true, retrieves the thumbnail with its original EXIF orientation. This is only supported on OneDrive Personal. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Item Versions

**Slug:** `MICROSOFT_365_GET_ITEM_VERSIONS`

Tool to retrieve the version history of a DriveItem by its unique ID. Use when you need to access or list previous versions of a file. Version history may be unavailable or empty for folders or items in drives without versioning enabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the item (file or folder). |
| `site_id` | string | No | The unique identifier of the site. Mutually exclusive with drive_id, group_id, and user_id. |
| `user_id` | string | No | The unique identifier of the user. Mutually exclusive with drive_id, group_id, and site_id. |
| `drive_id` | string | No | The unique identifier of the drive. Mutually exclusive with group_id, site_id, and user_id. One of these must be provided if not using the /me path. |
| `group_id` | string | No | The unique identifier of the group. Mutually exclusive with drive_id, site_id, and user_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List

**Slug:** `MICROSOFT_365_GET_LIST`

Get a SharePoint list by ID or display name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Column

**Slug:** `MICROSOFT_365_GET_LIST_COLUMN`

Get a SharePoint list column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `column_id` | string | Yes | Microsoft Graph columnDefinition ID or column name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Content Type

**Slug:** `MICROSOFT_365_GET_LIST_CONTENT_TYPE`

Get a SharePoint list content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Drive

**Slug:** `MICROSOFT_365_GET_LIST_DRIVE`

Get the document-library drive associated with a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related drive resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value for drive properties to return. |
| `list_id` | string | Yes | Document-library list ID or display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Item

**Slug:** `MICROSOFT_365_GET_LIST_ITEM`

Get a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get List Item Drive Item

**Slug:** `MICROSOFT_365_GET_LIST_ITEM_DRIVE_ITEM`

Get the drive item associated with a SharePoint document-library list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,size,webUrl,file,folder. |
| `item_id` | string | Yes | List item ID within the SharePoint document library. |
| `list_id` | string | Yes | Microsoft Graph document-library list ID or display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Item Fields

**Slug:** `MICROSOFT_365_GET_LIST_ITEM_FIELDS`

Get field values for a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Item Version

**Slug:** `MICROSOFT_365_GET_LIST_ITEM_VERSION`

Get a specific SharePoint list item version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand expression. Use 'fields' to expand the fields collection and request the values of fields in the list item (e.g. $expand=fields). |
| `select` | string | No | OData $select expression listing the comma-separated properties to return in the response. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `version_id` | string | Yes | Microsoft Graph version ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mailbox settings

**Slug:** `MICROSOFT_365_GET_MAILBOX_SETTINGS`

Tool to retrieve mailbox settings. Use when you need to view settings such as automatic replies, time zone, and working hours for the signed-in or specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | OData $select query to specify mailbox settings properties to include. Valid properties: archiveFolder, automaticRepliesSetting, dateFormat, delegateMeetingMessageDeliveryOptions, language, timeFormat, timeZone, userPurpose, workingHours. |
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mail delta

**Slug:** `MICROSOFT_365_GET_MAIL_DELTA`

Retrieve incremental message changes in one mailbox folder, defaulting to Inbox. Page through initial or subsequent results using the returned next link, then store the delta link for the next synchronization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page. For first run without delta_token, use top=50 or top=100 to limit results. First delta call without token returns all messages in folder. Paginate through results using @odata.nextLink, then store @odata.deltaLink for next sync. |
| `expand` | array | No | Navigation properties to expand inline. Supported values: 'attachments', 'multiValueExtendedProperties', 'singleValueExtendedProperties'. Regular properties (body, from, toRecipients, etc.) cannot be expanded and will cause errors. |
| `select` | array | No | List of message properties to include (e.g. ['subject','receivedDateTime']). Delta sync has property limitations due to response size constraints. Not available in delta: internetMessageHeaders, body (full), attachments (full content). Available: id, subject, from, toRecipients, ccRecipients, bccRecipients, receivedDateTime, sentDateTime, isRead, isDraft, importance, hasAttachments, categories, conversationId, flag, webLink, bodyPreview (first 255 chars). |
| `user_id` | string | No | User identifier: 'me' for the signed-in user or the user's email/UPN. |
| `folder_id` | string | No | Mail folder identifier (folder GUID) or well-known folder name. Well-known names (case-insensitive): 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'outbox', 'archive', 'clutter', 'conversationhistory'. For custom folders, use the folder ID GUID from LIST_MAIL_FOLDERS. Defaults to 'inbox' when omitted. |
| `skip_token` | string | No | Skip token for paging through large result sets during initial sync. Accepts either the full @odata.nextLink URL or just the bare token value. Keep paginating until you receive '@odata.deltaLink' instead of nextLink. When using sensitivity-label enrichment, resend include_sensitivity_label=true with this token. Mutually exclusive with delta_token - only one should be provided per request. |
| `delta_token` | string | No | Delta token from a previous call to get only changes since that state. Accepts either the full @odata.deltaLink URL or just the bare token value. If omitted or invalid (placeholders like <token> are ignored), performs initial sync. Use top parameter on first run to limit results. Response includes @odata.deltaLink - store this for subsequent calls. When using sensitivity-label enrichment, resend include_sensitivity_label=true with this token. Mutually exclusive with skip_token - only one should be provided per request. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels for delta items through Microsoft Graph JSON batches capped at 20 requests per batch. Requires Mail.Read. Treat status unknown as fail-closed before using message content. Repeat this flag on every call that uses skip_token or delta_token because Graph tokens do not preserve this Composio-only setting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mail folder

**Slug:** `MICROSOFT_365_GET_MAIL_FOLDER`

Retrieve one Outlook mail folder by opaque ID or well-known name, optionally selecting only needed metadata such as display name and item counts. Supports the signed-in mailbox or an explicit user mailbox. Use OUTLOOK_LIST_MAIL_FOLDERS to discover top-level IDs and OUTLOOK_LIST_CHILD_MAIL_FOLDERS for nested IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Mail folder properties to include in the response. Pass a list (recommended) or a comma-separated string; both become one OData $select value. Valid properties: id, displayName, parentFolderId, childFolderCount, unreadItemCount, totalItemCount, sizeInBytes, isHidden. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder to retrieve. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mail folder message

**Slug:** `MICROSOFT_365_GET_MAIL_FOLDER_MESSAGE`

Tool to retrieve a specific message from a mail folder by its ID. Use when you need to fetch full message details including subject, body, sender, recipients, timestamps, and other metadata from a specific mail folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | Comma-separated list of message properties to include in the response. Valid properties include: id, subject, from, toRecipients, ccRecipients, bccRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId, flag, internetMessageHeaders, parentFolderId, replyTo, sender, webLink, isDraft, isReadReceiptRequested, isDeliveryReceiptRequested, changeKey, createdDateTime, lastModifiedDateTime, inferenceClassification. Leave empty to return all fields. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique ID of the message to retrieve. Accepts message IDs from: OUTLOOK_LIST_MESSAGES (message.id), OUTLOOK_QUERY_EMAILS (message.id), OUTLOOK_LIST_MAIL_FOLDER_MESSAGES (message.id), or OUTLOOK_SEARCH_MESSAGES (use hitId from search results). The message must exist in the specified mail folder; otherwise, a 404 error will occur. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the message's Microsoft Purview sensitivity label in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed before using message content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user mail folder message rule

**Slug:** `MICROSOFT_365_GET_MAIL_FOLDER_MESSAGE_RULE`

Tool to retrieve a specific message rule from a user's mail folder. Use when you need details about an email rule in a particular user's folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | The unique identifier of the message rule to retrieve. This can be obtained from list email rules actions. |
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's email address, user principal name (UPN), or user ID. Use 'me' for the authenticated user. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message rule. Well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive'. For other folders, use the folder ID obtained from list mail folders actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mail tips

**Slug:** `MICROSOFT_365_GET_MAIL_TIPS`

Tool to retrieve mail tips such as automatic replies and mailbox full status. Use when you need to check recipient status before sending mail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User principal name (UPN) or 'me' for the signed-in user. |
| `EmailAddresses` | array | Yes | Collection of SMTP addresses of recipients to get MailTips for. |
| `MailTipsOptions` | array | Yes | List of mail tip types to retrieve for each recipient. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get master categories

**Slug:** `MICROSOFT_365_GET_MASTER_CATEGORIES`

Tool to retrieve the user's master category list. Use when you need to get all categories defined for the user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of master categories to return (OData $top). |
| `skip` | integer | No | Number of master categories to skip for pagination (OData $skip). |
| `filter` | string | No | OData $filter query to filter master categories. |
| `select` | array | No | OData $select query to specify properties to include. |
| `orderby` | array | No | OData $orderby query to order master categories by property values. |
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get master category

**Slug:** `MICROSOFT_365_GET_MASTER_CATEGORY`

Tool to retrieve properties of a specific category from the user's master category list. Use when you need details about a specific category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `category_id` | string | Yes | Unique identifier of the Outlook category to retrieve. This ID can be obtained from Get Master Categories action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user's default calendar

**Slug:** `MICROSOFT_365_GET_ME_CALENDAR`

Retrieve properties of the default calendar for the signed-in user or a specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user child contact folder

**Slug:** `MICROSOFT_365_GET_ME_CONTACT_FOLDERS_CHILD_FOLDER`

Tool to retrieve a specific child contact folder for a user by ID. Use when you need details of a child folder nested within a parent contact folder for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | List of properties to include in the response. OData $select parameter. Valid properties: id, displayName, parentFolderId. |
| `user_id` | string | Yes | The unique identifier of the user. Can use 'me' as a shortcut for the authenticated user, or provide user ID or userPrincipalName. |
| `child_folder_id` | string | Yes | The unique identifier of the child contact folder to retrieve. |
| `contact_folder_id` | string | Yes | The unique identifier of the parent contact folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact from child folder

**Slug:** `MICROSOFT_365_GET_ME_CONTACT_FROM_CHILD_FOLDER`

Tool to retrieve a specific contact from a nested child folder within a contact folder. Use when you need contact details from a child folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand and include in the response. OData $expand parameter. |
| `select` | string | No | Comma-separated list of properties to include in the response. OData $select parameter. |
| `user_id` | string | Yes | User principal name or ID of the user. Use 'me' for the authenticated user. |
| `contact_id` | string | Yes | The unique identifier of the contact to retrieve. |
| `child_folder_id` | string | Yes | The ID of the child folder containing the contact. For deeply nested folders, provide only the immediate parent folder ID. |
| `contact_folder_id` | string | Yes | The ID of the parent contact folder containing the child folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact photo

**Slug:** `MICROSOFT_365_GET_ME_CONTACT_PHOTO`

Tool to get the binary media content of a contact's profile photo. Use when you need to download or retrieve a contact's picture.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or email address. Required for app-only (S2S) authentication. If not provided, uses '/me' endpoint for delegated auth. |
| `contact_id` | string | Yes | The unique identifier of the contact whose photo to retrieve. Must be obtained from 'List Contacts' or 'Get Contact'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact

**Slug:** `MICROSOFT_365_GET_ME_CONTACTS`

Retrieves a specific Outlook contact by its `contact_id` from the contacts of a specified `user_id` (defaults to 'me' for the authenticated user).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's principal name (e.g., 'AdeleV@contoso.onmicrosoft.com') or 'me' for the authenticated user. Using 'me' is recommended for accessing one's own contacts. |
| `contact_id` | string | Yes | Unique identifier for the contact within the specified user's Outlook address book. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user contact extension

**Slug:** `MICROSOFT_365_GET_ME_CONTACTS_EXTENSIONS`

Retrieve the identifying metadata of a specific open extension on a user's contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier or user principal name of the user. Use 'me' for the authenticated user. |
| `contact_id` | string | Yes | The unique identifier of the contact that has the extension. |
| `extension_id` | string | Yes | The unique identifier of the extension to retrieve. Can be the full extension ID (e.g., Microsoft.OutlookServices.OpenTypeExtension.Com.Composio.TestExtension) or just the extension name (e.g., Com.Composio.TestExtension). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get meeting recording content

**Slug:** `MICROSOFT_365_GET_MEETING_RECORDING_CONTENT`

Retrieve up to 256 MiB of video content for a scheduled, non-expired Microsoft Teams meeting recording as a downloadable file. Use this after listing recordings. For delegated connections, Microsoft Graph allows the organizer to download by default; tenant policy can also allow participants. Live events and non-calendar-backed create onlineMeeting meetings are documented as unsupported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The meeting organizer's Microsoft Graph user ID or UPN. When omitted, the action uses /me. For app-only connections, pass the organizer user GUID. |
| `recording_id` | string | Yes | The callRecording ID returned by the list meeting recordings endpoint. This value is URL-encoded in the path. |
| `online_meeting_id` | string | Yes | The online meeting ID that owns the recording. This value is URL-encoded in the path. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get meeting transcript content

**Slug:** `MICROSOFT_365_GET_MEETING_TRANSCRIPT_CONTENT`

Retrieve the raw content for a Microsoft Teams meeting transcript, with or without speaker attribution. Use this after listing meeting transcripts and selecting a transcript ID. The Microsoft Graph transcript APIs only support calendar-backed online meetings that have an available transcript; standalone meetings created only with the create onlineMeeting API can return 412.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string ("text/vtt" | "application/vnd.microsoft.graph.transcript+text") | No | Transcript content format. Use text/vtt for speaker-attributed WebVTT or application/vnd.microsoft.graph.transcript+text for timestamped text without speaker attribution. The unattributed format is required when speaker attribution is disabled by tenant policy. |
| `user_id` | string | No | The meeting organizer's Microsoft Graph user ID or UPN. When omitted, the action uses /me. For app-only connections, pass the organizer user GUID. |
| `transcript_id` | string | Yes | The callTranscript ID returned by the list meeting transcripts endpoint. This value is URL-encoded in the path. |
| `online_meeting_id` | string | Yes | The online meeting ID that owns the transcript. This value is URL-encoded in the path. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user event attachment

**Slug:** `MICROSOFT_365_GET_ME_EVENT_ATTACHMENT`

Tool to retrieve a specific attachment from a user's calendar event. Use when you need to access attachment details including content from a specific user's event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Use the user's UPN (e.g., 'user@contoso.com') or user ID. |
| `event_id` | string | Yes | The unique identifier of the calendar event containing the attachment. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event calendar

**Slug:** `MICROSOFT_365_GET_ME_EVENT_CALENDAR`

Tool to retrieve the calendar that contains a specific event. Use when you need to get calendar details for an event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the event. This ID can be obtained from listing calendar events or other event operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get mail folder message attachment (Deprecated)

**Slug:** `MICROSOFT_365_GET_ME_MAIL_FOLDER_MESSAGE_ATTACHMENT`

DEPRECATED: Use OUTLOOK_GET_USER_MESSAGES_ATTACHMENTS instead. Tool to get a specific attachment from a message in a mail folder. Use when you have the folder ID, message ID, and attachment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand parameter. Use 'microsoft.graph.itemattachment/item' to get the properties of the item (contact, event, or message) that is attached to the message. Can be used to expand nested attachments up to 30 levels. |
| `user_id` | string | No | The user ID or user principal name (email) of the user whose message attachment to retrieve. Required for S2S (app-only) authentication. If not provided, defaults to 'me' (authenticated user) which only works with delegated authentication. For S2S authentication with client credentials, you must provide the user_id (GUID) or email address. |
| `message_id` | string | Yes | The unique identifier of the email message containing the attachment. Must be a message ID obtained from OUTLOOK_LIST_MESSAGES or OUTLOOK_SEARCH_EMAILS. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. This ID is obtained from listing attachments. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get message extension

**Slug:** `MICROSOFT_365_GET_ME_MAIL_FOLDERS_MESSAGES_EXTENSIONS`

Retrieve identifying details for a specific extension on a message in a user's mail folder. The response does not retain arbitrary custom extension properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID, userPrincipalName, or 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message containing the extension. |
| `extension_id` | string | Yes | The unique identifier of the extension. Can be the extension name (e.g., 'Com.Contoso.Test') or the fully qualified name (e.g., 'Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Test'). |
| `mail_folder_id` | string | Yes | The unique identifier of the mail folder containing the message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get message MIME content

**Slug:** `MICROSOFT_365_GET_ME_MESSAGE_MIME_CONTENT`

Tool to get the MIME content of a message. Use when you need to download the raw MIME format of an email message for analysis or archival.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or principal name (email) of the user whose message to retrieve. Required when using app-only (S2S) authentication. If not provided, defaults to '/me' endpoint for delegated authentication. |
| `message_id` | string | Yes | The unique identifier of the message whose MIME content to retrieve. Must be obtained from message listing or query operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user outlook

**Slug:** `MICROSOFT_365_GET_ME_OUTLOOK`

Tool to retrieve the outlookUser object for a specified user. Use when you need to access the Outlook services entity for a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote resource content by ID

**Slug:** `MICROSOFT_365_GET_ME_RESOURCES_VALUE`

Retrieves the binary content of a OneNote resource by ID from the signed-in user's notebooks. The content is returned as a base64-encoded string, along with the content type and length when available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | string | Yes | The unique identifier of the OneNote resource (e.g., image, file attachment, or other embedded content). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote page content from section

**Slug:** `MICROSOFT_365_GET_ME_SECTION_PAGE_CONTENT`

Retrieves the HTML content of a specific OneNote page from a section for the signed-in user. Use this action when you need to fetch the full HTML content of a OneNote page within a specific section. This endpoint provides access to page content for processing, rendering, or exporting page data. The returned HTML includes text, images, and other embedded content references. This action is read-only and does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page. This can be the full resource path including the section ID. |
| `include_ids` | boolean | No | Optional. When set to true, the returned HTML includes IDs for page elements. Useful when you need to identify elements for updates or modifications. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get email message

**Slug:** `MICROSOFT_365_GET_MESSAGE`

Retrieve a message by immutable ID from the specified Outlook mailbox. Use `select` to include fields such as `internetMessageHeaders`. A 404 can indicate a deleted message, a different mailbox, or a stale legacy mutable ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | List of message properties to include in the response. Can be provided as an array of strings (e.g., ['subject', 'body']) or as a comma-separated string (e.g., 'subject,body'). Reduces data transfer and improves performance. Common fields: id, subject, from, toRecipients, ccRecipients, receivedDateTime, sentDateTime, body, bodyPreview, hasAttachments, webLink, internetMessageHeaders, isRead, importance, categories. Leave empty to return all message fields. Attachments are a separate Microsoft Graph navigation property; use OUTLOOK_LIST_OUTLOOK_ATTACHMENTS to retrieve them. |
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique immutable ID of the Outlook email message to retrieve. Accepts message IDs from OUTLOOK_LIST_MESSAGES (message.id), OUTLOOK_QUERY_EMAILS (message.id), or OUTLOOK_SEARCH_MESSAGES (use hitId from search results, as resource.id is not populated by the Search API). The message must exist in the specified user's mailbox. Legacy mutable IDs can become stale after a folder move. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the message's Microsoft Purview sensitivity label in the same Graph request. Requires Mail.Read or Mail.ReadWrite. Treat a returned status of unknown as fail-closed before using the message content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user message extension

**Slug:** `MICROSOFT_365_GET_MESSAGE_EXTENSION`

Retrieve the identifying metadata of a specific extension on a user's message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID, userPrincipalName, or 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the message containing the extension. |
| `extension_id` | string | Yes | The unique identifier of the extension. Can be the extension name (e.g., 'Com.Contoso.Test') or the fully qualified name (e.g., 'Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Test'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Profile

**Slug:** `MICROSOFT_365_GET_MY_PROFILE`

Tool to retrieve a user's profile (id/UPN/mail/displayName). Supports both delegated auth (use user_id='me') and application-only auth (specify user ID/UPN). Use when operations require user identity information (e.g., chat creation).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated list of properties to include in the response. Maps to the $select query parameter. If not specified, returns id, userPrincipalName, mail, and displayName by default. |
| `user_id` | string | No | The user's unique identifier (GUID) or user principal name (email). Use 'me' for delegated auth (currently signed-in user) or specify a user ID/UPN for application-only (S2S) auth. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get my profile photo

**Slug:** `MICROSOFT_365_GET_MY_PROFILE_PHOTO`

Download the signed-in Microsoft 365 user's profile photo as a file.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Signed-In User SharePoint My Site

**Slug:** `MICROSOFT_365_GET_MY_SITE`

Resolve the signed-in user's SharePoint hostname from OneDrive mySite.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Named Item

**Slug:** `MICROSOFT_365_GET_NAMED_ITEM`

Retrieve a workbook-scoped named item by exact name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The exact workbook-scoped name of the named item to retrieve. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the named item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |
| `select_fields` | array | No | Named-item properties to return. Omit to return Microsoft Graph's default properties. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Named Item Range

**Slug:** `MICROSOFT_365_GET_NAMED_ITEM_RANGE`

Retrieve the Excel range of a range-valued workbook-scoped named item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The exact workbook-scoped named-item name. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get attachment from nested folder message

**Slug:** `MICROSOFT_365_GET_NESTED_FOLDER_MESSAGE_ATTACHMENT`

Tool to retrieve a specific attachment from a message located in a nested mail folder structure. Use when you need to get attachment details from messages in deeply nested folders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Must be an actual user ID (e.g., '6640adbb5cb743b0') or user principal name (UPN). Cannot use 'me' alias for this endpoint. |
| `message_id` | string | Yes | The unique identifier of the message containing the attachment. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |
| `mail_folder_id` | string | Yes | The ID of the parent mail folder. Can be a well-known folder name (e.g., 'inbox', 'drafts', 'sentitems') or a folder ID obtained from listing mail folders. |
| `child_folder_ids` | array | Yes | List of child folder IDs representing the nested folder path. For a message in /folder1/subfolder1/subfolder2/, provide ['subfolder1_id', 'subfolder2_id']. Can be a single item for one level of nesting or multiple items for deeper nesting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get notebook from web URL

**Slug:** `MICROSOFT_365_GET_NOTEBOOK_FROM_WEB_URL`

Retrieves a OneNote notebook by using its web URL path. Use this action when you have the SharePoint or OneDrive URL of a notebook and need to retrieve its properties and metadata. The webUrl parameter accepts both standard HTTPS URLs and OneNote protocol URLs with the 'onenote:' prefix. This API is available in the following national cloud deployments: Global service only. Required permissions: Notes.Create (delegated) or Notes.Read.All (application).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (ID) or user principal name (UPN) of the user whose notebook to retrieve. |
| `web_url` | string | Yes | The URL path of the notebook to retrieve. Can also contain an 'onenote:' prefix. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get notebook section group

**Slug:** `MICROSOFT_365_GET_NOTEBOOK_SECTION_GROUP`

Retrieves a specific section group from a OneNote notebook within a Microsoft 365 group. Use this action when you need to get details about a specific section group, including its name, creation/modification timestamps, and links to its sections and nested section groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | List of relationships to expand. A legacy comma-separated string is also accepted. |
| `select` | string | No | Comma-separated list of properties to include in the response. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `section_group_id` | string | Yes | The unique identifier of the section group within the group's OneNote. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get offer shift request

**Slug:** `MICROSOFT_365_GET_OFFER_SHIFT_REQUEST`

Tool to get a specific offer shift request from a Microsoft Teams schedule. Use when you need to retrieve details of a single offer shift request by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `offer_shift_request_id` | string | Yes | Unique identifier of the offer shift request to retrieve. Must start with 'SREQ_' prefix (e.g., 'SREQ_6578bed4-f09c-4d6e-9d2a-ec86d2fe8244'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get online meeting

**Slug:** `MICROSOFT_365_GET_ONLINE_MEETING`

Tool to retrieve details of a specific Microsoft Teams online meeting by its ID. Use when you need to get the properties and relationships of an existing meeting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expand related entities to include additional information in the response. |
| `select` | array | No | Select specific properties to be returned. Allows filtering the response to include only the fields you need. |
| `user_id` | string | No | The user ID (UPN or object ID) of the meeting organizer. Required for S2S (client credentials) authentication. Not needed for delegated authentication. |
| `meeting_id` | string | Yes | The unique identifier (ID) of the online meeting to retrieve. This is the meeting's ID in the format returned when creating a meeting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get open shift

**Slug:** `MICROSOFT_365_GET_OPEN_SHIFT`

Tool to get a specific open shift from a Microsoft Teams schedule. Use when you need to retrieve details about a particular unassigned open shift by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,schedulingGroupId,sharedOpenShift'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `openshift_id` | string | Yes | Unique identifier of the open shift to retrieve. Typically in the format 'OPNSHFT_<guid>' (e.g., 'OPNSHFT_36878d77-7319-4c0e-9071-28f1f6a231c0'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get open shift change request

**Slug:** `MICROSOFT_365_GET_OPEN_SHIFT_CHANGE_REQUEST`

Tool to retrieve a specific open shift change request from a Microsoft Teams team's schedule. Use when you need to get details about a particular open shift request including its state, sender, and manager actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,openShiftId'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `open_shift_change_request_id` | string | Yes | Unique identifier of the openShiftChangeRequest to retrieve. This is the ID of the open shift change request resource in the team's schedule (e.g., 'SREQ_ba70828a-6add-43f6-9fc6-57eaddcfd0ef'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Excel Operation Status

**Slug:** `MICROSOFT_365_GET_OPERATION_STATUS`

Get the status of an asynchronous Excel workbook operation by its operation ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `session_id` | string | No | Optional workbook session ID. |
| `operation_id` | string | Yes | The operation ID returned by an asynchronous Excel request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote page

**Slug:** `MICROSOFT_365_GET_PAGE`

Retrieves metadata and properties of a specific OneNote page from the authenticated user's notebooks. Use this action when you need to fetch details about a OneNote page by its ID without navigating the full notebook/section hierarchy. This returns page metadata including title, creation date, modification date, and optional expanded parent relationships. For retrieving the HTML content of a page, use the dedicated page content endpoint instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentSection, parentNotebook. |
| `select` | array | No | List of page properties to include in the response. Valid values include: id, self, title, createdDateTime, lastModifiedDateTime, content, contentUrl, createdByAppId, level, order, links, parentSection, parentNotebook. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to retrieve. |
| `pagelevel` | boolean | No | Set to true to include the page's level and order in its section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Pivot Table

**Slug:** `MICROSOFT_365_GET_PIVOT_TABLE`

Get Pivot Table

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `worksheet` | string | Yes | The worksheet ID or exact name. |
| `session_id` | string | No | Optional workbook session ID. |
| `pivot_table_id` | string | Yes | The pivot table ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner bucket

**Slug:** `MICROSOFT_365_GET_PLANNER_BUCKET`

Retrieve a Microsoft Planner bucket by its unique identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bucket_id` | string | Yes | Unique identifier of the Microsoft Planner bucket to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner plan details

**Slug:** `MICROSOFT_365_GET_PLANNER_PLAN_DETAILS`

Retrieve a Planner plan's category-label descriptions and sharing identifiers by plan ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Unique identifier of the Planner plan whose details to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner task

**Slug:** `MICROSOFT_365_GET_PLANNER_TASK`

Retrieve a Microsoft Planner task's core fields, assignments, categories, schedule, and completion state by task ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related Planner task resources to include. |
| `select` | array | No | Planner task properties to return. |
| `task_id` | string | Yes | Unique identifier of the Planner task to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner task details

**Slug:** `MICROSOFT_365_GET_PLANNER_TASK_DETAILS`

Retrieve the description, checklist, references, and preview settings for a Microsoft Planner task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Unique identifier of the Planner task whose details to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Presence

**Slug:** `MICROSOFT_365_GET_PRESENCE`

Tool to get a specific user's presence information. Use when checking availability status, activity, or work location for a particular user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand inline (e.g., 'statusMessage'). If unspecified, no relationships are expanded. |
| `select` | string | No | Comma-separated OData property names to include in the response (e.g., 'availability,activity'). If unspecified, all properties are returned. |
| `user_id` | string | Yes | The unique identifier (GUID) or user principal name (UPN) of the user whose presence to retrieve. Use 'me' to get the authenticated user's presence. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation

**Slug:** `MICROSOFT_365_GET_PRESENTATION`

Return metadata for one PowerPoint file by item ID, including its current eTag for concurrency-safe updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation Content

**Slug:** `MICROSOFT_365_GET_PRESENTATION_CONTENT`

Read bounded, text-first semantic content from a current macro-free PPTX, including slides, shapes, text, safe hyperlinks, alt text, image metadata, tables, and speaker notes. Default budgets are 100 slides, 200 shapes per slide, 100 paragraphs per shape, 100 runs per paragraph, 20,000 characters per shape, 100,000 total characters, 5,000 structural elements, and 100 comments per slide. Maxima are respectively 500, 1,000, 500, 500, 100,000, 500,000, 20,000, and 200. For ordinary reads, use slide_numbers for only the needed slides and lower budgets instead of reading a whole large deck. Formatting, geometry, supported chart data, and modern comments are opt-ins. Uses eTag consistency and never returns layouts, package bytes, raw XML, unsafe external targets, or preauthenticated URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the macro-free PPTX presentation to inspect. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |
| `max_slides` | integer | No | Maximum selected slides to return before truncation (1-500). |
| `slide_numbers` | array | No | Optional unique 1-based slide numbers to return. Results remain in deck order. |
| `include_charts` | boolean | No | Include supported native chart data. Defaults to false; disabled charts and private workbooks are not parsed or budgeted. |
| `include_comments` | boolean | No | Include modern comments and replies. Defaults to false; disabled comments are not parsed or budgeted. |
| `include_geometry` | boolean | No | Include direct shape transform geometry. Defaults to false. |
| `include_formatting` | boolean | No | Include direct paragraph and text-run formatting. Defaults to false for compact text-first output. |
| `max_shapes_per_slide` | integer | No | Maximum direct top-level shapes returned per slide (1-1000). |
| `max_total_characters` | integer | No | Maximum represented Unicode characters across returned slides (1000-500000). |
| `max_comments_per_slide` | integer | No | Maximum modern root comments and replies returned per selected slide when include_comments is true. |
| `max_runs_per_paragraph` | integer | No | Maximum direct run-like children returned per paragraph (1-500). |
| `max_structural_elements` | integer | No | Maximum returned shapes, table cells, paragraphs, run-like elements, and enabled comment/chart records (1-20000). Geometry and formatting do not consume this budget. |
| `max_characters_per_shape` | integer | No | Maximum represented Unicode characters from one shape or notes body (1-100000). |
| `max_paragraphs_per_shape` | integer | No | Maximum paragraphs returned from one shape, table, or notes body (1-500). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation Layouts

**Slug:** `MICROSOFT_365_GET_PRESENTATION_LAYOUTS`

Download and validate the current macro-free PPTX, then return its complete bounded slide-layout catalog. Each layout has a unique opaque selector accepted by UPDATE_PRESENTATION_CONTENT add_slide, plus exact human-facing name and matchingName values and safe type/placeholder summaries for duplicate-name disambiguation. Never returns package paths, raw OOXML, package bytes, or download URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the current macro-free PPTX presentation. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation Preview

**Slug:** `MICROSOFT_365_GET_PRESENTATION_PREVIEW`

Deprecated: return short-lived, human-embeddable UI preview material for a SharePoint or OneDrive presentation, including personal OneDrive. It does not return agent-readable slide content. Agents should use GET_PRESENTATION_CONTENT to inspect content, or DOWNLOAD_PRESENTATION with PDF/JPG output for a rendered artifact. The returned URL is caller-only and bearer-equivalent: never share, log, cache, or persist it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | string | No | Optional page or provider-specific page token at which the preview should start. |
| `zoom` | number | No | Optional initial zoom level from 0.1 through 10, applied only when the preview app supports it. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation Thumbnails

**Slug:** `MICROSOFT_365_GET_PRESENTATION_THUMBNAILS`

List generated thumbnail metadata for a PowerPoint presentation. Microsoft Graph represents only the first slide and can return an empty set; it does not provide per-slide thumbnails. Returned URLs are short-lived bearer-equivalent capabilities for the caller only and must not be shared, logged, cached, or persisted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |
| `selector` | string | No | Optional Graph $select thumbnail identifier: a standard size or one custom c{width}x{height}[_crop] selector, such as c300x400_crop. |
| `original_orientation` | boolean | No | Whether Graph should return the thumbnail with its original EXIF orientation. When true, sends originalOrientation=true; supported only on OneDrive Personal. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Presentation Version

**Slug:** `MICROSOFT_365_GET_PRESENTATION_VERSION`

Retrieve compact metadata for one retained or current version of a PowerPoint file. Use List Presentation Versions to discover retained version IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file whose version metadata to retrieve. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |
| `version_id` | string | Yes | Version ID returned by List Presentation Versions, or current. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get primary channel

**Slug:** `MICROSOFT_365_GET_PRIMARY_CHANNEL`

Tool to get the default (General) channel of a team. Use when you need to access the primary channel without knowing its channel ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand inline (e.g., 'members', 'tabs'). Note: Expanding some relationships may require additional permissions. |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Empty returns all default properties. |
| `team_id` | string | Yes | The unique identifier of the Microsoft Teams team. Must be a valid GUID (e.g., '02bd9fd6-8f93-4758-87c3-1fb73740a315'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Outlook profile

**Slug:** `MICROSOFT_365_GET_PROFILE`

Retrieves the Microsoft Outlook profile for a specified user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | User profile properties to return. Pass a list (recommended) or a comma-separated string; both become one OData $select value. Omit or pass an empty value for Microsoft Graph's default profile fields. |
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' to get the profile of the authenticated user. |
| `include_proxy_addresses` | boolean | No | Whether to include proxy addresses in the response. Proxy addresses are SMTP addresses prefixed with 'SMTP:' (primary) or 'smtp:' (secondary). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Projected Worksheet Subresource

**Slug:** `MICROSOFT_365_GET_PROJECTED_WORKSHEET_SUBRESOURCE`

Read selected properties from a worksheet range, its used range, or worksheet protection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Workbook drive-item ID. |
| `drive_id` | string | No | Drive ID; omit for the connected user's default drive. |
| `session_id` | string | No | Optional workbook session ID. |
| `subresource` | string | Yes | A constrained range, used-range, or protection selector. |
| `worksheet_id` | string | Yes | Worksheet ID or exact name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Range

**Slug:** `MICROSOFT_365_GET_RANGE`

Get a range from a worksheet using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Valid Excel range address or named range. Cell ranges: A1, A1:B2, A:A, Sheet1!A1:B2. Named ranges: must start with letter/underscore, no spaces (use underscores: Sales_Tax not Sales Tax). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. If provided, uses /drives/{drive_id}/items/{item_id} endpoint (required for application permissions). If not provided, uses /me/drive/items/{item_id} endpoint (for delegated permissions). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet (required, cannot be empty). Provide the sheet name (e.g., 'Sheet1') or its unique ID. Use the list worksheets action if you need to find available worksheet names or IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Range Format

**Slug:** `MICROSOFT_365_GET_RANGE_FORMAT`

Read one formatting component from a workbook range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The range whose formatting to read. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | The explicit drive ID; omit for /me/drive. |
| `component` | string ("format" | "fill" | "font" | "borders" | "border" | "protection") | Yes | The formatting component to retrieve. |
| `session_id` | string | No | An optional workbook session ID. |
| `side_index` | string ("EdgeTop" | "EdgeBottom" | "EdgeLeft" | "EdgeRight" | "InsideVertical" | "InsideHorizontal" | "DiagonalDown" | "DiagonalUp") | No | The border side, required for border. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recent Items

**Slug:** `MICROSOFT_365_GET_RECENT_ITEMS`

Get recently accessed files and folders using the deprecated Microsoft Graph recent endpoint. Results reflect recent activity rather than modification time; the action returns a page of items and may include a next link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of recent items to return (1-200). Controls response size for better performance. Use pagination with @odata.nextLink for larger datasets. |
| `select` | string | No | Comma-separated list of properties to include in the response. Significantly reduces payload size by returning only specified fields. Common properties: id, name, webUrl, size, lastModifiedDateTime, lastAccessedDateTime, file, folder, parentReference. If not specified, all properties are returned (large payload). Always include id in select and use returned id values directly — never reconstruct or hardcode IDs, as stale or manually constructed IDs will fail in tools like ONE_DRIVE_GET_ITEM. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get recent notebooks

**Slug:** `MICROSOFT_365_GET_RECENT_NOTEBOOKS`

Retrieves a list of recently accessed OneNote notebooks for the signed-in user. Use this action when you need to display recently accessed notebooks, provide quick access to notebooks the user has been working with, or build a recent notebooks feature. The notebooks are returned in order of most recent access. Set includePersonalNotebooks to true to include notebooks owned by the user, or false to exclude them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Deprecated and ignored. This endpoint does not support this legacy pagination input. |
| `skip` | integer | No | Deprecated and ignored. This endpoint does not support this legacy pagination input. |
| `count` | boolean | No | Deprecated and ignored. This endpoint does not support this legacy count input. |
| `filter` | string | No | Deprecated and ignored. This endpoint does not support this legacy filter input. |
| `search` | string | No | Deprecated and ignored. This endpoint does not support this legacy search input. |
| `include_personal_notebooks` | boolean | Yes | Include notebooks owned by the user. Set to true to include notebooks owned by the user; set to false to exclude them. This parameter is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive Root Folder

**Slug:** `MICROSOFT_365_GET_ROOT`

Retrieve metadata for the root folder of the signed-in user's OneDrive or a specified user's OneDrive, such as size, child count, or web URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user). Required for S2S (app-only) auth. |
| `select_fields` | array | No | A list of properties to include in the response. Use this to retrieve specific fields and reduce the response size. Common fields include: id, name, size, createdDateTime, lastModifiedDateTime, webUrl, folder, root. If not provided, all default properties are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Root SharePoint Site

**Slug:** `MICROSOFT_365_GET_ROOT_SITE`

Get the tenant's root SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get scheduling group

**Slug:** `MICROSOFT_365_GET_SCHEDULING_GROUP`

Tool to retrieve a specific scheduling group from a Microsoft Teams team's schedule. Use when you need to get details about a scheduling group including its members, status, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,userIds'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `schedulinggroup_id` | string | Yes | Unique identifier of the scheduling group to retrieve. This can be a GUID or a tag-based ID (e.g., 'TAG_f914d037-00a3-4ba4-b712-ef178cbea263'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote section by ID

**Slug:** `MICROSOFT_365_GET_SECTION`

Retrieves a specific OneNote section by its ID from the current user's OneNote. Use this action when you need to fetch metadata or details for a single OneNote section by specifying only the section ID, without requiring additional context like group, user, or site IDs. This action supports OData query parameters for selecting specific properties and expanding relationships like parentNotebook or parentSectionGroup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentNotebook, parentSectionGroup. |
| `select` | array | No | List of section properties to include in the response. Valid values include: id, self, createdDateTime, displayName, createdBy, lastModifiedBy, lastModifiedDateTime, isDefault, links, pagesUrl, parentNotebook, parentSectionGroup. |
| `section_id` | string | Yes | The unique identifier of the OneNote section to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sensitivity Label

**Slug:** `MICROSOFT_365_GET_SENSITIVITY_LABEL`

Get a Microsoft Purview sensitivity label by its ID. Available in the global Microsoft Graph service only (not US Government or China national clouds).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,description. |
| `label_id` | string | Yes | The GUID identifier of the Microsoft Purview sensitivity label to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Service

**Slug:** `MICROSOFT_365_GET_SERVICE`

Get one service and its duration, pricing, staff, questions, reminders, location, and scheduling configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `service_id` | string | Yes | ID of the service to retrieve. |
| `business_id` | string | Yes | ID of the booking business that offers the service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Excel Session

**Slug:** `MICROSOFT_365_GET_SESSION`

Create a session for an Excel workbook using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The OneDrive drive item ID of the Excel file (.xlsx). Drive-item IDs are opaque, immutable identifiers (Microsoft Graph does not document a fixed format). Get a valid item ID from the EXCEL_LIST_FILES action. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. |
| `persist_changes` | boolean | No | Whether changes should be persisted after the session. If false, a nonpersistent session is created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Shared Item by ShareId

**Slug:** `MICROSOFT_365_GET_SHARE`

Tool to access a shared DriveItem or collection of shared items using a shareId or encoded sharing URL. Returns the sharedDriveItem resource with metadata about the shared item and its owner. Use when you have a shareId or sharing token and need information about what was shared.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prefer_redeem` | string ("redeemSharingLinkIfNecessary" | "redeemSharingLink") | No | Controls access redemption. 'redeemSharingLink' grants durable access to the item (permanent permission). 'redeemSharingLinkIfNecessary' grants access only for this request (temporary, no lasting permission). If not specified, no Prefer header is sent and no redemption occurs. |
| `expand_children` | boolean | No | If true and the shared item is a folder, expands the children collection to include child items in the response. Only applicable for folders. |
| `share_id_or_encoded_sharing_url` | string | Yes | A sharing token (shareId) as returned by the API or a properly encoded sharing URL. To encode a URL: base64 encode it, convert to unpadded base64url format (remove '=' padding, replace '/' with '_', '+' with '-'), and prepend 'u!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get shared drive item

**Slug:** `MICROSOFT_365_GET_SHARED_DRIVE_ITEM`

Resolve a full Microsoft 365 sharing URL or token to its drive item and optionally include immediate children. Short links such as 1drv.ms are not expanded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prefer` | string ("redeemSharingLink" | "redeemSharingLinkIfNecessary") | No | Sharing-link redemption behavior requested from Microsoft Graph. |
| `sharing_url` | string | Yes | Full Microsoft 365 sharing URL or already encoded provider sharing token. Short links (for example 1drv.ms) are encoded as-is and not expanded; pass the full sharing URL they redirect to. |
| `include_children` | boolean | No | Include immediate children through Microsoft Graph expansion. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Shared Items

**Slug:** `MICROSOFT_365_GET_SHARED_ITEMS`

DEPRECATED: Use ONE_DRIVE_SEARCH_DRIVE_ITEMS to find a specific shared file or ONE_DRIVE_LIST_ONEDRIVE_SHARED_ITEMS to list files shared from other people's OneDrive accounts. Microsoft Graph sharedWithMe is degraded until November 2026 and will stop returning data after that.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `allow_external` | boolean | No | Set to true to include items shared from external tenants. Defaults to false, which only returns items shared within the user's own tenant. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint List Items

**Slug:** `MICROSOFT_365_GET_SHAREPOINT_LIST_ITEMS`

Tool to get the items (list items) within a specific SharePoint list on a site. Use when you need to retrieve data from a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return in a single response. Used for pagination. |
| `skip` | integer | No | The number of items to skip in the result set. Used for pagination. |
| `count` | boolean | No | If true, returns the total count of items in the @odata.count property. |
| `expand` | string | No | A comma-separated list of relationships to expand, or 'fields($select=columnName1,columnName2)' to retrieve specific fields. For example, to get specific columns 'Name' and 'Color', use 'fields($select=Name,Color)'. SharePoint internal field names may differ from display names; call without expand first (or use 'fields' alone) to discover actual internal names before filtering or selecting specific fields. |
| `filter` | string | No | An OData filter query to restrict the results. For example, to filter items where 'Quantity' is less than 600, use 'fields/Quantity lt 600'. |
| `select` | string | No | A comma-separated list of properties to include in the response. Often used in conjunction with '$expand=fields(select=...)'. For example, 'id,name,fields'. |
| `list_id` | string | Yes | The unique identifier of the list within the SharePoint site. |
| `orderby` | string | No | OData order by expression to sort results. For example, 'fields/Name asc' or 'fields/Quantity desc'. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Range

**Slug:** `MICROSOFT_365_GET_SHAREPOINT_RANGE`

Get a range from a worksheet in SharePoint using Microsoft Graph Sites API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | The address of the range (e.g., 'A1:B2'). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `site_id` | string | Yes | The ID of the SharePoint site containing the Excel file. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |
| `worksheet_id` | string | Yes | The ID of the worksheet. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Settings

**Slug:** `MICROSOFT_365_GET_SHARE_POINT_SETTINGS`

Get tenant-level settings for SharePoint and OneDrive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional OData $expand expression for related resources, where supported by Microsoft Graph. |
| `select` | string | No | Optional OData $select expression for SharePoint tenant settings properties. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Worksheet

**Slug:** `MICROSOFT_365_GET_SHAREPOINT_WORKSHEET`

Get a worksheet by name or ID from an Excel workbook in a SharePoint site's default drive using Microsoft Graph.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) to get the worksheet from. |
| `site_id` | string | Yes | The ID of the SharePoint site containing the Excel file. |
| `worksheet` | string | Yes | The name or ID of the worksheet to retrieve. If using ID, it must be URL-encoded. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Shared Item

**Slug:** `MICROSOFT_365_GET_SHARES`

Access a shared SharePoint or OneDrive item by share ID or encoded sharing URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value, for example driveItem. |
| `prefer` | string | No | Optional Prefer header value. Use 'redeemSharingLink' to durably redeem the sharing link for the caller, or 'redeemSharingLinkIfNecessary' to redeem only for the duration of the request. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `shared_drive_item_id` | string | Yes | Share ID or base64url-encoded sharing URL (prefixed with 'u!') returned by Microsoft Graph or created from a sharing URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get shift

**Slug:** `MICROSOFT_365_GET_SHIFT`

Tool to retrieve a shift by ID from a Microsoft Teams team schedule. Use when you need to get details of a specific shift assignment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand inline in the response. |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,userId,sharedShift'). Use to optimize performance by requesting only needed properties. |
| `team_id` | string | Yes | The unique identifier of the team (GUID format). |
| `shift_id` | string | Yes | The unique identifier of the shift to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Column

**Slug:** `MICROSOFT_365_GET_SITE_COLUMN`

Get a SharePoint site column definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `column_id` | string | Yes | Microsoft Graph columnDefinition ID or column name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Content Type

**Slug:** `MICROSOFT_365_GET_SITE_CONTENT_TYPE`

Get a SharePoint site content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get site drive item

**Slug:** `MICROSOFT_365_GET_SITE_DRIVE_ITEM`

Get metadata for a known item in a SharePoint site's default document library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Related driveItem relationships to include via $expand. |
| `select` | string | No | Comma-separated driveItem properties to return via $select. |
| `item_id` | string | Yes | Drive item identifier to retrieve. |
| `site_id` | string | Yes | Microsoft Graph site identifier containing the item. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get site OneNote operation status

**Slug:** `MICROSOFT_365_GET_SITE_OPERATIONS`

Retrieves the status of a long-running OneNote operation for a SharePoint site. Use this action when you need to check whether a copy or sync operation (e.g., CopyNotebook, CopyToNotebook, CopyToSectionGroup, CopyToSection) has completed, failed, or is still in progress for a site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | The unique identifier of the SharePoint site that owns the OneNote notebook. This can be the server-relative path (e.g., contoso.sharepoint.com,3e3b477e-21ed-448b-a7fe-573b718dc5ff,3d7e3c8f-7133-4b2d-ba53-418d9ef48bab). |
| `operation_id` | string | Yes | The unique identifier of the long-running OneNote operation to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Page

**Slug:** `MICROSOFT_365_GET_SITE_PAGE`

Get a SharePoint site page as a Microsoft Graph sitePage resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `page_id` | string | Yes | Microsoft Graph site page ID. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Page Content

**Slug:** `MICROSOFT_365_GET_SITE_PAGE_CONTENT`

Gets the content of a modern SharePoint site page. Use when you need to retrieve the details and content of a specific page within a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expands related entities. For example, use 'canvasLayout' to include the page's layout and web part content. |
| `select` | string | No | Comma-separated list of properties to include in the response. Example: id,name,title |
| `page_id` | string | Yes | The unique identifier of the site page. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote page from site

**Slug:** `MICROSOFT_365_GET_SITE_PAGES`

Retrieves a specific OneNote page from a SharePoint site. Use this action when you need to fetch metadata or details for a single OneNote page by its page identifier within a SharePoint site. This action supports optional OData query parameters to select specific properties or expand related entities like parentSection and parentNotebook. Note: This action is read-only and does not modify any data. It is the canonical action for the site page metadata route.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: 'parentSection', 'parentNotebook'. |
| `select` | array | No | List of page properties to include in the response. Common values: 'id', 'title', 'createdDateTime', 'lastModifiedDateTime', 'content', 'contentUrl', 'createdByAppId', 'level', 'order', 'links', 'parentSection', 'parentNotebook'. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to retrieve. This is the full page ID including any section path prefix (e.g., '1-abc123!71-7aef1f00-3deb-4ee2-93ab-979eb24a3037'). |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Use 'root' for the root site. For SharePoint sites, this is typically in the format: hostname,site-collection-id,site-id (e.g., 'contoso.sharepoint.com,12345678-1234-1234-1234-123456789012,87654321-4321-4321-4321-210987654321'). |
| `pagelevel` | boolean | No | Set to true to include the page's level and order in its section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Page Section Web Part

**Slug:** `MICROSOFT_365_GET_SITE_PAGE_SECTION_WEB_PART`

Read a web part by its position in a site page section or column.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | integer | Yes | One-based position of the web part within the section or column (1 is the first web part), not its web part ID. |
| `select` | string | No | Optional OData $select expression, for example id,innerHtml. |
| `page_id` | string | Yes | ID of the site page containing the web part. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `column_id` | string | No | Column ID in the horizontal section; required for horizontal and not allowed for vertical. |
| `section_type` | string ("vertical" | "horizontal") | Yes | Whether to read from the vertical section or a horizontal section column. |
| `horizontal_section_id` | string | No | Horizontal section ID; required for horizontal and not allowed for vertical. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get site notebook page preview

**Slug:** `MICROSOFT_365_GET_SITE_PAGES_PREVIEW`

Retrieves a text preview of a specific OneNote page from a SharePoint site or the signed-in user's OneNote. Use this action when you need to quickly get the content preview of a OneNote page from a site-hosted notebook without fetching the full page content. The preview returns a text snippet of the page's content. This action is read-only and does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page. |
| `site_id` | string | No | The unique identifier of the SharePoint site. Optional - if not provided, uses the signed-in user's personal OneNote notebook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Page Web Part

**Slug:** `MICROSOFT_365_GET_SITE_PAGE_WEB_PART`

Get a single web part on a SharePoint site page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,innerHtml. |
| `page_id` | string | Yes | Microsoft Graph site page ID. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `web_part_id` | string | Yes | Microsoft Graph web part ID on the site page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Site Permission

**Slug:** `MICROSOFT_365_GET_SITE_PERMISSION`

Get a single application (Sites.Selected) permission on a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,roles,grantedToIdentitiesV2. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `permission_id` | string | Yes | Microsoft Graph site permission ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote section from a site

**Slug:** `MICROSOFT_365_GET_SITE_SECTIONS`

Retrieves a specific OneNote section from a SharePoint site. Use this action when you need to fetch metadata or details for a single OneNote section by specifying the site ID and section ID. This action supports OData query parameters for selecting specific properties and expanding relationships like parentNotebook or parentSectionGroup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentNotebook, parentSectionGroup. |
| `select` | array | No | Comma-separated list of section properties to include in the response. Valid values include: id, self, createdDateTime, displayName, createdBy, lastModifiedBy, lastModifiedDateTime, isDefault, links, pagesUrl, parentNotebook, parentSectionGroup. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Use 'root' for the root site. |
| `section_id` | string | Yes | The unique identifier of the OneNote section to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote page from site (compatibility alias)

**Slug:** `MICROSOFT_365_GET_SITE_SECTIONS_PAGES`

Compatibility alias for retrieving OneNote page metadata directly by page ID in a SharePoint site. Prefer GetSiteOnenotePages for new calls. Legacy notebook, section group, and section IDs do not affect the Graph route.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentSection, parentNotebook. |
| `select` | array | No | Comma-separated list of page properties to include in the response. Valid values include: id, self, title, createdDateTime, lastModifiedDateTime, content, contentUrl, createdByAppId, level, order, links, parentSection, parentNotebook. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to retrieve. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Use 'root' for the root site. |
| `pagelevel` | boolean | No | Set to true to include the page's level and order in its section. |
| `section_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `notebook_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |
| `section_group_id` | string | No | Deprecated and ignored. The page ID uniquely identifies the page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Staff Member

**Slug:** `MICROSOFT_365_GET_STAFF_MEMBER`

Get one booking staff member's identity, role, membership state, time zone, working hours, and calendar settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by this resource. |
| `staff_id` | string | Yes | ID of the staff member to retrieve. |
| `business_id` | string | Yes | ID of the booking business that contains the staff member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Microsoft Graph Subscription

**Slug:** `MICROSOFT_365_GET_SUBSCRIPTION`

Get a Microsoft Graph webhook subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | Microsoft Graph subscription ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get supported languages

**Slug:** `MICROSOFT_365_GET_SUPPORTED_LANGUAGES`

Tool to retrieve supported languages in the user's mailbox. Use when you need to display or select from available mailbox languages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get supported time zones

**Slug:** `MICROSOFT_365_GET_SUPPORTED_TIME_ZONES`

Get the time zones supported for a user as configured on their mailbox server, using delegated authentication. Use when setting up an Outlook client or configuring user time zone preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |
| `TimeZoneStandard` | string ("Windows" | "Iana") | No | Time zone format standard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get swap shifts change request

**Slug:** `MICROSOFT_365_GET_SWAP_SHIFTS_CHANGE_REQUEST`

Tool to get a specific swap shift change request from a Microsoft Teams schedule. Use when you need to retrieve details of a single swap shift change request by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `swap_shifts_change_request_id` | string | Yes | Unique identifier of the swap shift change request to retrieve. Must start with 'SREQ_' prefix (e.g., 'SREQ_99721bb2-ec50-4615-ac20-d22c3710f762'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get channel tab

**Slug:** `MICROSOFT_365_GET_TAB`

Tool to get a specific tab in a Microsoft Teams channel. Use when you need to retrieve details of a particular tab.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities. Comma-separated list of relationships to include inline in the response. Use 'teamsApp' to include full Teams app details. |
| `select` | string | No | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,webUrl'). |
| `tab_id` | string | Yes | The unique identifier of the tab to retrieve. |
| `team_id` | string | Yes | The unique identifier of the team. Must be a valid GUID format. |
| `channel_id` | string | Yes | The unique identifier of the channel. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or plain format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table

**Slug:** `MICROSOFT_365_GET_TABLE`

Retrieve one workbook- or worksheet-addressed table by ID or exact name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Related table resources to include in the response. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item containing the table. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `table_id` | string | Yes | The ID or exact name of the workbook table to retrieve. |
| `worksheet` | string | No | Optional worksheet ID or exact name for the worksheet-scoped route. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |
| `select_fields` | array | No | Table properties to return. The action always includes id and name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get table column

**Slug:** `MICROSOFT_365_GET_TABLE_COLUMN`

Tool to retrieve a specific column from a workbook table. Use when you need to fetch column properties and data by its ID or name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `site_id` | string | No | Optional SharePoint site ID. Required when using application permissions (s2s_oauth). Format: 'hostname,spSiteId,spWebId' |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth) with OneDrive files. If not provided, falls back to site_id or /me/drive endpoint. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `table_id` | string | Yes | The ID or name of the table containing the column. |
| `column_id` | string | Yes | The ID or name of the column to retrieve. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Column Cell

**Slug:** `MICROSOFT_365_GET_TABLE_COLUMN_CELL`

Read one cell by row within a selected table column's data body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `row` | integer | Yes | Zero-based row offset within the selected column's data body. |
| `column` | integer | No | Column offset within the selected column's data body; always zero because the data body is a single column. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | Optional drive ID. When omitted, the connected user's default drive is used. |
| `table_id` | string | Yes | The ID or name of the table containing the column. |
| `column_id` | string | Yes | The ID or name of the table column whose data-body range contains the cell. |
| `session_id` | string | No | Optional workbook session ID used to keep workbook operations consistent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Column Range

**Slug:** `MICROSOFT_365_GET_TABLE_COLUMN_RANGE`

Get Table Column Range

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `column_id` | string | Yes | The column ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `range_kind` | string ("all" | "data_body" | "header" | "totals") | No | The part of the column whose range to return. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Range

**Slug:** `MICROSOFT_365_GET_TABLE_RANGE`

Get Table Range

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `range_kind` | string ("all" | "data_body" | "header" | "totals") | No | The part of the table whose range to return. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Row

**Slug:** `MICROSOFT_365_GET_TABLE_ROW`

Get Table Row

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `row_index` | integer | Yes | Zero-based row index. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Row Range

**Slug:** `MICROSOFT_365_GET_TABLE_ROW_RANGE`

Get Table Row Range

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `row_index` | integer | Yes | Zero-based row index. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Sort

**Slug:** `MICROSOFT_365_GET_TABLE_SORT`

Get Table Sort

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task

**Slug:** `MICROSOFT_365_GET_TASK`

Get a single Microsoft To Do task by its id, within a task list. Set include_checklist_items=true to expand its checklist items inline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Advanced OData $expand expression. Normally leave unset and use include_checklist_items instead. |
| `list_id` | string | Yes | Id of the To Do task list that contains the task (path param todoTaskListId). This is the long URL-safe id returned by the list/create task-list actions, not the display name. |
| `task_id` | string | Yes | Id of the task to fetch (path param taskId). This is the long URL-safe id returned by the list/create task actions. |
| `include_checklist_items` | boolean | No | When true, request the task's checklist items (subtasks) inline. When false, the tool does not send a $expand query. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task Attachment

**Slug:** `MICROSOFT_365_GET_TASK_ATTACHMENT`

Get metadata for one file attached to a Microsoft To Do task. Use Download Task Attachment to retrieve the file contents.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task containing the attachment. |
| `attachment_id` | string | Yes | Id of the file attachment to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task List

**Slug:** `MICROSOFT_365_GET_TASK_LIST`

Get a single Microsoft To Do task list by its id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the To Do task list to fetch. This is the long URL-safe id returned by the list/create task-list actions (e.g. the `id` field), not the display name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team by ID

**Slug:** `MICROSOFT_365_GET_TEAM_BY_ID`

Retrieve a Microsoft Teams team directly by team ID, optionally selecting properties or expanding related resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated team relationships to include inline. |
| `select` | string | No | Comma-separated team properties to return. |
| `team_id` | string | Yes | Unique identifier of the Microsoft Teams team to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team

**Slug:** `MICROSOFT_365_GET_TEAM_FROM_GROUP`

Get a Microsoft Teams team by its associated Microsoft 365 group ID. Returns mapped team properties and settings, with optional property selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | OData $expand query parameter to include related resources inline. Comma-separated list of relationships (e.g., 'channels', 'members', 'operations'). Note: Expanding some relationships may require additional permissions. |
| `select` | string | No | OData $select query parameter to specify which properties to include in the response. Comma-separated list of property names (e.g., 'id,displayName,description'). |
| `group_id` | string | Yes | GUID of the Microsoft 365 group that has an associated team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team member

**Slug:** `MICROSOFT_365_GET_TEAM_MEMBER`

Tool to get a specific conversation member from a team. Use when retrieving details about a team member by their membership ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team. |
| `membership_id` | string | Yes | The unique identifier of the conversation member (membership ID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Operation Status

**Slug:** `MICROSOFT_365_GET_TEAM_OPERATION`

Tool to retrieve the status of a Teams async operation using teamId and operationId. Use when you need to poll and track the progress of long-running operations like team creation or archiving. Microsoft recommends waiting at least 30 seconds between polling requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team associated with the operation. |
| `operation_id` | string | Yes | The unique identifier of the teamsAsyncOperation. Obtained from the Location header of the async operation response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get installed app in team

**Slug:** `MICROSOFT_365_GET_TEAMS_APP_DEFINITION`

Tool to get an installed app in a Microsoft Teams team. Use when you need to retrieve details of a specific app installation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. Supports 'teamsApp', 'teamsAppDefinition'. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,consentedPermissionSet'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '12345678-1234-1234-1234-123456789abc'). |
| `app_installation_id` | string | Yes | Unique identifier of the app installation. This is a base64-encoded string returned by Microsoft Graph API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Template (Deprecated)

**Slug:** `MICROSOFT_365_GET_TEAM_TEMPLATE`

DEPRECATED: Use MICROSOFT_TEAMS_GET_TEAM_FROM_GROUP with expand="template" instead. Tool to get the template used to create a team. Use when you need to retrieve the template information for a specific team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team. Must be a valid GUID format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get time off by ID

**Slug:** `MICROSOFT_365_GET_TIME_OFF`

Tool to retrieve a specific time off entry from a Microsoft Teams team's schedule by ID. Use when you need to get details about a particular time off period including its dates, reason, and status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedTimeOff'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `timeoff_id` | string | Yes | Unique identifier of the timeOff entry to retrieve. This is the ID of the timeOff resource in the team's schedule (e.g., 'SHFT_d3b1de89-60b8-4e61-81b7-c55ab222c1ab'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get time off reason

**Slug:** `MICROSOFT_365_GET_TIME_OFF_REASON`

Tool to get a specific time off reason from a team's schedule. Use when you need to retrieve details about a time off reason including its display name, icon type, and active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `time_off_reason_id` | string | Yes | Unique identifier of the time off reason to retrieve. This is the ID of the timeOffReason resource in the team's schedule (typically starts with 'TOR_' followed by a GUID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get time off request

**Slug:** `MICROSOFT_365_GET_TIME_OFF_REQUEST`

Tool to retrieve a specific time off request from a team's schedule. Use when you need to check the status or details of a time off request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `time_off_request_id` | string | Yes | The unique identifier of the time off request to retrieve. Format typically starts with 'SREQ_' followed by a GUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get To Do task

**Slug:** `MICROSOFT_365_GET_TODO_TASK`

Retrieve one Microsoft To Do task by its task-list and task IDs. Requires the Tasks.Read or Tasks.ReadWrite scope, which is not in Outlook's default scopes; the connection must grant it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Task relationships to include as a list or comma-separated string (OData $expand). |
| `select` | string | No | Task properties to return as a list or comma-separated string (OData $select). |
| `task_id` | string | Yes | Opaque ID of the To Do task to retrieve. |
| `user_id` | string | No | User ID or user principal name. Use 'me' for delegated authentication or a specific user for app-only (S2S) authentication. |
| `todo_task_list_id` | string | Yes | Opaque ID of the To Do task list containing the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Profile

**Slug:** `MICROSOFT_365_GET_USER`

Retrieves profile properties for a Microsoft user by user ID or user principal name, including available contact details, job information, and account status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | Specific properties to return in the response. Use this to retrieve only the fields you need and reduce response size. Example properties: displayName, mail, jobTitle, givenName, surname, mobilePhone. If not provided, all default user properties are returned. |
| `user_id` | string | Yes | The user principal name (UPN) or user ID to retrieve. Examples: 'user@contoso.com' or '87d349ed-44d7-43e1-9a83-5f2406dee5bd'. This is a required parameter that identifies which user's profile to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user by email

**Slug:** `MICROSOFT_365_GET_USER_BY_EMAIL`

Retrieves user details from Microsoft Graph by email address (userPrincipalName). Returns user properties including display name, job title, department, and contact information. Use this action when you need to look up a user's profile information using their email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address (userPrincipalName) of the user to retrieve. This must be a valid email address format. |
| `select` | array | No | Optional list of user properties to include in the response. Reduces data transfer and improves performance. Common fields: id, displayName, givenName, surname, mail, userPrincipalName, jobTitle, officeLocation, mobilePhone, businessPhones, department. Leave empty to return default properties. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user's calendar

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR`

Retrieves properties of a specific user's calendar by calendar ID, with optional property selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | Properties to include in the response (OData $select). Specify which calendar fields you want returned to keep the response concise. |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `calendar_id` | string | Yes | The unique identifier of the calendar to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get allowed calendar sharing roles for user calendar

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR_ALLOWED_SHARING_ROLES`

Tool to retrieve allowed calendar sharing roles for a specific user on a given calendar. Use when you need to determine what permission levels can be granted to a user for sharing a specific calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `User` | string | Yes | The email address or user principal name to check allowed calendar sharing roles for. |
| `user_id` | string | Yes | The user ID or User Principal Name of the calendar owner. Note: This endpoint does not support 'me' as a value; you must provide the explicit email address or user ID. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar event

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR_EVENT`

Tool to retrieve a specific calendar event from a user's primary calendar. Use when you need detailed information about a particular event for a given user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user's primary SMTP address, user principal name (UPN), or user ID to identify the calendar owner whose event you want to retrieve. |
| `event_id` | string | Yes | The unique identifier of the calendar event to retrieve from the user's calendar. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the event's Microsoft Purview sensitivity label from a filtered msip_labels expansion in the same Graph request. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Requires Calendars.Read or Calendars.ReadWrite. Treat a returned status of unknown as fail-closed before using the event content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar group calendar permission

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR_GROUP_CALENDAR_PERMISSION`

Tool to retrieve a specific calendar permission for a user's calendar within a calendar group. Use when you need to check access permissions for a specific calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user. Cannot use 'me' shortcut - must be actual user ID or userPrincipalName. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `permission_id` | string | Yes | The unique identifier of the calendar permission to retrieve. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar group event

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR_GROUP_EVENT`

Tool to retrieve a specific event from a user's calendar within a calendar group. Use when you need details of an event in a specific calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID or 'me' for the authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event to retrieve. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the event's Microsoft Purview sensitivity label from a filtered msip_labels expansion in the same Graph request. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Requires Calendars.Read or Calendars.ReadWrite. Treat a returned status of unknown as fail-closed before using the event content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user calendar group event attachment

**Slug:** `MICROSOFT_365_GET_USER_CALENDAR_GROUP_EVENT_ATTACHMENT`

Tool to retrieve a specific attachment from an event within a calendar group for a user. Use when you need to access attachment content from a calendar event in a user's calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `attachment_id` | string | Yes | The unique identifier of the attachment to retrieve. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user chat

**Slug:** `MICROSOFT_365_GET_USER_CHAT`

Tool to retrieve a specific chat for a user. Use when you need to get details about a chat that a specific user is part of.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expand related entities. Supported values: 'members' (includes all chat members), 'lastMessagePreview' (includes preview of the last message). |
| `select` | array | No | Select properties to be returned. Specify which properties to include in the response to optimize the query. |
| `chat_id` | string | Yes | The unique identifier of the chat to retrieve. This is the chat's ID in the format '19:abc123def456@thread.v2' for group chats or '19:user1_user2@unq.gbl.spaces' for one-on-one chats. |
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's UPN (user principal name) or the user's object ID (GUID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get message from child folder

**Slug:** `MICROSOFT_365_GET_USER_CHILD_FOLDER_MESSAGE`

Tool to retrieve a specific message from a child folder within a user's mail folder hierarchy. Use when you need to access messages from nested folders where both parent and child folder IDs are known.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | List of message properties to include in the response. OData $select parameter. Valid properties include: id, subject, from, toRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId, internetMessageHeaders. Leave empty to return all fields. |
| `user_id` | string | Yes | The unique identifier of the user. Must be an actual user ID (e.g., '6640adbb5cb743b0') or user principal name (UPN). Cannot use 'me' alias for this endpoint. |
| `message_id` | string | Yes | The unique identifier of the message to retrieve from the child folder. Must be a valid message ID obtained from list or search operations. |
| `mail_folder_id` | string | Yes | The unique identifier of the parent mail folder. Must be a base64-encoded folder ID (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or similar endpoints. |
| `child_folder_id` | string | Yes | The unique identifier of the child folder within the parent mail folder. Must be a base64-encoded folder ID obtained from OUTLOOK_LIST_CHILD_MAIL_FOLDERS or similar endpoints. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the message's Microsoft Purview sensitivity label in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed before using message content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event extension

**Slug:** `MICROSOFT_365_GET_USER_EVENT_EXTENSION`

Tool to retrieve a specific open type extension from a user's calendar event by its extension ID or name. Use when you need to access custom data stored in calendar event extensions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's primary SMTP address, user principal name (UPN), or the alias 'me' (for the signed-in user) to identify the calendar owner. |
| `event_id` | string | Yes | The unique identifier of the calendar event. |
| `extension_id` | string | Yes | The extension name or fully qualified name. Can be either the simple name (e.g., 'Com.Contoso.Referral') or fully qualified name (e.g., 'Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user message attachment

**Slug:** `MICROSOFT_365_GET_USER_MESSAGES_ATTACHMENTS`

Tool to retrieve a specific attachment from a message in a mail folder hierarchy. Use when you need to get attachment details including content from a specific folder path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The user's email address, userPrincipalName, or user ID. Use 'me' for the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the email message. Obtain from OUTLOOK_LIST_MESSAGES, OUTLOOK_QUERY_EMAILS, or OUTLOOK_SEARCH_MESSAGES. |
| `attachment_id` | string | Yes | The unique identifier of the attachment. Obtain from LIST_OUTLOOK_ATTACHMENTS action (use the 'id' field, NOT the 'name' field). |
| `mail_folder_id` | string | Yes | The ID of the parent mail folder. Can be a well-known folder name ('inbox', 'drafts', 'sentitems', 'deleteditems', etc.) or a folder ID (base64-encoded string obtained from OUTLOOK_LIST_MAIL_FOLDERS). |
| `child_folder_id` | string | No | The ID of the child folder within the parent mail folder. If provided, targets the message inside mailFolders/{id}/childFolders/{id}. If omitted, targets the message directly inside mailFolders/{id}. Must be a base64-encoded folder ID obtained from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user notebook

**Slug:** `MICROSOFT_365_GET_USER_NOTEBOOK`

Retrieves the properties and relationships of a OneNote notebook by ID for a specific user. Use this action when you need to fetch details about a specific notebook belonging to a user, including its display name, sharing status, section URLs, and the user's role on the notebook. Supports OData $select and $expand query parameters to customize the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand (OData $expand). Valid values: sections, sectionGroups. |
| `select` | array | No | Comma-separated list of notebook properties to include in the response (OData $select). |
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user OneNote operation

**Slug:** `MICROSOFT_365_GET_USER_OPERATION`

Poll the status of a user's asynchronous OneNote operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or principal name. Defaults to the signed-in user (`me`). |
| `operation_id` | string | Yes | OneNote operation ID to poll. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote page content for user

**Slug:** `MICROSOFT_365_GET_USER_PAGE_CONTENT`

Gets the HTML content of a specific OneNote page for a user. Use this action when you need to retrieve the actual HTML content of a specific OneNote page for reading, processing, or displaying page content. The action supports the includeIDs query parameter to include element IDs in the HTML, which is useful when preparing content for page updates via the PATCH endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page to get content from. |
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current user, or specify a user ID (GUID) or user principal name (email). |
| `include_ids` | boolean | No | When true, the returned HTML includes IDs that can be used to update the page. Use this when preparing content for page updates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get a OneNote page from user

**Slug:** `MICROSOFT_365_GET_USER_PAGES`

Retrieves metadata for a specific OneNote page by user and page ID, with optional property selection, parent relationship expansion, and page level information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand inline in the response. Valid values: parentSection, parentNotebook. |
| `select` | array | No | Comma-separated list of page properties to include in the response. Valid values include: id, self, title, createdDateTime, lastModifiedDateTime, content, contentUrl, createdByAppId, level, order, links, parentSection, parentNotebook. |
| `page_id` | string | Yes | The unique identifier of the OneNote page to retrieve. |
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `pagelevel` | boolean | No | Set to true to include the page's level and order in its section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get parent section group from user section

**Slug:** `MICROSOFT_365_GET_USER_PARENT_SECTION_GROUP2`

Retrieves the parent section group of a OneNote section in a user's notebook. If the response has no parent section group, the tool returns an empty parent object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | List of relationships to expand. Valid values: parentNotebook. |
| `select` | array | No | Comma-separated list of properties to select. Valid values: id, displayName, createdDateTime, lastModifiedDateTime, sectionsUrl, sectionGroupsUrl, self, createdBy, lastModifiedBy. |
| `user_id` | string | Yes | The unique identifier of the Microsoft Graph user. Use 'me' for the current authenticated user. |
| `section_id` | string | Yes | The direct OneNote section ID; it is unique without the legacy notebook ID. |
| `notebook_id` | string | No | Deprecated and ignored. The section ID uniquely identifies the section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Teamwork

**Slug:** `MICROSOFT_365_GET_USER_TEAMWORK`

Tool to get userTeamwork settings for a specified user, including Microsoft Teams region and locale. Use when you need to determine user's Teams configuration or regional settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand inline. Maps to the $expand query parameter. |
| `select` | string | No | Comma-separated list of properties to include in the response. Maps to the $select query parameter. |
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's GUID or user principal name (UPN). Use 'me' to query the authenticated user's teamwork settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Visible Range

**Slug:** `MICROSOFT_365_GET_VISIBLE_RANGE`

Read cells visible after worksheet filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `result` | string ("view" | "rows" | "row" | "range") | Yes | The visible-view result granularity. |
| `address` | string | Yes | The A1-style source range address. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | The explicit drive ID; omit for /me/drive. |
| `row_index` | integer | No | The zero-based visible row index, required when result is row. |
| `session_id` | string | No | An optional workbook session ID. |
| `worksheet_id` | string | Yes | The worksheet ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get workbook

**Slug:** `MICROSOFT_365_GET_WORKBOOK`

Retrieve a workbook's relationships, including comments, named items, operations, tables, and worksheets, with optional relationship expansion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | OData relationships to expand in the response. |
| `item_id` | string | Yes | Graph API item ID (e.g., '01RWIO2VKO5Q4ECCKUL5BYFHITS5UOQPBH') or file path (e.g., 'Budget.xlsx' or 'Documents/Budget.xlsx'). Item IDs are opaque alphanumeric strings obtained from list/search operations. If a path is provided (containing .xlsx or /), path-based addressing will be used. |
| `drive_id` | string | Yes | ID of the drive (use 'me' for the user's default drive). |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Workbook Chart Image

**Slug:** `MICROSOFT_365_GET_WORKBOOK_CHART_IMAGE`

Render an Excel worksheet chart stored in SharePoint as a base64-encoded image.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | Optional desired width of the resulting image in pixels. |
| `height` | integer | No | Optional desired height of the resulting image in pixels. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `chart_name` | string | Yes | The name or ID of the chart to render as an image. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `fitting_mode` | string ("Fit" | "FitAndCenter" | "Fill") | No | Optional method used to scale the chart to the specified dimensions if both width and height are set. |
| `worksheet_id_or_name` | string | Yes | Worksheet ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SharePoint Workbook Named Item

**Slug:** `MICROSOFT_365_GET_WORKBOOK_NAME`

Get a named item defined at the workbook scope in an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the workbook named item to retrieve. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example name,type,value. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workbook Range Fill

**Slug:** `MICROSOFT_365_GET_WORKBOOK_RANGE_FILL`

Read the fill color applied to an Excel worksheet range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Range in A1 notation, such as A1:D10. Accidental wrapping quotes are removed and embedded apostrophes are escaped for OData. |
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook. |
| `drive_id` | string | No | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `session_id` | string | No | Workbook session ID returned by ONE_DRIVE_CREATE_WORKBOOK_SESSION. |
| `worksheet_id_or_name` | string | Yes | Worksheet ID or exact worksheet name containing the range. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workbook Used Range

**Slug:** `MICROSOFT_365_GET_WORKBOOK_USED_RANGE`

Retrieves the used range of a worksheet in an Excel workbook stored in OneDrive or SharePoint without requiring the caller to know an explicit A1 range address. Use this action to read the active data region of a worksheet, optionally ignoring formatting-only cells.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The DriveItem ID of the Excel workbook whose worksheet used range should be returned. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the workbook. Use 'me' for the authenticated user's default OneDrive, or provide a OneDrive/SharePoint drive ID. |
| `session_id` | string | No | Optional workbook session ID to send in the workbook-session-id header. |
| `values_only` | boolean | No | Optional. When true, only cells with values are considered used cells, ignoring formatting-only cells. When omitted, Microsoft Graph uses its default behavior. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet whose used range should be returned. Names with spaces or special characters are URL-encoded automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Worksheet

**Slug:** `MICROSOFT_365_GET_WORKSHEET`

Get a worksheet by name or ID from an Excel workbook using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) to get the worksheet from. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. Required for SharePoint files or when using app-only authentication. Use 'me' for delegated auth with user's OneDrive, or provide the specific drive ID for SharePoint sites. |
| `worksheet` | string | Yes | The name or ID of the worksheet to retrieve. If using ID, it must be URL-encoded. |
| `session_id` | string | No | Optional workbook session ID. Must be a valid session ID obtained from the EXCEL_GET_SESSION (createSession) action. Do NOT pass arbitrary strings - only use session IDs returned by createSession. If you don't have a valid session ID, leave this empty. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Worksheet Protection

**Slug:** `MICROSOFT_365_GET_WORKSHEET_PROTECTION`

Get Worksheet Protection

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `worksheet` | string | Yes | The worksheet ID or exact name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Worksheet Row Range

**Slug:** `MICROSOFT_365_GET_WORKSHEET_ROW_RANGE`

Read a zero-based worksheet row across the column bounds of the worksheet's values-only used range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `row_index` | integer | Yes | Zero-based worksheet row index (0 through 1,048,575). |
| `worksheet` | string | Yes | The worksheet ID or exact name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Worksheet Used Range

**Slug:** `MICROSOFT_365_GET_WORKSHEET_USED_RANGE`

Tool to retrieve a worksheet's used range (active data region) without specifying a fixed range address. Use when you need to read all data from a sheet but don't know the exact range. The valuesOnly option helps filter out formatting-only cells.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | Yes | The ID of the drive (e.g., 'me' for the user's default OneDrive, or a specific drive ID for SharePoint). |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in the workbook-session-id header. Must be a valid session ID obtained from the createSession action. |
| `values_only` | boolean | No | If true, only returns cells with values (ignores formatting-only cells). Maps to valuesOnly parameter in the API. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet. Can be the worksheet name (e.g., 'Sheet1') or its unique ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Grant SharePoint Item Permission

**Slug:** `MICROSOFT_365_GRANT_SHAREPOINT_ITEM_PERMISSION`

Grant an application permission on a SharePoint list or list item using Microsoft Graph beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Roles to grant to the application, such as read or write. |
| `item_id` | string | No | Optional SharePoint list item ID. Provide this to grant permission on a list item; omit it to grant permission on the list. |
| `list_id` | string | Yes | The unique Microsoft Graph ID of the SharePoint list. |
| `site_id` | string | Yes | The Microsoft Graph SharePoint site ID in composite format, usually 'hostname,site-collection-id,web-id'. |
| `granted_to_v2` | object | Yes | Application identity to grant access to. Microsoft Graph beta does not create user permissions on list or list-item resources. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hide chat for user

**Slug:** `MICROSOFT_365_HIDE_CHAT_FOR_USER`

Tool to hide a Microsoft Teams chat for a specific user. Use when you need to hide a chat from a user's chat list. Note: The chat is automatically unhidden if an action such as sending a message is taken at the chat level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | object | Yes | User identity containing the user ID and tenant ID. In delegated mode, users can only hide a chat for themselves. |
| `chat_id` | string | Yes | The unique identifier of the chat to hide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Range

**Slug:** `MICROSOFT_365_INSERT_RANGE`

Tool to insert a new cell range into a worksheet, shifting existing cells down or right. Use when you need to create space for new content without overwriting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `shift` | string ("Down" | "Right") | Yes | Direction to shift cells to make space: 'Down' or 'Right'. |
| `address` | string | Yes | The address of the range (e.g., 'A1:B2'). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, defaults to 'me' for delegated auth or must be provided for application-only auth. |
| `session_id` | string | No | Optional workbook session ID. If provided, changes persist in that session. |
| `worksheet_id` | string | Yes | The ID or name of the worksheet. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Inspect workbook

**Slug:** `MICROSOFT_365_INSPECT_WORKBOOK`

Inspect workbook

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Workbook driveItem ID. |
| `drive_id` | string | Yes | Drive containing the workbook. |
| `worksheet` | string | No | Worksheet ID or name whose used range to return. |
| `values_only` | boolean | No | Ignore formatting-only cells when finding the used range. |
| `worksheet_select` | string | No | Comma-separated worksheet properties to return. Maps to $select. |
| `workbook_session_id` | string | No | Optional workbook session ID sent as Workbook-Session-Id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Inspect Workbook Table

**Slug:** `MICROSOFT_365_INSPECT_WORKBOOK_TABLE`

Read a workbook table's occupied range and one page of its columns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook. |
| `drive_id` | string | No | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `page_token` | string | No | Opaque token for the next columns page. Omit initially, then pass next_page_token back unchanged. |
| `session_id` | string | No | Optional workbook session ID to use for both table reads. |
| `column_page_size` | integer | No | Maximum columns to request on the first page. Microsoft Graph may return fewer. |
| `table_id_or_name` | string | Yes | Exact table ID or table name in the workbook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite DOCX recipients

**Slug:** `MICROSOFT_365_INVITE_DOCX_RECIPIENTS`

Grant read or write access to required named recipients. send_invitation and require_sign_in are required; emailing an invitation is an irreversible external side effect. Partial success is reported per recipient. Sharing can change the document eTag, so call READ_DOCX again before editing. Setting retain_inherited_permissions=false removes all existing permissions when the item is shared for the first time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Required read and/or write roles to grant. |
| `item_id` | string | Yes | DOCX driveItem ID. |
| `message` | string | No | Optional plain-text invite message, up to 500 characters. |
| `drive_id` | string | Yes | Drive containing the DOCX to share. |
| `recipients` | array | Yes | Required recipients, each identified by exactly one email, alias, or directory objectId. |
| `require_sign_in` | boolean | Yes | Required: whether recipients must sign in to access the DOCX. |
| `send_invitation` | boolean | Yes | Required: whether Graph should email the sharing invitation. |
| `sharing_passcode` | string | No | Optional password sent to Graph for this sharing permission. Availability depends on tenant sharing policy and plan; personal OneDrive may require a Microsoft 365 Personal or Family paid plan. |
| `expiration_datetime` | string | No | Optional sharing permission expiration timestamp in ISO 8601 format. On personal OneDrive, this capability may require a Microsoft 365 Personal or Family paid plan. |
| `retain_inherited_permissions` | boolean | No | Whether to retain inherited permissions when sharing the item for the first time. Setting false removes all existing permissions, which is destructive; omit to use Graph's default behavior. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite Users To SharePoint Drive Item

**Slug:** `MICROSOFT_365_INVITE_DRIVE_ITEM`

Invite recipients to a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Roles to grant. Supported invite roles are 'read' and 'write'. The service may accept additional SharePoint roles, but they are undocumented for the invite action. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `message` | string | No | Optional invitation message. Maximum length 2,000 characters. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `password` | string | No | The password set on the invite. Optional and OneDrive for home only. |
| `recipients` | array | Yes | Recipients to invite. Each recipient should provide an email, alias, or objectId. |
| `require_sign_in` | boolean | No | Whether invited users must sign in. |
| `send_invitation` | boolean | No | Whether Microsoft Graph should send invitation email. |
| `expiration_date_time` | string | No | Optional ISO 8601 permission expiration date time. |
| `retain_inherited_permissions` | boolean | No | Optional. If true (default), any existing inherited permissions are retained on the shared item when sharing for the first time. If false, all existing permissions are removed when sharing for the first time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite People to Presentation

**Slug:** `MICROSOFT_365_INVITE_TO_PRESENTATION`

Grant named people read or write access to a PowerPoint presentation. By default, send_invitation=true also causes Microsoft to send external invitation emails; set it false to grant permission without notifications. A 207 response preserves recipient-level errors and is never reported as complete success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("read" | "write") | Yes | Permission granted to every recipient: read or write. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint presentation. |
| `message` | string | No | Optional plain-text invitation message, up to Microsoft's documented 2,000-character maximum. |
| `drive_id` | string | No | Drive ID containing the presentation; omit for the signed-in user's default OneDrive. |
| `password` | string | No | Optional invitation password. Microsoft Graph supports this only for OneDrive Personal. |
| `recipients` | array | Yes | Distinct people who should receive access. By default, Microsoft also sends each person an external invitation email. |
| `require_sign_in` | boolean | No | Whether recipients must sign in to use the invitation. |
| `send_invitation` | boolean | No | True by default, causing Microsoft to send external invitation email notifications. False grants permission without sending a notification. |
| `expiration_date_time` | string | No | Optional ISO 8601 permission expiration date and time, where supported. |
| `retain_inherited_permissions` | boolean | No | Whether inherited permissions remain when the item is first shared. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite User to Drive Item

**Slug:** `MICROSOFT_365_INVITE_USER_TO_ITEM`

Invite users or grant permissions to a OneDrive file or folder with specified access roles. At least one of sending an invitation or requiring sign-in must be enabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Specifies the roles to be granted to the recipients. Microsoft Graph accepts a string array; documented/common values include 'read' and 'write'; permission resources may also use 'owner' for SharePoint/OneDrive for Business, and Graph may accept tenant/resource-specific role strings. |
| `item_id` | string | Yes | The unique identifier of the drive item (file or folder). |
| `message` | string | No | A plain text formatted message that is included in the sharing invitation. Maximum length 2000 characters. |
| `site_id` | string | No | The unique identifier of a SharePoint site. Use this if the item is in a SharePoint site's drive. |
| `user_id` | string | No | The unique identifier of a user. Use this if the item is in another user's drive that you have access to. |
| `drive_id` | string | No | The unique identifier of the drive. If not provided, the authenticated user's personal drive (me/drive) will be used. |
| `group_id` | string | No | The unique identifier of a Microsoft 365 group. Use this if the item is in a group's drive. |
| `password` | string | No | The password set on the invite by the creator. Optional and OneDrive Personal only. |
| `recipients` | array | Yes | A collection of recipients who will receive access and the sharing invitation. |
| `require_sign_in` | boolean | No | Specifies whether the recipient of the invitation is required to sign-in to view the shared item. At least one of require_sign_in or send_invitation must be true. |
| `send_invitation` | boolean | No | If true, a sharing link is sent to the recipient. Otherwise, a permission is granted directly without sending a notification. |
| `expiration_date_time` | string | No | Specifies the dateTime after which the permission expires. ISO 8601 format. Example: "2023-12-31T23:59:59.000Z" |
| `retain_inherited_permissions` | boolean | No | Optional. If true (default), any existing inherited permissions are retained on the shared item when sharing this item for the first time. If false, all existing permissions are removed when sharing for the first time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Activities

**Slug:** `MICROSOFT_365_LIST_ACTIVITIES`

Tool to retrieve recent activities on the authenticated user's OneDrive. Use when you need to track recent changes or actions performed across the drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of activities to return. Must be between 1 and 999. |
| `drive_id` | string | No | The ID of the drive to list activities for. If not provided, the default drive of the authenticated user (/me/drive) will be used. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Drive Items

**Slug:** `MICROSOFT_365_LIST_ALL_DRIVE_ITEMS`

Lists a complete OneDrive or SharePoint drive safely, one Microsoft Graph delta page per invocation. Start without `page_token`, then pass each `next_page_token` back until `sync_complete` is true. The terminal `delta_token` can be saved and passed back later to fetch changes since the completed snapshot. Delta enumeration is stable under concurrent writes and avoids the request burst caused by recursively fetching every folder in one execution.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of drive items to request in this page. Microsoft Graph can return fewer items and determines the final page size. |
| `expand` | string | No | Related entities to expand (e.g., 'children', 'thumbnails'). Use this to include related resources inline. |
| `select` | array | No | Specific properties to return for each item (e.g., ['id', 'name', 'size']). If omitted, default properties are returned. |
| `drive_id` | string | Yes | The ID of the drive to list items from. This is the unique identifier for the OneDrive or SharePoint document library. |
| `page_token` | string | No | Opaque continuation token returned as `next_page_token` or `delta_token` by a previous call. Omit it to start a complete drive enumeration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List application owners

**Slug:** `MICROSOFT_365_LIST_APPLICATION_OWNERS`

List directory principals that own a Microsoft Entra application.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum application owners requested for this page. Microsoft Graph's current service rejects values outside 1-999. |
| `count` | boolean | No | Whether to include the total matching owner count. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | OData expression for related resources to include inline. |
| `filter` | string | No | OData filter for owner properties. Uses eventual consistency. |
| `search` | string | No | Search expression for owner properties. Uses eventual consistency. |
| `select` | string | No | Comma-separated directory object fields to return. |
| `orderby` | string | No | OData expression used to order owners. Uses eventual consistency. |
| `application_id` | string | Yes | Microsoft Entra application object ID (the id property), not the Application (client) ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Appointments

**Slug:** `MICROSOFT_365_LIST_APPOINTMENTS`

List one Microsoft Graph page of appointments for a booking business. Omit start and end to list the appointments collection, or provide both to list appointments occurring in that inclusive calendar-view range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | Inclusive range end as an ISO 8601 date-time with an explicit UTC offset or Z. Provide start and end together to use calendar view. |
| `start` | string | No | Inclusive range start as an ISO 8601 date-time with an explicit UTC offset or Z. Provide start and end together to use calendar view. |
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand on either appointments route. Graph may reject unsupported relations. |
| `business_id` | string | Yes | ID of the booking business whose appointments to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total appointment count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List assigned Planner tasks

**Slug:** `MICROSOFT_365_LIST_ASSIGNED_PLANNER_TASKS`

List Microsoft Planner tasks assigned to the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user's associated teams

**Slug:** `MICROSOFT_365_LIST_ASSOCIATED_TEAMS`

Tool to list teams that a user is associated with in Microsoft Teams. Use when you need to get teams where a user is either a direct member or a member of a shared channel hosted in the team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User ID or user principal name (UPN) to query associated teams for. Use 'me' to query the authenticated user's associated teams. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (user_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outlook attachments

**Slug:** `MICROSOFT_365_LIST_ATTACHMENTS`

List attachments for one Outlook email message. response_detail='minimal' returns projected metadata only; 'full' also returns base64 contentBytes for file attachments and can produce a large response. Returns fileAttachment, itemAttachment, and referenceAttachment records, including inline images and signatures. Only fileAttachment records can be downloaded with OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT. Results are under data.response_data.value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachment records to return (OData $top). |
| `user_id` | string | No | The unique identifier of the user. Use the user's UPN (e.g., 'AdeleV@contoso.onmicrosoft.com') or 'me' for the currently authenticated user. This specifies the mailbox to query. |
| `message_id` | string | Yes | The unique identifier of the email message from which to retrieve attachments. Must be a message ID (obtained from OUTLOOK_LIST_MESSAGES or OUTLOOK_SEARCH_EMAILS), not a folder ID or calendar event ID. Folder IDs look similar but will cause an error. When sourcing from OUTLOOK_SEARCH_EMAILS, use `hitId` as the message identifier — not `resource.id`. |
| `response_detail` | string ("minimal" | "full") | No | Level of detail in the response. 'minimal' (default) returns only the attachment metadata that exists on the Graph attachment base type (id, name, size, contentType, isInline, lastModifiedDateTime) — the base64-encoded contentBytes and any fileAttachment-only fields (contentId, contentLocation) are excluded so the heavy file payload never leaves Microsoft Graph. 'full' returns the complete payload including contentBytes for downloading. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Booking Businesses

**Slug:** `MICROSOFT_365_LIST_BOOKING_BUSINESSES`

List shared booking businesses visible to the connected work or school account. Microsoft Graph returns up to 500 results and does not paginate this endpoint. Results contain only each business ID and display name; use search_query to narrow results or Get Booking Business for full details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search_query` | string | No | Return only booking businesses matching this search text. |
| `include_count` | boolean | No | Include the total matching count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Bundles

**Slug:** `MICROSOFT_365_LIST_BUNDLES`

Tool to retrieve a list of bundle resources from a specified drive. Bundles are collections of files (e.g., photo albums). Use when you need to list bundles in a drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return in a single page. Must be between 1 and 999. |
| `expand` | string | No | Comma-separated list of relationships to expand (e.g., 'children'). Note: expand=children is not supported for listing bundles. |
| `filter` | string | No | OData filter query to filter bundles. For example, 'bundle/album ne null' to list only photo albums. |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,name,bundle'). |
| `orderby` | string | No | A comma-separated list of properties to order the results by, optionally followed by 'asc' or 'desc' (e.g., 'name desc'). |
| `drive_id` | string | Yes | The unique identifier of the drive to list bundles from. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Calendar Calendar View (Deprecated)

**Slug:** `MICROSOFT_365_LIST_CALENDAR_CALENDAR_VIEW`

DEPRECATED: Use OUTLOOK_LIST_ME_CALENDARS_CALENDAR_VIEW instead. Tool to list calendar events within a specified date/time range. Use when you need to retrieve events from the user's primary calendar that fall within a time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Number of events to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `endDateTime` | string | Yes | The end date and time of the time range, represented in ISO 8601 format. For example, '2019-11-08T20:00:00-08:00' or '2024-12-31T23:59:59Z'. |
| `startDateTime` | string | Yes | The start date and time of the time range, represented in ISO 8601 format. For example, '2019-11-08T19:00:00-08:00' or '2024-01-01T00:00:00Z'. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label applied to each calendar event. This is distinct from the event's built-in sensitivity field and any Teams meeting label. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar event attachments

**Slug:** `MICROSOFT_365_LIST_CALENDAR_EVENT_ATTACHMENTS`

Tool to list attachments for a calendar event within a specific calendar for a user. Use when you need to retrieve attachments from an event in a user's specific calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachments to return (OData $top). |
| `skip` | integer | No | Number of attachments to skip (OData $skip). |
| `filter` | string | No | OData filter string to filter the attachments (OData $filter). |
| `select` | array | No | List of attachment properties to include (OData $select). |
| `orderby` | array | No | Order by clauses to sort the results (OData $orderby). |
| `user_id` | string | Yes | The unique identifier of the user. Must be a valid user ID (GUID) or userPrincipalName (UPN/email). Note: 'me' is NOT supported for this endpoint. |
| `event_id` | string | Yes | The unique identifier of the event. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar group calendar events

**Slug:** `MICROSOFT_365_LIST_CALENDAR_GROUP_CALENDAR_EVENTS`

Tool to list events from a specific calendar within a calendar group for a user. Use when you need to retrieve events from a user's calendar that belongs to a specific calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to retrieve per page for pagination. |
| `skip` | integer | No | Number of initial events to bypass, used for pagination. |
| `filter` | string | No | OData query string to filter calendar events. ONLY the following properties support filtering: 'start/dateTime', 'end/dateTime', 'subject', 'categories', 'importance', 'sensitivity', 'isAllDay', 'isCancelled', 'isReminderOn', 'type'. CRITICAL: Properties like 'body', 'bodyPreview', 'location', 'locations', 'organizer', 'attendees' do NOT support $filter and will cause errors. IMPORTANT: Use calendar event properties ONLY. Do NOT use mail/message properties like 'receivedDateTime'. For start/end filtering, you MUST use 'start/dateTime' and 'end/dateTime' ONLY. DO NOT use 'start/date' or 'end/date' - these properties do NOT exist and will cause errors. DateTime format: "start/dateTime ge 'YYYY-MM-DDTHH:MM:SSZ'" (requires single quotes and timezone suffix). Operators: ge (>=), le (<=), eq (=), gt (>), lt (<). DateTime values without quotes or timezone suffix will be automatically normalized. |
| `select` | array | No | List of specific event property names to return. MUST be provided as a list. If omitted, a default set of properties is returned. Valid field names: id, subject, body, bodyPreview, start, end, isAllDay, organizer, attendees, location, locations, recurrence, importance, sensitivity, showAs, categories, hasAttachments, webLink, onlineMeeting, onlineMeetingProvider, onlineMeetingUrl, isOnlineMeeting, createdDateTime, lastModifiedDateTime, changeKey, iCalUId, type, seriesMasterId, isOrganizer, isReminderOn, reminderMinutesBeforeStart, responseRequested, responseStatus, allowNewTimeProposals, hideAttendees, isCancelled, isDraft, originalStart, originalStartTimeZone, originalEndTimeZone, transactionId, cancelledOccurrences. Note: 'creator' is NOT a valid field - use 'organizer' instead. Invalid field names will be automatically filtered out. |
| `orderby` | array | No | List of properties to sort results by. Each item is a string like 'start/dateTime desc' or 'subject asc'. MUST be provided as a list, even for single sort criteria. Use 'asc' (default) or 'desc' for order. IMPORTANT: Use calendar event properties ONLY. Do NOT use mail/message properties like 'receivedDateTime'. Valid sortable datetime fields: 'start/dateTime', 'end/dateTime', 'createdDateTime', 'lastModifiedDateTime'. |
| `user_id` | string | Yes | The user's primary SMTP address, user principal name (UPN), or user ID to identify the calendar owner. |
| `timezone` | string | No | Preferred timezone for event start/end times. Accepts IANA format (e.g., 'America/New_York', 'Europe/London', 'Asia/Tokyo') or Windows format (e.g., 'Eastern Standard Time', 'Pacific Standard Time'). Falls back to 'UTC' if the timezone cannot be resolved. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group containing the calendar. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label stored on each calendar event. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity label. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List calendars in calendar group

**Slug:** `MICROSOFT_365_LIST_CALENDAR_GROUP_CALENDARS`

Tool to retrieve calendars belonging to a specific calendar group. Use when you need to list calendars within a calendar group with optional OData queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of calendars to return (OData $top). |
| `skip` | integer | No | Number of calendars to skip (OData $skip). |
| `filter` | string | No | OData filter expression (OData $filter). |
| `select` | array | No | Properties to include (OData $select). |
| `orderby` | array | No | Order by expressions (OData $orderby). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_group_id` | string | Yes | The ID of the calendar group to retrieve calendars from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar group event attachments

**Slug:** `MICROSOFT_365_LIST_CALENDAR_GROUP_EVENT_ATTACHMENTS`

Tool to list attachments for a calendar event within a specific calendar group for a user. Use when you need to retrieve attachments from an event in a calendar that belongs to a calendar group for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachments to return (OData $top). |
| `skip` | integer | No | Number of attachments to skip (OData $skip). |
| `filter` | string | No | OData filter string to filter the attachments (OData $filter). |
| `select` | array | No | List of attachment properties to include (OData $select). |
| `orderby` | array | No | Order by clauses to sort the results (OData $orderby). |
| `user_id` | string | No | The unique identifier of the user. Can use 'me' as shortcut for authenticated user. |
| `event_id` | string | Yes | The unique identifier of the event. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outlook calendar groups

**Slug:** `MICROSOFT_365_LIST_CALENDAR_GROUPS`

List calendar groups in the signed-in user's or a specified user's mailbox, with optional OData queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of calendar groups to return (OData $top). |
| `skip` | integer | No | Number of calendar groups to skip (OData $skip). |
| `filter` | string | No | OData filter expression (OData $filter). |
| `select` | array | No | Properties to include (OData $select). |
| `orderby` | array | No | Order by expressions (OData $orderby). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List calendar permissions

**Slug:** `MICROSOFT_365_LIST_CALENDAR_PERMISSIONS`

Tool to list calendar permissions for a specific calendar within a calendar group. Use when you need to view sharing permissions for a calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permissions to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `user_id` | string | No | The unique identifier of the user. Can use 'me' for the authenticated user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar within the calendar group. |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outlook calendars

**Slug:** `MICROSOFT_365_LIST_CALENDARS`

List calendars in the signed-in user's or a specified user's mailbox, with optional OData queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of calendars to return (OData $top). |
| `skip` | integer | No | Number of calendars to skip (OData $skip). |
| `filter` | string | No | OData filter expression (OData $filter). |
| `select` | array | No | Properties to include (OData $select). |
| `orderby` | array | No | Order by expressions (OData $orderby). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List calendar view delta

**Slug:** `MICROSOFT_365_LIST_CALENDAR_VIEW_DELTA`

Retrieve calendar-view delta events for a specified time range, including changes since a prior sync. Deleted entries do not retain their removal marker in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user ID (GUID format like '43f0c14d-bca8-421f-b762-c3d8dd75be1f') or user principal name (email format like 'user@domain.com') of the mailbox to access. Required for app-only (S2S) authentication with application permissions. If not provided, uses '/me' endpoint which requires delegated permissions. |
| `skiptoken` | string | No | A state token returned in the @odata.nextLink URL of the previous delta function call. Accepts either the full @odata.nextLink URL or just the bare token value. Use this to page through large result sets during initial sync or updates. Keep paginating until you receive '@odata.deltaLink' instead of nextLink. When using Purview sensitivity-label enrichment, resend include_sensitivity_label=true with this token. |
| `deltatoken` | string | No | A state token returned in the @odata.deltaLink URL of the previous delta function call. Accepts either the full @odata.deltaLink URL or just the bare token value. Use this to get only changes since the last sync. On first call, omit this parameter to get all events in the time range. Store the @odata.deltaLink from the response for subsequent calls. When using Purview sensitivity-label enrichment, resend include_sensitivity_label=true with this token. |
| `end_datetime` | string | No | The end date and time of the time range, represented in ISO 8601 format. For example, '2015-11-08T20:00:00.0000000' or '2015-11-08T20:00:00Z'. This parameter is required for the first delta query to establish the time window. |
| `start_datetime` | string | No | The start date and time of the time range, represented in ISO 8601 format. For example, '2015-11-08T19:00:00.0000000' or '2015-11-08T19:00:00Z'. This parameter is required for the first delta query to establish the time window. |
| `include_sensitivity_label` | boolean | No | When true, hydrates each non-deleted event's Microsoft Purview sensitivity label through Graph JSON batches capped at 20 requests per batch. Delta does not support the required $expand. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Deleted events and failed lookups have status unknown; treat unknown as fail-closed. Repeat this flag on every call that uses skiptoken or deltatoken because Graph tokens do not preserve this Composio-only setting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List channel members

**Slug:** `MICROSOFT_365_LIST_CHANNEL_MEMBERS`

List the conversation members of a Microsoft Teams channel and return an opaque cursor when Microsoft Graph has another page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of channel members requested on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter expression applied to channel members. |
| `select` | string | No | Comma-separated member fields to return. Microsoft Graph validates whether fields are selectable for the concrete member type. |
| `team_id` | string | Yes | Unique identifier of the team that owns the channel. |
| `channel_id` | string | Yes | Unique identifier of the channel whose members to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List channel message changes

**Slug:** `MICROSOFT_365_LIST_CHANNEL_MESSAGE_CHANGES`

Synchronize messages created, updated, or deleted in one Microsoft Teams channel and return an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of message changes requested on this page (1-50). |
| `cursor` | string | No | Opaque cursor returned by a previous call. Pass it back unchanged to continue the current enumeration or start the next delta round. |
| `filter` | string | No | Optional Microsoft Graph delta filter retained across continuation calls. |
| `team_id` | string | Yes | Unique identifier of the team that owns the channel. |
| `channel_id` | string | Yes | Unique identifier of the channel whose message changes are requested. |
| `delta_token` | string | No | Delta token returned after a synchronization round completes. Supply it with team_id and channel_id to begin the next round. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List channel tabs

**Slug:** `MICROSOFT_365_LIST_CHANNEL_TABS`

Tool to list tabs from a Microsoft Teams channel. Use when you need to retrieve all tabs configured in a specific channel. Note: The Files tab (native to channels) is not returned by this API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Use to limit the number of tabs returned in the response. |
| `skip` | integer | No | Skip the first n items. Use with 'top' for pagination to retrieve subsequent pages of tabs. |
| `count` | boolean | No | Include count of items in the response. When true, adds @odata.count with total number of tabs. |
| `expand` | string | No | Expand related entities. Comma-separated list of relationships to include inline in the response. Use 'teamsApp' to include full Teams app details. |
| `filter` | string | No | Filter items by property values. Use OData filter syntax (e.g., 'teamsApp/id eq "com.microsoft.teamspace.tab.planner"'). |
| `search` | string | No | Search items by search phrases. Use OData search syntax to find tabs matching search criteria. |
| `select` | string | No | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,webUrl'). |
| `orderby` | string | No | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc' (e.g., 'displayName asc'). |
| `team_id` | string | Yes | The unique identifier (GUID) of the team. This is the team ID that contains the channel. |
| `channel_id` | string | Yes | The unique identifier of the channel. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or plain format. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier(s) (team_id, channel_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chart points

**Slug:** `MICROSOFT_365_LIST_CHART_POINTS`

List chart points

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum points to return. |
| `skip` | integer | No | Points to skip before returning results. |
| `expand` | array | No | Related point resources to include. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `series_id` | string | No | The exact series ID. Provide exactly one of series_id or series_index. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `series_index` | integer | No | The zero-based series position. Provide exactly one of series_id or series_index. |
| `select_fields` | array | No | Point properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Charts

**Slug:** `MICROSOFT_365_LIST_CHARTS`

List charts in a worksheet using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `worksheet` | string | Yes | The name or ID of the worksheet. Do not include surrounding quotes - provide the plain worksheet name (e.g., 'Sheet1' not "'Sheet1'"). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chart Series

**Slug:** `MICROSOFT_365_LIST_CHART_SERIES`

List a page of data series names in a chart, with a next-page link when more results are available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `chart_name` | string | Yes | The name or ID of the chart (must be URL-encoded). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chats (Deprecated)

**Slug:** `MICROSOFT_365_LIST_CHAT`

DEPRECATED: Use MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS instead. Tool to list chats that the user is part of. Use when retrieving the list of chats for a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum allowed value is 50. |
| `skip` | integer | No | Skip the first n items |
| `count` | boolean | No | Include count of items in the response |
| `expand` | array | No | Expand related entities. Currently supports 'members' and 'lastMessagePreview'. |
| `filter` | string | No | Filter items by property values (do not include '$filter='). Supports filtering by chatType, installedApps. Example: "chatType eq 'group'" or "installedApps/any(a:a/teamsApp/id eq 'app-id')" |
| `search` | string | No | Search items by search phrases |
| `select` | array | No | Select properties to be returned. If omitted, default properties are returned. |
| `orderby` | string | No | Order items by property values. Currently supports 'lastMessagePreview/createdDateTime desc' in descending order. Ascending order is not supported. |
| `user_id` | string | No | The user ID for whom to list chats. For delegated auth, use 'me' or a specific user ID. For application-only auth (S2S), you MUST provide a specific user ID (GUID format). Default is 'me'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (user_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chat members (Deprecated)

**Slug:** `MICROSOFT_365_LIST_CHAT_MEMBERS`

DEPRECATED: Use MICROSOFT_TEAMS_USERS_CHATS_LIST_MEMBERS instead. Tool to list members of a Microsoft Teams chat. Use when you need to retrieve the members of a specific one-on-one chat, group chat, or meeting chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | GUID of the Microsoft Teams chat to retrieve members from. This is the chat ID returned by Graph API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chat message hosted contents

**Slug:** `MICROSOFT_365_LIST_CHAT_MESSAGE_HOSTED_CONTENTS`

List hosted-content resources attached to a Microsoft Teams chat message. Use the returned opaque IDs to download individual hosted content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | ID of the chat containing the message. |
| `message_id` | string | Yes | ID of the chat message whose hosted contents to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chat messages

**Slug:** `MICROSOFT_365_LIST_CHAT_MESSAGES`

Tool to list messages in a Teams chat. Use when you need message IDs to select a specific message for further actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of messages per page (max 50). |
| `filter` | string | No | OData filter expression for date/time filtering; honored when matching orderby property. |
| `chat_id` | string | Yes | ID of the chat to retrieve messages from. |
| `orderby` | string | No | Order by property; supports 'lastModifiedDateTime desc' or 'createdDateTime desc'. |
| `skiptoken` | string | No | Pagination token from the @odata.nextLink of a previous response. Pass the $skiptoken value (not the full URL) to retrieve the next page of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Teams chats

**Slug:** `MICROSOFT_365_LIST_CHATS`

Tool to list Teams chats. Use when you need chat IDs and topics to select a chat for further actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of chat items per page (max 50). |
| `expand` | string | No | Related entities to expand: 'members' or 'lastMessagePreview'. |
| `filter` | string | No | OData filter expression to filter chats, such as by topic. |
| `orderby` | string | No | Properties to order by; only 'lastMessagePreview/createdDateTime desc' is supported (ascending order not supported). |
| `user_id` | string | No | User ID (GUID or email) to list chats for. Required for S2S (app-only) authentication. If not provided, uses '/me' endpoint (requires delegated authentication). |
| `skiptoken` | string | No | Pagination token from the @odata.nextLink of a previous response. Pass the $skiptoken value (not the full URL) to retrieve the next page of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List chat tabs

**Slug:** `MICROSOFT_365_LIST_CHAT_TABS`

Return one page of tabs pinned to a Microsoft Teams chat, including optional tab configuration and linked Teams app details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor returned by a previous call. Omit it for the first page and pass it back unchanged to fetch the next page. |
| `expand` | string | No | Comma-separated relationships to include inline without '$expand='; use 'teamsApp' to include the linked application. |
| `filter` | string | No | OData filter expression without '$filter=', such as a filter on the linked Teams app ID. |
| `select` | string | No | Comma-separated tab properties to return without '$select=', such as 'id,displayName,webUrl,configuration'. |
| `chat_id` | string | Yes | Unique identifier of the Microsoft Teams chat whose tabs to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Checklist Items

**Slug:** `MICROSOFT_365_LIST_CHECKLIST_ITEMS`

List the checklist items (subtasks) of a To Do task. Auto-paginates so all subtasks are returned at once as {items: [...]}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list that owns the task (path param todoTaskListId). Get one from MICROSOFT_TODO_LIST_TASK_LISTS. |
| `task_id` | string | Yes | Id of the task whose checklist items (subtasks) to return (path param taskId). Get one from MICROSOFT_TODO_LIST_TASKS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user child folder contacts

**Slug:** `MICROSOFT_365_LIST_CHILD_FOLDER_CONTACTS`

Tool to retrieve contacts from a user's child contact folder. Use when you need to access contacts organized in nested folder structures for a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of contacts to retrieve per page (1-999). |
| `skip` | integer | No | Number of contacts to skip from the beginning of the result set, for pagination. Use with 'top' to iterate through large contact lists. |
| `filter` | string | No | OData V4 filter expression for targeted retrieval. |
| `select` | array | No | List of specific contact properties to retrieve. Valid Contact properties: displayName, givenName, surname, middleName, nickName, title, generation, emailAddresses, imAddresses, jobTitle, companyName, department, officeLocation, profession, businessHomePage, assistantName, manager, homePhones, mobilePhone, businessPhones, spouseName, personalNotes, children, homeAddress, businessAddress, otherAddress, categories, birthday, fileAs, initials, yomiGivenName, yomiSurname, yomiCompanyName, parentFolderId, changeKey, createdDateTime, lastModifiedDateTime. |
| `orderby` | array | No | List of properties to sort results by. Each item is a string like 'displayName asc' or 'createdDateTime desc'. MUST be provided as a list, even for single sort criteria. 'asc' is default. |
| `user_id` | string | Yes | The unique identifier of the user (email address or user ID). Use email format (e.g., 'user@example.com') or Azure AD user ID. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `child_folder_id` | string | Yes | The ID of the child folder to retrieve contacts from. Required. |
| `contact_folder_id` | string | Yes | The ID of the parent contact folder containing the child folder. Required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List child folder messages

**Slug:** `MICROSOFT_365_LIST_CHILD_FOLDER_MESSAGES`

Tool to list messages from a child folder within a parent mail folder. Use when you need to retrieve messages from a subfolder that exists within another folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to return per request (1-1000). To page through more, use the `next_page_token` from the response (pass it back as `page_token`). |
| `skip` | integer | No | Number of messages to skip from the beginning of the result set, for pagination. |
| `filter` | string | No | OData $filter query to filter messages. Examples: 'isRead eq false', 'from/emailAddress/address eq 'sender@example.com'', 'receivedDateTime ge 2023-01-01T00:00:00Z', 'hasAttachments eq true'. Note: Combining complex filters (especially on nested properties like 'from/emailAddress/address') with the 'orderby' parameter may fail with an InefficientFilter error. In such cases, remove 'orderby' or apply sorting client-side. |
| `select` | array | No | List of message properties to include in the response. OData $select parameter. Valid properties include: id, subject, from, toRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId. |
| `orderby` | string | No | Property to sort results by with direction. OData $orderby parameter. Example: 'receivedDateTime desc' or 'subject asc'. Note: Using 'orderby' together with complex 'filter' queries (especially on nested properties like 'from/emailAddress/address') may fail with an InefficientFilter error. If this occurs, either remove 'orderby' or apply sorting client-side. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS. |
| `child_folder_id` | string | Yes | The ID of the child folder within the parent mail folder from which to retrieve messages. This must be a base64-encoded folder ID (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. Well-known names are NOT valid for child folders. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List child mail folders

**Slug:** `MICROSOFT_365_LIST_CHILD_MAIL_FOLDERS`

List a mail folder's immediate child folders, with property projection and paging controls. Use this to navigate and inspect a nested mailbox folder hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of child folders to return. OData $top parameter. |
| `skip` | integer | No | Number of child folders to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `filter` | string | No | OData $filter query to filter the child folders. Example: 'isHidden eq false'. |
| `select` | string | No | MailFolder properties to include in the response. Pass a list (recommended) or a comma-separated string; both become one OData $select value. Valid properties include: id, displayName, parentFolderId, childFolderCount, unreadItemCount, totalItemCount, isHidden. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `parent_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For folder IDs, obtain them from OUTLOOK_LIST_MAIL_FOLDERS or previous childFolders responses. Folder IDs are base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA=') that are mailbox-specific and must come from the same user's mailbox. No URL encoding needed - it's handled automatically. |
| `include_hidden_folders` | boolean | No | Include hidden mail folders (isHidden=true) when set to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Comment Replies

**Slug:** `MICROSOFT_365_LIST_COMMENT_REPLIES`

List replies to one workbook comment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of replies to return in this page. |
| `skip` | integer | No | Number of replies to skip before returning this page. |
| `count` | boolean | No | Whether Microsoft Graph should include the total reply count. |
| `expand` | array | No | Related reply entities to include through the OData $expand query option. |
| `filter` | string | No | OData $filter expression for reply property values. |
| `search` | string | No | Search phrase passed through the OData $search query option. |
| `select` | array | No | Reply properties to return through the OData $select query option. |
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `orderby` | array | No | Reply property expressions for the OData $orderby query option. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `comment_id` | string | Yes | The exact ID of the workbook comment whose replies to list. |
| `session_id` | string | No | Optional workbook session ID to use for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Comments

**Slug:** `MICROSOFT_365_LIST_COMMENTS`

List a page of comments in an Excel workbook using Microsoft Graph. Returns a next-page link when one is provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) to list comments for. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Communications Call Operations

**Slug:** `MICROSOFT_365_LIST_COMMUNICATIONS_CALLS_OPERATIONS`

Tool to list operations on a Microsoft Teams call. Use when you need to retrieve the status of long-running operations like adding large gallery views, recording, or playing prompts on an active call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of operations to return in a single response. Default is 50 if not specified. |
| `skip` | integer | No | Number of operations to skip before returning results. Used for pagination. |
| `count` | boolean | No | Include count of total items in the response. When true, adds @odata.count to response. |
| `expand` | string | No | Expand related entities inline. Comma-separated list of relationships to expand. |
| `filter` | string | No | Filter items by property values using OData filter syntax. Example: "status eq 'completed'". |
| `search` | string | No | Search items by search phrases. Filters operations based on matching text. |
| `select` | string | No | Select specific properties to include in response. Comma-separated list of property names. Example: 'id,status'. |
| `call_id` | string | Yes | The unique identifier of the call. |
| `orderby` | string | No | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc'. Example: 'id asc'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier(s) (call_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List contact folder child folders

**Slug:** `MICROSOFT_365_LIST_CONTACT_FOLDER_CHILD_FOLDERS`

Tool to list child folders under a specified contact folder. Use when navigating nested contact folder hierarchies or organizing contacts into subfolder structures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of child folders to return. OData $top parameter. |
| `skip` | integer | No | Number of child folders to skip for pagination. OData $skip parameter. |
| `expand` | array | No | Related entities to expand inline. OData $expand parameter. Example: ['contacts']. |
| `filter` | string | No | OData $filter query to filter the child folders. Example: startswith(displayName,'A'). |
| `select` | array | No | List of contactFolder properties to include in the response. OData $select parameter. Valid properties include: id, displayName, parentFolderId. |
| `orderby` | array | No | List of properties to order results by. OData $orderby parameter. Example: ['displayName asc']. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `folder_id` | string | Yes | The ID of the parent contact folder. Obtain folder IDs from OUTLOOK_GET_CONTACT_FOLDERS or previous childFolders responses. Folder IDs are base64-encoded strings that are mailbox-specific and must come from the same user's mailbox. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List contact folders delta

**Slug:** `MICROSOFT_365_LIST_CONTACT_FOLDERS_DELTA`

Tool to get contact folders that have been added, deleted, or updated. Use when tracking changes to contact folder structure without fetching all folders each time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated list of properties to include in the response. The id property is always returned. Available properties: id, displayName, parentFolderId. |
| `user_id` | string | No | The ID (user principal name or GUID) of the user. Required for app-only (S2S) authentication. If not provided, uses '/me' endpoint (requires delegated authentication). Accepts both email format (user@domain.com) and GUID format. |
| `skiptoken` | string | No | A state token returned in the @odata.nextLink URL of the previous delta function call. Accepts either the full @odata.nextLink URL or just the bare token value. Use this to page through large result sets during initial sync or updates. Keep paginating until you receive '@odata.deltaLink' instead of nextLink. |
| `deltatoken` | string | No | A state token returned in the @odata.deltaLink URL of the previous delta function call. Accepts either the full @odata.deltaLink URL or just the bare token value. Use this to get only changes since the last sync. On first call, omit this parameter to get all contact folders. Store the @odata.deltaLink from the response for subsequent calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outlook contacts (Deprecated)

**Slug:** `MICROSOFT_365_LIST_CONTACTS`

DEPRECATED: Use OUTLOOK_LIST_USER_CONTACTS instead. Retrieves a user's Microsoft Outlook contacts, from the default or a specified contact folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of contacts to retrieve per page (1-999). |
| `skip` | integer | No | Number of contacts to skip from the beginning of the result set, for pagination. Use with 'top' to iterate through large contact lists. |
| `filter` | string | No | OData V4 filter expression for targeted retrieval. |
| `select` | array | No | List of specific contact properties to retrieve. Valid Contact properties: displayName, givenName, surname, middleName, nickName, title, generation, emailAddresses (not 'mail' - that's for User type), imAddresses, jobTitle, companyName, department, officeLocation, profession, businessHomePage, assistantName, manager, homePhones, mobilePhone, businessPhones, spouseName, personalNotes, children, homeAddress, businessAddress, otherAddress, categories, birthday, fileAs, initials, yomiGivenName, yomiSurname, yomiCompanyName, parentFolderId, changeKey, createdDateTime, lastModifiedDateTime. |
| `orderby` | array | No | List of properties to sort results by. Each item is a string like 'displayName asc' or 'createdDateTime desc'. MUST be provided as a list, even for single sort criteria. 'asc' is default. |
| `user_id` | string | No | User Principal Name (UPN) or ID of the user. 'me' refers to the authenticated user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `contact_folder_id` | string | No | ID of a specific contact folder. If omitted, contacts are retrieved from the default contact folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List contacts delta

**Slug:** `MICROSOFT_365_LIST_CONTACTS_DELTA`

Retrieve incremental changes to contacts in a specified folder for synchronization. The initial sync may require paging before a delta link is returned; use the stored delta link for subsequent changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | array | No | List of contact properties to include (e.g. ['displayName','emailAddresses']). Available properties: id, displayName, givenName, surname, middleName, nickName, title, generation, emailAddresses, imAddresses, jobTitle, companyName, department, officeLocation, profession, businessHomePage, assistantName, manager, homePhones, mobilePhone, businessPhones, spouseName, personalNotes, children, homeAddress, businessAddress, otherAddress, categories, birthday, fileAs, initials, yomiGivenName, yomiSurname, yomiCompanyName, parentFolderId, changeKey, createdDateTime, lastModifiedDateTime. |
| `user_id` | string | No | User ID (GUID) or user principal name (email) for app-only (S2S) authentication. Required when using client credentials flow. If not provided, uses '/me' endpoint (delegated auth). Example: '43f0c14d-bca8-421f-b762-c3d8dd75be1f' or 'user@example.com' |
| `skip_token` | string | No | Skip token for paging through large result sets during initial sync. Accepts either the full @odata.nextLink URL or just the bare token value. Keep paginating until you receive '@odata.deltaLink' instead of nextLink. Mutually exclusive with delta_token - only one should be provided per request. |
| `delta_token` | string | No | Delta token from a previous call to get only changes since that state. Accepts either the full @odata.deltaLink URL or just the bare token value. If omitted or invalid (placeholders like <token> are ignored), performs initial sync. Response includes @odata.deltaLink - store this for subsequent calls. Mutually exclusive with skip_token - only one should be provided per request. |
| `contact_folder_id` | string | Yes | Contact folder identifier (folder GUID). Use GET_CONTACT_FOLDERS action to retrieve available folder IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Content Type Columns

**Slug:** `MICROSOFT_365_LIST_CONTENT_TYPE_COLUMNS`

List the columns of a SharePoint site or list content type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,description. |
| `list_id` | string | No | Optional list ID or display name. When provided, the columns are listed for a list-level content type instead of a site-level one. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Booking Currencies

**Slug:** `MICROSOFT_365_LIST_CURRENCIES`

Return one Microsoft Graph page of the Microsoft Bookings currency catalog with ISO currency IDs and localized symbols. The documented OData controls are passed through, but Graph may accept and ignore them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Non-negative $top value to pass through. Graph may accept this option without limiting the returned catalog page. |
| `skip` | integer | No | Non-negative $skip value to pass through. Graph may accept this option without changing the returned catalog page. |
| `expand` | array | No | Expansion expressions to pass as comma-separated $expand. Graph may ignore or reject relations unsupported by booking currencies. |
| `filter` | string | No | OData filter expression to pass through as $filter. Graph may accept this option without filtering the currency catalog. |
| `select` | array | No | Currency properties to pass as comma-separated $select. Graph may accept this option without projecting the response. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Pass the documented $count option to Microsoft Graph. The provider may accept it without returning @odata.count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `MICROSOFT_365_LIST_CUSTOMERS`

List saved customers for one booking business, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking customers. |
| `business_id` | string | Yes | ID of the booking business whose customers to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total customer count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Custom Questions

**Slug:** `MICROSOFT_365_LIST_CUSTOM_QUESTIONS`

List custom intake questions defined for one booking business, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by custom questions. |
| `business_id` | string | Yes | ID of the booking business whose custom questions to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total question count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List deleted teams

**Slug:** `MICROSOFT_365_LIST_DELETED_TEAMS`

List deleted Microsoft Teams, returning their IDs and a continuation token when another page is available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax. |
| `search` | string | No | Search items by search phrases. Use this to find deleted teams by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id'). |
| `orderby` | string | No | Order items by property values (e.g., 'id' or 'id desc'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier(s) (none), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List direct group memberships

**Slug:** `MICROSOFT_365_LIST_DIRECT_GROUP_MEMBERSHIPS`

List Microsoft Entra groups the signed-in user directly belongs to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of groups requested on this page (OData $top). |
| `filter` | string | No | OData $filter expression used to restrict returned groups. |
| `search` | string | No | OData $search expression for group display names, such as '"displayName:Engineering"'. |
| `select` | string | No | Group properties to return as a list or comma-separated string (OData $select). |
| `orderby` | string | No | OData $orderby expression used to order returned groups. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified. Do not construct or edit it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List directory role members

**Slug:** `MICROSOFT_365_LIST_DIRECTORY_ROLE_MEMBERS`

List principals assigned to a Microsoft Entra directory role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated directory object properties to return for each member. |
| `role_id` | string | Yes | Directory role object ID whose members to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Document Set Versions

**Slug:** `MICROSOFT_365_LIST_DOCUMENT_SET_VERSIONS`

List one page of captured versions of a document set list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top number of items to return. |
| `skip` | integer | No | OData $skip number of items to skip. |
| `count` | boolean | No | OData $count: whether to request the total item count. |
| `expand` | string | No | OData $expand: related entities to expand, such as fields. |
| `filter` | string | No | OData $filter expression. |
| `search` | string | No | OData $search expression. |
| `select` | string | No | OData $select: comma-separated properties to return. |
| `item_id` | string | Yes | ID of the document set list item. |
| `list_id` | string | Yes | ID of the list containing the document set. |
| `orderby` | string | No | OData $orderby: comma-separated property ordering expressions. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `page_token` | string | No | Opaque next_page_token from a previous response. Omit for the first page; pass back unmodified with the same site, list, and item IDs to fetch one more page. The token carries the original query parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List DOCX versions

**Slug:** `MICROSOFT_365_LIST_DOCX_VERSIONS`

Validate the selected drive item as a DOCX, then return one page of retained versions in Microsoft Graph's newest-first order. Provider download URLs and raw identity objects are omitted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by the prior page. Omit it for the first page and pass it back unchanged to continue. |
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | Drive containing the DOCX. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Drive Delta

**Slug:** `MICROSOFT_365_LIST_DRIVE_DELTA`

Track changes in a SharePoint drive using Microsoft Graph delta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `token` | string | No | Optional delta token from a previous Microsoft Graph deltaLink. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List drive folder children

**Slug:** `MICROSOFT_365_LIST_DRIVE_FOLDER_CHILDREN`

List one page of immediate children from a Microsoft Graph drive folder addressed by its path relative to the drive root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of children requested on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Related driveItem data to include for each child. |
| `select` | string | No | Comma-separated driveItem fields to return for each child. |
| `orderby` | string | No | OData expression used to order the returned children. |
| `drive_id` | string | Yes | Drive containing the folder. |
| `item_path` | string | Yes | Folder path relative to the drive root, without a leading slash. To list a folder by item ID, use LIST_DRIVE_ITEM_CHILDREN instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Drive Item Children By Path

**Slug:** `MICROSOFT_365_LIST_DRIVE_ITEM_CHILDREN_BY_PATH`

List the children of a SharePoint folder addressed by its path under the drive root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `item_path` | string | Yes | Path of the folder relative to the drive root whose children should be listed, for example 'Documents/Reports'. Nested path segments are supported. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Drive Item Thumbnails

**Slug:** `MICROSOFT_365_LIST_DRIVE_ITEM_THUMBNAILS`

Retrieve the available thumbnail sets (small, medium, large) for a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Optional Microsoft Graph OData $select value. Supports selecting a specific thumbnail size, for example small, medium, large, or a custom size such as c300x400_crop. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Root Changes

**Slug:** `MICROSOFT_365_LIST_DRIVE_ROOT_CHANGES`

Return exactly one Microsoft Graph page of changes beneath a drive root. Use next_page_token to continue until the response supplies a delta link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Requested maximum number of changed items on this provider page. Microsoft Graph may return fewer items. |
| `token` | string | No | Delta token from an earlier @odata.deltaLink, or 'latest' to obtain the current synchronization state without enumerating existing items. |
| `expand` | string | No | OData relationship expansion without '$expand='. |
| `select` | string | No | Comma-separated DriveItem properties to return through OData $select. |
| `drive_id` | string | Yes | Microsoft Graph drive ID whose root changes to list. |
| `page_token` | string | No | Opaque next-page cursor from a previous call; omit for the first page. |
| `delta_exclude_parent` | boolean | No | Set true to omit unchanged parent items from the delta response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Drive Root Children

**Slug:** `MICROSOFT_365_LIST_DRIVE_ROOT_CHILDREN`

List children in the root of a SharePoint drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drives

**Slug:** `MICROSOFT_365_LIST_DRIVES`

Tool to retrieve a list of Drive resources available to the authenticated user, or for a specific user, group, or site. Use when you need to find out what drives are accessible. Returns only drives within the signed-in account's permission scope; missing drives indicate insufficient permissions or different tenant scope. Results are paginated — pass the returned next_page_token back as page_token across all pages to avoid missing drives. Returned drives represent document libraries and may not reflect full SharePoint site structure; use SHARE_POINT_GET_SITE_COLLECTION_INFO or SHARE_POINT_SEARCH_QUERY for broader coverage. Use driveType and webUrl to distinguish personal, system, and SharePoint-backed drives.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return in a single page. Must be between 1 and 999. |
| `expand` | string | No | Comma-separated list of relationships to expand (e.g., "root,list"). |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., "id,name,driveType"). |
| `orderby` | string | No | A comma-separated list of properties to order the results by, optionally followed by "asc" or "desc" (e.g., "name desc"). |
| `site_id` | string | No | The ID of the site to list drives for. If provided, group_id and user_id should not be used. |
| `user_id` | string | No | The ID of the user to list drives for. If provided, group_id and site_id should not be used. If none of group_id, site_id, or user_id are provided, the drives for the current authenticated user (/me/drives) will be listed. |
| `group_id` | string | No | The ID of the group to list drives for. If provided, site_id and user_id should not be used. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Email Rules

**Slug:** `MICROSOFT_365_LIST_EMAIL_RULES`

List inbox email rules for the authenticated or specified user. Results may include rule conditions, actions, sequence, and stop-processing settings; use top and skip to page through rules, and narrow results client-side.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of rules to retrieve. Default is 100. Setting this too low may return an incomplete rule set; use 100 or higher to ensure all rules are retrieved. |
| `skip` | integer | No | Number of rules to skip before returning results. Use with 'top' for offset-based pagination. |
| `user_id` | string | No | The user ID or principal name (email) to list email rules for. Required for S2S (app-only) authentication. If not provided, uses the authenticated user context (/me). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event attachments

**Slug:** `MICROSOFT_365_LIST_EVENT_ATTACHMENTS`

Tool to list attachments for a specific Outlook calendar event. Use when you have an event ID and need to view its attachments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachments to return (OData $top). |
| `skip` | integer | No | Number of attachments to skip (OData $skip). |
| `filter` | string | No | OData filter string to filter the attachments (OData $filter). |
| `select` | array | No | List of attachment properties to include (OData $select). |
| `orderby` | array | No | Order by clauses to sort the results (OData $orderby). |
| `user_id` | string | No | The user's primary SMTP address, UPN, or 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to retrieve attachments for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event calendar permissions

**Slug:** `MICROSOFT_365_LIST_EVENT_CALENDAR_CALENDAR_PERMISSIONS`

Tool to list calendar permissions for the calendar containing a specific event. Use when you need to see who has access to a calendar that contains a particular event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permissions to return (OData $top parameter). |
| `skip` | integer | No | Number of permissions to skip (OData $skip parameter). |
| `filter` | string | No | OData filter expression to filter permissions (OData $filter parameter). |
| `select` | array | No | Properties to include in the response (OData $select parameter). |
| `orderby` | array | No | Order by expressions (OData $orderby parameter). |
| `user_id` | string | No | The user's primary SMTP address, user principal name (UPN), or the alias 'me' (for the signed-in user) to identify the calendar owner. |
| `event_id` | string | Yes | The unique identifier of the calendar event. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event instances

**Slug:** `MICROSOFT_365_LIST_EVENT_INSTANCES`

Tool to retrieve individual occurrences of a recurring calendar event within a specified time range. Use when you need to get specific instances of a recurring meeting or event series.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of event instances to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Skip the first n items |
| `count` | boolean | No | Include count of items |
| `expand` | array | No | Expand related entities |
| `filter` | string | No | Filter items by property values |
| `search` | string | No | Search items by search phrases |
| `select` | array | No | Select properties to be returned |
| `orderby` | array | No | Order items by property values |
| `user_id` | string | No | Email address of the target user (or 'me' for authenticated user), identifying the calendar owner. |
| `event_id` | string | Yes | The unique identifier of the recurring event (seriesMaster) for which to retrieve instances. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `endDateTime` | string | Yes | The end date and time of the time range in ISO 8601 format (e.g., 2026-04-30T23:59:59.0000000). Only instances that start within or overlap this range will be returned. |
| `startDateTime` | string | Yes | The start date and time of the time range in ISO 8601 format (e.g., 2026-03-01T00:00:00.0000000). Only instances that start within or overlap this range will be returned. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Calendars.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List events

**Slug:** `MICROSOFT_365_LIST_EVENTS`

Retrieves events from a user's Outlook calendar via Microsoft Graph API. Supports primary/secondary/shared calendars, pagination, filtering, property selection, sorting, and timezone specification. Use calendar_id to access non-primary calendars.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to retrieve per page for pagination. |
| `skip` | integer | No | Number of initial events to bypass, used for pagination. |
| `filter` | string | No | OData query string to filter calendar events. Filterable properties: 'start/dateTime', 'end/dateTime', 'subject', 'categories', 'importance', 'sensitivity', 'isAllDay', 'isCancelled', 'isReminderOn', 'type'. CRITICAL: Properties like 'body', 'bodyPreview', 'location', 'organizer', 'attendees' do NOT support $filter. Do NOT use mail properties like 'receivedDateTime' (emails only). For start/end filtering, use 'start/dateTime' and 'end/dateTime' ONLY - do NOT use 'start/date' or 'end/date' (these do not exist). Works for both all-day and timed events. Note: 'createdDateTime' and 'lastModifiedDateTime' only support $orderby/$select, NOT filtering. DateTime format: "start/dateTime ge 'YYYY-MM-DDTHH:MM:SSZ'" (requires single quotes and timezone suffix). Operators: ge (>=), le (<=), eq (=), gt (>), lt (<). |
| `select` | array | No | List of specific event property names to return. MUST be provided as a list. If omitted, a default set of properties is returned. Valid field names: id, subject, body, bodyPreview, start, end, isAllDay, organizer, attendees, location, locations, recurrence, importance, sensitivity, showAs, categories, hasAttachments, webLink, onlineMeeting, onlineMeetingProvider, onlineMeetingUrl, isOnlineMeeting, createdDateTime, lastModifiedDateTime, changeKey, iCalUId, type, seriesMasterId, isOrganizer, isReminderOn, reminderMinutesBeforeStart, responseRequested, responseStatus, allowNewTimeProposals, hideAttendees, isCancelled, isDraft, originalStart, originalStartTimeZone, originalEndTimeZone, transactionId, cancelledOccurrences. Note: 'creator' is NOT a valid field - use 'organizer' instead to get the event creator/organizer. Invalid field names will be automatically filtered out. |
| `orderby` | array | No | List of properties to sort results by. Each item is a string like 'start/dateTime desc' or 'subject asc'. MUST be provided as a list, even for single sort criteria. Use 'asc' (default) or 'desc' for order. IMPORTANT: Use calendar event properties ONLY. Do NOT use mail/message properties like 'receivedDateTime' (which is for emails only). Valid sortable datetime fields: 'start/dateTime', 'end/dateTime', 'createdDateTime', 'lastModifiedDateTime'. Invalid mail properties will be auto-corrected to 'start/dateTime'. |
| `user_id` | string | No | Email address of the target user (or 'me' for authenticated user), identifying the calendar for event listing. |
| `timezone` | string | No | Preferred timezone for event start/end times. Accepts IANA format (e.g., 'America/New_York', 'Europe/London', 'Indian/Mauritius', 'Asia/Tokyo') or Windows format (e.g., 'Eastern Standard Time', 'Pacific Standard Time'). Placeholder patterns like '<REGION>/London' are auto-resolved to valid IANA timezones (e.g., 'Europe/London') where the city can be matched. Falls back to 'UTC' only if the timezone cannot be resolved. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. Not available together with expand_recurring_events. |
| `calendar_id` | string | No | Optional ID of a specific calendar to retrieve events from. If not provided, uses the default calendar. Get calendar IDs using LIST_CALENDARS action. IMPORTANT: Do NOT use 'primary' or 'default' as values - these are not valid calendar IDs in Microsoft Graph. Leave this field empty/null to access the default calendar. Useful for accessing secondary calendars, shared calendars, or team calendars. |
| `expand_recurring_events` | boolean | No | When true, automatically expands recurring events to show actual occurrences within the filtered date range instead of series masters. When false (default), returns series masters as before. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label stored on each calendar event. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity label. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Files

**Slug:** `MICROSOFT_365_LIST_FILES`

List files and folders in a drive root or specified path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (maps to $top OData query parameter). |
| `path` | string | No | Optional folder path under root to list. E.g., 'Documents'. Must be a folder path, not a file path. |
| `drive_id` | string | No | ID of the drive (use 'me' for the user's default drive) |
| `skip_token` | string | No | Opaque pagination token from a previous response's next_link ($skiptoken value). Pass this to fetch the next page of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Folder Children

**Slug:** `MICROSOFT_365_LIST_FOLDER_CHILDREN`

List the direct children (files/folders) of a OneDrive/SharePoint folder by DriveItem ID or path. Returns reliable pagination tokens for large folders. Use when you need to enumerate folder contents deterministically, find companion artifacts (e.g., .vtt/.docx files), or browse within a known folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page. Default is 200. |
| `expand` | array | No | List of relationships to expand in the response (e.g., ['thumbnails', 'permissions']). Use this to include related resources inline. |
| `select` | array | No | Comma-separated list of properties to include in the response (e.g., ['id', 'name', 'size']). |
| `orderby` | string | No | Sort results by specified properties (e.g., 'name', 'lastModifiedDateTime desc'). |
| `site_id` | string | No | If provided, uses /sites/{site-id}/drive/... route for SharePoint sites. |
| `drive_id` | string | No | The ID of the drive. Required unless using 'use_me_drive' or 'site_id' is provided. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `folder_path` | string | No | Path relative to the drive root (e.g., '/', '/Recordings', '/Documents/Project'). Use '/' to list the root folder's children. Alternative to 'folder_item_id'. |
| `use_me_drive` | boolean | No | If true, uses /me/drive/... route for the authenticated user's personal OneDrive. |
| `folder_item_id` | string | No | The ID of the folder (DriveItem) to list children from. Supports both simple item IDs (e.g., '01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K') and drive-qualified item IDs with '!' separator (e.g., 'driveId!itemId' format commonly returned from search results or shared item listings). When a drive-qualified ID is detected, the drive portion is automatically extracted and used in the API request. Note: The 'driveId!itemId' pattern is based on observed OneDrive API behavior and may not be explicitly documented. Required unless 'folder_path' is provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group application role assignments

**Slug:** `MICROSOFT_365_LIST_GROUP_APP_ROLE_ASSIGNMENTS`

List application roles granted to a Microsoft Entra group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum application role assignments to return on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated application role assignment properties to return. |
| `group_id` | string | Yes | Microsoft Entra group ID whose application role assignments to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group calendar events

**Slug:** `MICROSOFT_365_LIST_GROUP_CALENDAR_EVENTS`

List events from a Microsoft 365 group's calendar with OData filtering, ordering, selection, and pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum calendar events to return on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter expression for calendar events. |
| `prefer` | string | No | Microsoft Graph response preferences, such as 'outlook.timezone="Pacific Standard Time"', 'outlook.body-content-type="text"', or both comma-separated. |
| `select` | string | No | Comma-separated event properties to return. |
| `orderby` | string | No | Comma-separated event properties and directions used to order results. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group conversations

**Slug:** `MICROSOFT_365_LIST_GROUP_CONVERSATIONS`

List conversation summaries in a Microsoft 365 group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No | OData $filter expression for conversation properties supported by Microsoft Graph. |
| `select` | string | No | Conversation properties to return. Pass a list or a comma-separated string; both become one OData $select value. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group conversation threads

**Slug:** `MICROSOFT_365_LIST_GROUP_CONVERSATION_THREADS`

List threads contained in one Microsoft 365 group conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated conversation-thread fields to return (OData $select). |
| `group_id` | string | Yes | Opaque ID of the Microsoft 365 group. |
| `conversation_id` | string | Yes | Opaque ID of the group conversation whose threads to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group drive folder contents

**Slug:** `MICROSOFT_365_LIST_GROUP_DRIVE_ITEM_CHILDREN`

List files and folders inside a Microsoft 365 group drive folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum drive items to return on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Comma-separated drive item relationships to include. |
| `select` | string | No | Comma-separated drive item properties to return. |
| `item_id` | string | Yes | Drive folder item ID whose children to list. |
| `orderby` | string | No | Comma-separated drive item properties and directions used to order results. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group members

**Slug:** `MICROSOFT_365_LIST_GROUP_MEMBERS`

List direct directory members of a Microsoft 365 group with optional selected fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum group members to return on this page (1-999). |
| `count` | boolean | No | Whether to include the total member count in the Graph response. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Relationship to expand. Cannot be combined with filter, search, or count. |
| `filter` | string | No | OData filter for member properties. Uses eventual consistency. |
| `search` | string | No | Search expression for member displayName or description. |
| `select` | string | No | Comma-separated directory object fields to return. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group notebooks

**Slug:** `MICROSOFT_365_LIST_GROUP_NOTEBOOKS`

List OneNote notebooks owned by a Microsoft 365 group or Teams team. Use this with a group or team ID, including IDs returned by List joined teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top page size. Default is 10; maximum is 100. Microsoft Graph OneNote notebook lists can return a truncated page without @odata.nextLink; use skip with top to request later slices when nextLink is absent. |
| `skip` | integer | No | OData $skip count for client-side pagination. Use this with top when Microsoft Graph does not return @odata.nextLink. |
| `count` | boolean | No | Set OData $count=true to ask Microsoft Graph for @odata.count. |
| `expand` | array | No | OData $expand navigation properties. Valid notebook expansions are sections and sectionGroups. |
| `filter` | string | No | OData $filter expression for notebook properties. |
| `select` | array | No | OData $select notebook properties, such as id,displayName,sectionsUrl,sectionGroupsUrl,isShared,userRole. |
| `orderby` | array | No | OData $orderby properties. Microsoft Graph defaults notebook lists to name ascending. |
| `group_id` | string | Yes | The Microsoft 365 group ID. Microsoft Teams team IDs are also Microsoft 365 group IDs, so values returned by LIST_JOINED_TEAMS can be passed here. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData query parameters. The OneNote notebooks API may not return nextLink for small top-limited responses; use top and skip in that case. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List notebook section groups

**Slug:** `MICROSOFT_365_LIST_GROUP_NOTEBOOK_SECTION_GROUPS`

Retrieves a list of section groups from the specified notebook within a Microsoft 365 group. Use this action to retrieve a page of section groups in a group-owned OneNote notebook to understand its structure or find a specific section group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of items to return in the collection. Default is 10, maximum is 100. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of navigation properties to expand (e.g., sections, sectionGroups, parentNotebook, parentSectionGroup). |
| `filter` | string | No | OData filter expression to filter the results. |
| `select` | array | No | Comma-separated list of section group properties to include in the response. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Default order is name ascending. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook within the group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List pages from a group notebook section

**Slug:** `MICROSOFT_365_LIST_GROUP_NOTEBOOK_SECTION_PAGES`

Compatibility alias for listing a page of OneNote pages from a specific section within a notebook in a Microsoft 365 group. Prefer the canonical ListOnenoteGroupSectionsPages4 action for new calls. Use this action when you need to retrieve a page of pages from a known section in a group notebook. This action accesses pages directly through the section path without going through section groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | Comma-separated list of page properties to include in the response. Valid properties include: id, self, title, createdDateTime, lastModifiedDateTime, contentUrl, createdByAppId, level, order, links. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Default order is lastModifiedDateTime descending. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `page_size` | integer | No | The number of pages to return per request. Default is 10, maximum is 100. |
| `pagelevel` | boolean | No | Set to true to include each page's level and order in its section. |
| `section_id` | string | Yes | The direct OneNote section ID; it is unique without the legacy notebook ID. |
| `notebook_id` | string | No | Deprecated and ignored. The section ID uniquely identifies the section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group notebook sections

**Slug:** `MICROSOFT_365_LIST_GROUP_NOTEBOOK_SECTIONS`

List one result page of sections directly contained in a specified Microsoft 365 group OneNote notebook; while has_more is true, pass next_cursor back as cursor to continue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of sections to return (1-100). |
| `skip` | integer | No | Number of matching sections to skip. |
| `count` | boolean | No | Include the total collection count. |
| `cursor` | string | No | Opaque cursor returned by a previous call. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | array | No | Parent relationships to expand. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Section properties to return, such as `id`, `displayName`, or `createdDateTime`. |
| `orderby` | array | No | OData ordering expressions, such as `displayName asc`. The default order is name ascending. |
| `group_id` | string | Yes | Microsoft 365 group ID. |
| `notebook_id` | string | Yes | OneNote notebook ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group owners

**Slug:** `MICROSOFT_365_LIST_GROUP_OWNERS`

List owners of a Microsoft 365 group with optional projected directory fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum group owners to return on this page (1-999). |
| `count` | boolean | No | Whether to include the total owner count in the Graph response. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Relationship to expand. Cannot be combined with filter, search, or count. |
| `filter` | string | No | OData filter for owner properties. Uses eventual consistency. |
| `search` | string | No | Search expression for owner displayName or description. |
| `select` | string | No | Comma-separated directory object fields to return. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group OneNote pages

**Slug:** `MICROSOFT_365_LIST_GROUP_PAGES`

Lists a paginated collection of OneNote pages from a Microsoft 365 group. Use this action to retrieve a page of OneNote pages within a Microsoft 365 group. Supports pagination via page_size. The default page size is 10 and maximum is 100. Results are ordered by lastModifiedDateTime descending by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | string | No | List of relationships to expand. A legacy comma-separated string is also accepted. Valid values: parentSection and parentNotebook. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | List of page properties to include in the response. Common values: 'id', 'title', 'createdDateTime', 'lastModifiedDateTime'. |
| `orderby` | array | No | List of properties to order results by. Common values: 'createdDateTime', 'lastModifiedDateTime', 'title'. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `page_size` | integer | No | The number of pages to return per request. Defaults to 10. Maximum is 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group Planner plans

**Slug:** `MICROSOFT_365_LIST_GROUP_PLANNER_PLANS`

List one page of Microsoft Planner plans owned by a Microsoft 365 group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of Planner plans to return. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated Planner plan properties to return, such as id,title,owner,createdDateTime. |
| `group_id` | string | Yes | Microsoft 365 group ID that owns the Planner plans. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group post attachments

**Slug:** `MICROSOFT_365_LIST_GROUP_POST_ATTACHMENTS`

List attachments on one Microsoft 365 group conversation post. Requires a Group-Conversation.* or Group.* scope, which is not in Outlook's default scopes; the connection must grant it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Attachment relationship to include (OData $expand). |
| `select` | string | No | Attachment properties to return as a list or comma-separated string (OData $select). |
| `post_id` | string | Yes | Conversation post ID whose attachments to list. |
| `group_id` | string | Yes | Microsoft 365 group ID containing the conversation post. |
| `thread_id` | string | Yes | Conversation thread ID containing the post. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back next_page_token unmodified. Do not construct or edit it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group root section groups

**Slug:** `MICROSOFT_365_LIST_GROUP_ROOT_SECTION_GROUPS`

List section groups at the root of a Microsoft 365 group's OneNote hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned section group. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group root sections

**Slug:** `MICROSOFT_365_LIST_GROUP_ROOT_SECTIONS`

List sections at the root of a Microsoft 365 group's OneNote hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned section. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `group_id` | string | Yes | Microsoft 365 group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List directory groups

**Slug:** `MICROSOFT_365_LIST_GROUPS`

Search and list Microsoft Entra groups with OData filtering, projection, ordering, and pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of groups requested on this page (1-999). |
| `count` | boolean | No | Whether to include the total number of matching groups. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Comma-separated group relationships to expand in the response. |
| `filter` | string | No | OData filter expression applied to directory groups. |
| `search` | string | No | Search expression for group properties, such as "displayName:Sales". |
| `select` | string | No | Comma-separated group properties to return. |
| `orderby` | string | No | Comma-separated group properties and directions used to order results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group section group section groups

**Slug:** `MICROSOFT_365_LIST_GROUP_SECTION_GROUPS_SECTION_GROUPS2`

Lists a paginated collection of nested section groups from a specified parent section group within a Microsoft 365 group's OneNote notebook. Use this action when you need to retrieve the nested section groups within a section group in a group context to navigate the OneNote notebook hierarchy. This action supports OData query parameters for filtering, sorting, pagination, and expanding related entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of items to return in the collection. Default is 10. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of relationships to expand. Valid values: sections, sectionGroups, parentNotebook, parentSectionGroup. |
| `filter` | string | No | OData filter expression to apply. Example: displayName eq 'My Section Group'. |
| `select` | array | No | Comma-separated list of properties to select. Valid values: id, displayName, createdDateTime, lastModifiedDateTime, sectionsUrl, sectionGroupsUrl, self. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Example: displayName asc. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `section_group_id` | string | Yes | The unique identifier of the parent section group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List section group sections

**Slug:** `MICROSOFT_365_LIST_GROUP_SECTION_GROUPS_SECTIONS`

Lists a paginated collection of OneNote sections from a section group within a Microsoft 365 group's OneNote. Use this action when you need to retrieve the sections contained within a section group in a group-owned OneNote notebook. Supports pagination and filtering via OData query parameters. This is a read-only operation that retrieves existing sections without modifying any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of sections to return per request. Defaults to 10. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of relationships to expand. Valid values: parentNotebook, parentSectionGroup. |
| `filter` | string | No | OData filter expression to apply to filter results. Example: displayName eq 'My Section'. |
| `select` | array | No | Comma-separated list of section properties to include in the response. Valid values: id, displayName, createdDateTime, lastModifiedDateTime, isDefault, pagesUrl, self, createdBy, lastModifiedBy. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Example: displayName asc. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `section_group_id` | string | Yes | The unique identifier of the section group within the group's OneNote. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List pages from a group section

**Slug:** `MICROSOFT_365_LIST_GROUP_SECTIONS_PAGES4`

Canonical action for listing a paginated collection of OneNote pages from a specific section in a Microsoft 365 group. Use this action when you need to retrieve a page of pages from a known section in a group notebook without specifying the notebook ID. This action supports pagination, filtering, sorting, and relationship expansion via OData query parameters. Note: This action is read-only and does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of relationships to expand. Use 'parentSection' or 'parentNotebook' to include parent details. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | List of page properties to include in the response. Common values: 'id', 'title', 'createdDateTime', 'lastModifiedDateTime', 'contentUrl', 'createdByAppId', 'level', 'order', 'links'. |
| `orderby` | array | No | List of properties to order results by. Common values: 'createdDateTime', 'lastModifiedDateTime', 'title'. |
| `group_id` | string | Yes | The unique identifier of the Microsoft 365 group. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `page_size` | integer | No | The number of pages to return per request. Defaults to 10. Maximum is 100. |
| `pagelevel` | boolean | No | Set to true to include each page's level and order in its section. |
| `section_id` | string | Yes | The unique identifier of the OneNote section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group team channels (Deprecated)

**Slug:** `MICROSOFT_365_LIST_GROUP_TEAM_CHANNELS`

DEPRECATED: Use MICROSOFT_TEAMS_LIST_CHANNELS instead. Tool to list channels from a group's associated team. Use when you have a group ID and need to retrieve its team's channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Skip the first n items when retrieving channels. |
| `count` | boolean | No | Include count of items in the response. When true, adds @odata.count with total number of channels. |
| `expand` | string | No | Expand related entities. Comma-separated list of relationships to include inline in the response. |
| `filter` | string | No | Filter items by property values. Use OData filter syntax (e.g., 'membershipType eq 'standard''). |
| `search` | string | No | Search items by search phrases. Use OData search syntax to find channels matching search criteria. |
| `select` | string | No | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,description'). |
| `orderby` | string | No | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc' (e.g., 'displayName asc'). |
| `group_id` | string | Yes | The unique identifier (GUID) of the group. This is the group ID, not the team ID. Use this to list channels for a group's associated team. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier(s) (group_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Group Team Operations

**Slug:** `MICROSOFT_365_LIST_GROUP_TEAM_OPERATIONS`

Tool to list operations on a group's team. Use when you need to retrieve all async operations (such as team creation, archiving, channel creation) for a specific group's team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the group. This is the group ID (GUID) whose team operations you want to retrieve. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (group_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outlook group threads

**Slug:** `MICROSOFT_365_LIST_GROUP_THREADS`

List conversation threads in a Microsoft 365 group with OData controls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of threads to return (OData $top). |
| `skip` | integer | No | Number of threads to skip (OData $skip). |
| `filter` | string | No | OData filter expression used to restrict returned threads. |
| `select` | string | No | Thread fields to return as a list or comma-separated string (OData $select). |
| `orderby` | string | No | OData ordering expression, such as 'lastDeliveredDateTime desc'. |
| `group_id` | string | Yes | Microsoft 365 group ID whose conversation threads to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team incoming channels

**Slug:** `MICROSOFT_365_LIST_INCOMING_CHANNELS`

Tool to list incoming channels shared with a Microsoft Teams team. Use when you need to view channels from other teams that have been shared with this team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'membershipType eq "shared"' or 'startswith(displayName, "Sales")'). This is one of only two query parameters officially supported by the Microsoft Graph API for this endpoint. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,description'). This is one of only two query parameters officially supported by the Microsoft Graph API for this endpoint. |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). Use MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS to get team IDs. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/select params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Inference Classification Overrides

**Slug:** `MICROSOFT_365_LIST_INFERENCE_CLASSIFICATION_OVERRIDES`

Tool to list inference classification overrides that control Focused Inbox sender rules. Use when you need to see which senders are configured to always appear in Focused or Other inbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of overrides to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `user_id` | string | No | The user's unique identifier or 'me' for the authenticated user. Use 'me' to get overrides for your own mailbox, or specify a user ID/email for delegated access. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List installed apps in team

**Slug:** `MICROSOFT_365_LIST_INSTALLED_APPS`

Tool to list apps installed in a Microsoft Teams team. Use when you need to retrieve the collection of apps installed in a specific team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. Supports 'teamsApp', 'teamsAppDefinition'. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'teamsApp/externalId eq \'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee\''). |
| `search` | string | No | Search items by search phrases. Use this to find apps by keywords in their name or description. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,consentedPermissionSet'). |
| `orderby` | string | No | Order items by property values (e.g., 'displayName' or 'displayName desc'). |
| `group_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams group/team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Item Activities

**Slug:** `MICROSOFT_365_LIST_ITEM_ACTIVITIES`

Tool to list recent activities for a specific item in a OneDrive drive. Use when you need to track changes or actions performed on a file or folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the driveItem. |
| `drive_id` | string | Yes | The unique identifier of the drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List joined teams

**Slug:** `MICROSOFT_365_LIST_JOINED_TEAMS`

List Microsoft Teams that a user is a direct member of. Use this to get team IDs, which are also Microsoft 365 group IDs, before listing group-owned OneNote notebooks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID or user principal name whose joined teams should be listed. Use 'me' for the authenticated user. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. The joinedTeams API does not support custom OData query parameters, but nextLink can be used if Graph paginates the result. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List license details

**Slug:** `MICROSOFT_365_LIST_LICENSE_DETAILS`

List the authenticated user's assigned Microsoft product licenses and service plans.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | License detail properties to return. Pass a list or comma-separated string; both are sent as one OData $select value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Linked Resources

**Slug:** `MICROSOFT_365_LIST_LINKED_RESOURCES`

List external resources linked to a Microsoft To Do task. Auto-paginates the task's small linked-resource collection and returns all items at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task whose linked resources to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Columns

**Slug:** `MICROSOFT_365_LIST_LIST_COLUMNS`

List column definitions for a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Content Types

**Slug:** `MICROSOFT_365_LIST_LIST_CONTENT_TYPES`

List content types for a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Item Delta

**Slug:** `MICROSOFT_365_LIST_LIST_ITEM_DELTA`

Track changes to SharePoint list items using Microsoft Graph delta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `token` | string | No | Optional delta token from a previous Microsoft Graph deltaLink. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Item Permissions

**Slug:** `MICROSOFT_365_LIST_LIST_ITEM_PERMISSIONS`

Get one page of permissions associated with a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top number of permissions to request. |
| `count` | boolean | No | Whether to request the total count with OData $count. |
| `filter` | string | No | OData $filter expression restricting returned permissions. |
| `select` | string | No | OData $select expression specifying permission properties. |
| `item_id` | string | Yes | ID of the list item. |
| `list_id` | string | Yes | ID of the SharePoint list. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `page_token` | string | No | Opaque next_page_token from this action's previous response. Pass it unmodified with the same site, list, and item IDs to fetch one more page. Query options need not be repeated; the token carries them. Omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Items

**Slug:** `MICROSOFT_365_LIST_LIST_ITEMS`

List one page of items in a SharePoint list. Use the returned continuation token to retrieve further pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. To filter on a list item's field/column values (for example fields/Title), you must also pass expand='fields' — Microsoft Graph requires $expand=fields when filtering on listItem field properties. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `honor_non_indexed_queries` | boolean | No | Send the 'Prefer: HonorNonIndexedQueriesWarningMayFailRandomly' header so $filter/$orderby on non-indexed SharePoint columns are honored instead of returning HTTP 400. May fail randomly on large lists (>5000 items / List View Threshold). Auto-enabled when filter/orderby is set; set false to suppress. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Item Versions

**Slug:** `MICROSOFT_365_LIST_LIST_ITEM_VERSIONS`

List one page of versions for a SharePoint list item. Use the returned continuation token to retrieve further pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID or list display name. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Permissions

**Slug:** `MICROSOFT_365_LIST_LIST_PERMISSIONS`

List one page of permissions associated with a SharePoint list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top number of permissions to return. |
| `count` | boolean | No | OData $count: whether to request the total permission count. |
| `filter` | string | No | OData $filter expression. |
| `select` | string | No | OData $select: comma-separated permission properties to return. |
| `list_id` | string | Yes | ID of the SharePoint list. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `page_token` | string | No | Opaque next_page_token from a previous response. Omit for the first page; pass back unmodified with the same site and list IDs to fetch one more page. The token carries the original query parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Lists

**Slug:** `MICROSOFT_365_LIST_LISTS`

List one page of SharePoint lists in a site. Use the returned continuation token to retrieve further pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List mail folder message attachments

**Slug:** `MICROSOFT_365_LIST_MAIL_FOLDER_MESSAGE_ATTACHMENTS`

Tool to get attachments from a message in a specific mail folder. Use when you need to retrieve attachment metadata from a message located in a particular folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachments to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `user_id` | string | No | The user ID or principal name (email) of the user mailbox to access. Required for app-only (S2S) authentication. Use 'me' or omit for delegated authentication. Example: '43f0c14d-bca8-421f-b762-c3d8dd75be1f' or 'user@domain.com' |
| `message_id` | string | Yes | The unique identifier of the email message from which to retrieve attachments. Must be a message ID obtained from OUTLOOK_LIST_MESSAGES or OUTLOOK_SEARCH_EMAILS. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |
| `response_detail` | string ("minimal" | "full") | No | Level of detail in the response. 'minimal' (default) returns only attachment metadata (id, name, size, contentType, etc.) for efficient listing. 'full' includes the base64-encoded file content (contentBytes) for downloading. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List mail folder message rules

**Slug:** `MICROSOFT_365_LIST_MAIL_FOLDER_MESSAGE_RULES`

Tool to list message rules for a specific mail folder. Use when you need to retrieve rules configured for a particular folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of message rules to return. Default is all rules if not specified. |
| `skip` | integer | No | Number of rules to skip before returning results. Use with 'top' for offset-based pagination. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder from which to retrieve message rules. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List mail folder messages

**Slug:** `MICROSOFT_365_LIST_MAIL_FOLDER_MESSAGES`

Compatibility action that lists messages directly contained in one specified mail folder. It does not recursively include messages from descendant folders. Prefer OUTLOOK_LIST_MESSAGES for new calls; use this action only when its $expand support is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to return per request (1-1000). To page through more, use the `next_page_token` from the response (pass it back as `page_token`). |
| `skip` | integer | No | Number of messages to skip from the beginning of the result set, for pagination. |
| `expand` | array | No | List of message navigation properties to include inline using OData $expand. Use Graph expansion expressions such as 'attachments' or 'attachments($select=id,name,size,contentType,isInline)'. Regular message properties belong in select, not expand. |
| `filter` | string | No | OData $filter query to filter messages. CRITICAL: String literals MUST use single quotes ('), not double quotes ("). Examples: 'isRead eq false', 'from/emailAddress/address eq 'sender@example.com'', 'receivedDateTime ge 2023-01-01T00:00:00Z', 'hasAttachments eq true'. IMPORTANT: Complex filters (multiple 'contains()' operations, OR clauses, or nested properties like 'from/emailAddress/address') CANNOT be combined with 'orderby' - Microsoft Graph will reject such requests with InefficientFilter error. When using complex filters, you MUST either: (1) omit 'orderby' and sort results client-side, or (2) simplify the filter to basic equality/comparison operations. |
| `select` | array | No | List of message properties to include in the response. OData $select parameter. Valid properties include: id, subject, from, toRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId. |
| `orderby` | string | No | Property to sort results by with direction. OData $orderby parameter. Example: 'receivedDateTime desc' or 'subject asc'. IMPORTANT: Cannot be used with complex 'filter' queries (multiple 'contains()' operations, OR clauses, or nested properties like 'from/emailAddress/address') - Microsoft Graph will reject such combinations with InefficientFilter error. For complex filters, omit this parameter and sort results client-side. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder from which to retrieve messages. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names (e.g., 'workjournal') are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List mail folders

**Slug:** `MICROSOFT_365_LIST_MAIL_FOLDERS`

List a user's top-level Outlook mail folders with property projection, hidden-folder control, and paging. Use this to inspect the mailbox folder inventory or obtain folder IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page. |
| `skip` | integer | No | Number of items to skip before returning results. |
| `count` | boolean | No | Include total count of matching items in the response. |
| `filter` | string | No | OData filter expression to filter mail folders. String values must be enclosed in single quotes (e.g., displayName eq 'Inbox'). WARNING: Microsoft Graph API does not officially document which mailFolder properties support filtering. Known unsupported properties: parentFolderId (causes ErrorInvalidProperty error). To filter by parent folder, use the child folders endpoint instead: GET /me/mailFolders/{parentFolderId}/childFolders. Properties like isHidden may work but are not guaranteed. |
| `select` | string | No | MailFolder properties to include in the response. Pass a list (recommended) or a comma-separated string; both become one OData $select value. Valid properties: id, displayName, parentFolderId, childFolderCount, unreadItemCount, totalItemCount, isHidden. |
| `orderby` | string | No | Property to sort by, optionally followed by 'asc' or 'desc'. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `include_hidden_folders` | boolean | No | Include hidden mail folders (isHidden=true) when set to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List mail folders delta

**Slug:** `MICROSOFT_365_LIST_MAIL_FOLDERS_DELTA`

Retrieve incremental mail-folder changes for a mailbox using delta or continuation tokens. Deleted folder entries do not retain their deletion marker in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | OData query parameter to specify only the properties needed for best performance. Comma-separated list of properties (e.g., 'id,displayName,parentFolderId'). The 'id' property is always returned. |
| `user_id` | string | No | Identifier for the user whose mailbox changes to track. Use 'me' for the authenticated user or provide the user's principal name or ID. |
| `skiptoken` | string | No | A state token returned in the @odata.nextLink URL of the previous delta function call, indicating there are further changes to be tracked in the same round. |
| `deltatoken` | string | No | A state token returned in the @odata.deltaLink URL of the previous delta function call, indicating the completion of that round of change tracking. Include this to get changes since the last complete sync. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List master categories

**Slug:** `MICROSOFT_365_LIST_MASTER_CATEGORIES`

Deprecated: Use OUTLOOK_GET_MASTER_CATEGORIES instead, which adds pagination (top/skip), filtering, field selection, and sorting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for the signed-in user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar permissions

**Slug:** `MICROSOFT_365_LIST_ME_CALENDAR_PERMISSIONS`

List sharing permissions and permission levels for a specific user's default calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permissions to return (OData $top parameter). |
| `skip` | integer | No | Number of permissions to skip (OData $skip parameter). |
| `user_id` | string | Yes | User ID or userPrincipalName of the user whose calendar permissions to list. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List meeting attendance reports

**Slug:** `MICROSOFT_365_LIST_MEETING_ATTENDANCE_REPORTS`

List up to the 50 most recent attendance-report summaries available for a Microsoft Teams online meeting organized by the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of reports requested on this page. |
| `skip` | integer | No | Number of reports to skip before returning results. |
| `count` | boolean | No | Whether Microsoft Graph should include the result count. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | array | No | Related resources to include. |
| `filter` | string | No | OData filter expression applied to attendance reports. |
| `search` | string | No | Microsoft Graph search expression for attendance reports. |
| `select` | array | No | Attendance-report properties to return. |
| `order_by` | array | No | OData ordering expressions. |
| `meeting_id` | string | Yes | Online meeting ID returned by a Microsoft Teams meeting action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List meeting recordings

**Slug:** `MICROSOFT_365_LIST_MEETING_RECORDINGS`

List recordings for a scheduled, non-expired Microsoft Teams online meeting. Returns recording metadata, including IDs needed by the recording-content action. Microsoft Graph excludes live events and documents that meetings created with create onlineMeeting without an associated calendar event are unsupported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top parameter for limiting results. Maximum value is 100. Defaults to 25 for optimal performance. |
| `filter` | string | No | OData $filter parameter for filtering results. Use OData syntax with fields supported by Microsoft Graph for callRecording. |
| `select` | string | No | OData $select parameter for field selection. Comma-separated list of properties to return (e.g., 'id,createdDateTime,meetingOrganizer,recordingContentUrl'). |
| `user_id` | string | No | The user ID or user principal name (UPN) associated with the meeting. For delegated connections, omit this field or use 'me' for the signed-in user. For app-only connections, provide a specific user ID or UPN. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `online_meeting_id` | string | Yes | The online meeting ID. Provide the raw value; this action URL-encodes it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List meeting transcripts

**Slug:** `MICROSOFT_365_LIST_MEETING_TRANSCRIPTS`

List transcript records for a Microsoft Teams online meeting, including metadata such as creation time, meeting organizer, and content URL. Results are returned page by page using a continuation token when available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top parameter for limiting results. Maximum value is 100. Defaults to 25 for optimal performance. |
| `filter` | string | No | OData $filter parameter for filtering results. Use OData syntax with fields supported by Microsoft Graph for callTranscript. |
| `select` | string | No | OData $select parameter for field selection. Comma-separated list of properties to return (e.g., 'id,createdDateTime,meetingOrganizer,transcriptContentUrl'). |
| `user_id` | string | Yes | The user ID or user principal name (UPN). Provide the raw value; this action URL-encodes it. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `online_meeting_id` | string | Yes | The online meeting ID. Provide the raw value; this action URL-encodes it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List me event instances (Deprecated)

**Slug:** `MICROSOFT_365_LIST_ME_EVENT_INSTANCES`

DEPRECATED: Use OUTLOOK_LIST_EVENT_INSTANCES instead. Tool to retrieve individual occurrences of a recurring calendar event within a specified time range. Use when you need to get specific instances of a recurring meeting or event series from the authenticated user's primary calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of event instances to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Number of event instances to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `event_id` | string | Yes | The unique identifier of the recurring event (seriesMaster) for which to retrieve instances. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `end_date_time` | string | Yes | The end date and time of the time range in ISO 8601 format (e.g., 2026-05-01T00:00:00Z). Only instances that start within or overlap this range will be returned. |
| `start_date_time` | string | Yes | The start date and time of the time range in ISO 8601 format (e.g., 2026-03-01T00:00:00Z). Only instances that start within or overlap this range will be returned. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Calendars.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List pages in section

**Slug:** `MICROSOFT_365_LIST_ME_SECTIONS_PAGES4`

Retrieves a list of OneNote pages from a specific section for the current user. Use this action when you need to retrieve a page of pages from a specific section in the current user's OneNote notebook. This action supports pagination, filtering, sorting, and relationship expansion via OData query parameters. The default query returns up to 10 pages. Note: This action is read-only and does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of relationships to expand. Use 'parentSection' or 'parentNotebook' to include parent details. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | List of page properties to include in the response. Common values: 'id', 'title', 'createdDateTime', 'lastModifiedDateTime', 'contentUrl'. |
| `orderby` | array | No | List of properties to order results by. Common values: 'createdDateTime', 'lastModifiedDateTime', 'title'. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `page_size` | integer | No | The number of pages to return per request. Defaults to 10. Maximum is 100. |
| `pagelevel` | boolean | No | Set to true to include each page's level and order in its section. |
| `section_id` | string | Yes | The unique identifier of the OneNote section. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List message attachments from child folder

**Slug:** `MICROSOFT_365_LIST_MESSAGE_ATTACHMENTS_FROM_CHILD_FOLDER`

Tool to list attachments from a message in a nested child mail folder. Use when you need to retrieve attachment metadata from a message located in a subfolder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional OData $top limit on the number of attachments to return. This endpoint returns the full attachment collection in a single response (no continuation cursor), so this is only an explicit cap. |
| `filter` | string | No | OData $filter query to filter attachments. Examples: 'size gt 1000000', 'isInline eq false', 'contentType eq "application/pdf"'. |
| `select` | string | No | Comma-separated list of attachment properties to include. Valid properties: id, name, contentType, size, isInline, lastModifiedDateTime. Example: 'id,name,size'. |
| `user_id` | string | No | User's id, userPrincipalName, or 'me' for the signed-in user. |
| `message_id` | string | Yes | The unique identifier of the email message from which to retrieve attachments. Must be a message ID obtained from list or search operations, not a folder ID. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Valid well-known names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For custom folders, use the base64-encoded folder ID from OUTLOOK_LIST_MAIL_FOLDERS. |
| `child_folder_id` | string | Yes | The ID of the child folder containing the message. Must be a valid folder ID (base64-encoded string) obtained from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List channel message replies

**Slug:** `MICROSOFT_365_LIST_MESSAGE_REPLIES`

List replies to a specific message in a Microsoft Teams channel. Results are returned page by page using a continuation token when available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Useful for pagination and limiting result size. |
| `skip` | integer | No | Skip the first n items. Used for pagination to retrieve items beyond the initial set. |
| `count` | boolean | No | Include count of items in the response. When true, adds a total count of matching replies. |
| `expand` | string | No | Expand related entities to include additional data. |
| `filter` | string | No | Filter items by property values using OData syntax. Example: "messageType eq 'message'" or "from/user/displayName eq 'John'" |
| `search` | string | No | Search items by search phrases. Use this to find replies containing specific keywords or phrases. |
| `select` | string | No | Select specific properties to be returned (comma-separated). Example: 'id,body,from,createdDateTime' |
| `orderby` | string | No | Order items by property values. Example: 'createdDateTime desc' or 'lastModifiedDateTime' |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. |
| `channel_id` | string | Yes | Unique identifier of the channel within the team. |
| `message_id` | string | Yes | Unique identifier of the parent message for which to retrieve replies. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Messages

**Slug:** `MICROSOFT_365_LIST_MESSAGES`

List or query Outlook messages in one folder (Inbox by default) or across the mailbox, with filters, search, field selection, sorting, and pagination. Some filters apply after each page is fetched, so empty pages can precede further results; search drops server-side filters, sorting, and offset.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to return per request (1-1000). To page through more, use the `next_page_token` from the response (pass it back as `page_token`), repeating until it is absent. For large mailboxes (1000+ messages), always paginate. |
| `skip` | integer | No | Number of messages to skip from the beginning of the result set, for pagination. |
| `filter` | string | No | Raw OData $filter expression for server-side message filtering, for example "sentDateTime ge 2026-01-01T00:00:00Z". Use this for sentDateTime ge/le and conditions not covered by the simple filter parameters. If both are provided, this expression and the simple filters are combined with 'and'. Quote strings and enums with single quotes and double embedded apostrophes, for example subject eq 'Bob''s update'. Do not quote booleans or dates. Valid quoted DateTimeOffset literals are unquoted automatically only for receivedDateTime and sentDateTime. Do not combine filter with search. When using orderby, start filter with every sort property in the same order. Prefer from_address over a raw from/emailAddress/address filter when sorting because Graph can reject the nested filter as InefficientFilter; provider rejections are retried without sorting and reported in composio_execution_message. |
| `folder` | string | No | ID or well-known name of the mail folder. Well-known names (case-insensitive): archive, clutter, conflicts, conversationhistory, deleteditems, drafts, inbox, junkemail, localfailures, msgfolderroot, outbox, recoverableitemsdeletions, scheduled, searchfolders, sentitems, serverfailures, syncissues. Use 'allfolders' to search across all mail folders (uses /messages endpoint without folder filter). Or use a valid folder ID (base64-like string, e.g., 'AAMkAGI0ZjExAAA='). Accepts both raw folder IDs and percent-encoded folder IDs (with %XX sequences). |
| `search` | string | No | Full-text search query using Microsoft Graph $search syntax. Searches across subject, body, and sender fields server-side. Cannot be combined with filter, orderby, or skip; those parameters are omitted when search is set. Example: 'budget report' or 'from:john@example.com' |
| `select` | array | No | Message properties to include. Accepts a list of strings or a comma-separated string (e.g., 'id,subject,from'). Valid properties: id, subject, from, toRecipients, ccRecipients, bccRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId, conversationIndex, flag, internetMessageHeaders, parentFolderId, replyTo, sender, webLink, isDraft, isReadReceiptRequested, isDeliveryReceiptRequested, changeKey, createdDateTime, lastModifiedDateTime, inferenceClassification, internetMessageId. Note: attachments is not selectable. |
| `is_read` | boolean | No | Filter by read status: 'true' for read, 'false' for unread. Unspecified means no filter by read status. |
| `orderby` | array | No | Properties to sort by, such as 'receivedDateTime desc'. Default is 'receivedDateTime desc'. When combined with filter, every orderby property must also appear first in filter in the same order; for example filter='sentDateTime ge 2026-01-01T00:00:00Z' requires orderby=['sentDateTime desc']. The action reorders its simple filter clauses when the sort property is already filtered. If Graph rejects a filter/order combination as InefficientFilter, the action retries without sorting and reports that fallback. |
| `subject` | string | No | Filter by exact match of the subject line. Special characters like apostrophes, brackets will be automatically escaped. For complex subject searches, consider using 'Search Messages' instead. |
| `user_id` | string | No | Target user's email or 'me' for authenticated user. For delegated access, use shared mailbox or delegated user's email. |
| `categories` | array | No | Filter by categories (case-sensitive); matches if tagged with any specified category. |
| `importance` | string | No | Filter by importance: 'low', 'normal', or 'high'. |
| `page_token` | string | No | Opaque continuation token for fetching the next page. Omit it for the first page; then pass back the `next_page_token` from the previous response, unmodified, repeating until it is absent. Do not construct or edit this value. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and paging params need not be repeated; the token carries them. |
| `from_address` | string | No | Filter by the sender's exact email address. NOTE: This filter is applied client-side on the returned results, not server-side. |
| `conversation_id` | string | No | Filter messages by conversation ID to retrieve all messages in a specific email thread. NOTE: This filter is applied client-side on the returned results. |
| `has_attachments` | boolean | No | Filter by attachment presence: 'true' for messages with attachments, 'false' for those without. NOTE: This filter is applied client-side on the returned results. |
| `response_detail` | string ("minimal" | "full") | No | Level of detail in the response. 'minimal' (default) applies a default $select projection that excludes the heavy 'body', 'uniqueBody', and 'internetMessageHeaders' fields to keep responses small — typical for listing/search use cases. 'full' returns the complete message payload from Microsoft Graph, including the full HTML body. Note: an explicit `select` list always wins over `response_detail` — pass select=['body','subject',...] to control the fields directly. |
| `subject_contains` | string | No | Filter messages where the subject contains the specified case-insensitive substring. NOTE: This filter is applied client-side on the returned results. For better performance, use 'Search Messages' instead. |
| `subject_endswith` | string | No | Filter messages where the subject ends with the specified case-insensitive string. NOTE: This filter is applied client-side on the returned results. For better performance, use 'Search Messages' instead. |
| `sent_date_time_gt` | string | No | Filter messages sent after this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-01-10T14:30:00Z. For inclusive ge/le comparisons, use filter with an unquoted date literal. |
| `sent_date_time_lt` | string | No | Filter messages sent before this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-02-20T10:00:00Z. For inclusive ge/le comparisons, use filter with an unquoted date literal. |
| `subject_startswith` | string | No | Filter messages where the subject starts with the specified case-insensitive string. |
| `received_date_time_ge` | string | No | Filter messages received on or after this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-03-15T08:00:00Z. |
| `received_date_time_gt` | string | No | Filter messages received after this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-01-01T00:00:00Z. |
| `received_date_time_le` | string | No | Filter messages received on or before this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-03-31T23:59:59Z. |
| `received_date_time_lt` | string | No | Filter messages received before this ISO 8601 DateTimeOffset timestamp. Include a timezone, for example 2023-04-01T00:00:00Z. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Mail.Read or Mail.ReadWrite. Treat status unknown as fail-closed before using a message's content. The setting is preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List messages to yourself

**Slug:** `MICROSOFT_365_LIST_MESSAGES_TO_SELF`

List one page from your Microsoft Teams self-DM (the chat with yourself), so you can read personal notes without looking up any chat or user ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum personal-note messages to return on this page (1-50). |
| `cursor` | string | No | Continuation cursor from a previous page of your Teams personal notes. Omit for the first page and pass it back unchanged for the next page. |
| `filter` | string | No | Optional Microsoft Graph OData date filter without '$filter='. Use the same property as order_by; createdDateTime supports lt, while lastModifiedDateTime supports gt and lt. |
| `order_by` | string ("createdDateTime desc" | "lastModifiedDateTime desc") | No | Sort personal notes by creation or modification time, newest first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List my Planner plans

**Slug:** `MICROSOFT_365_LIST_MY_PLANNER_PLANS`

List one page of Planner plans shared with the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List my Planner tasks

**Slug:** `MICROSOFT_365_LIST_MY_PLANNER_TASKS`

List one page of Planner tasks assigned to the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Named Items

**Slug:** `MICROSOFT_365_LIST_NAMED_ITEMS`

List named items in a workbook using Microsoft Graph. If no session is supplied, the tool creates a nonpersistent workbook session before listing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the workbook. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. Use EXCEL_LIST_FILES or ONE_DRIVE_GET_DRIVE_ROOT to get the drive ID. |
| `session_id` | string | No | Optional session ID for the workbook. If not provided, a new session will be created automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List notification subscriptions

**Slug:** `MICROSOFT_365_LIST_NOTIFICATION_SUBSCRIPTIONS`

List Microsoft Graph webhook subscriptions visible to the caller.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List offer shift requests

**Slug:** `MICROSOFT_365_LIST_OFFER_SHIFT_REQUESTS`

List a page of offer shift requests in a Microsoft Teams team's schedule. Use the continuation token to retrieve subsequent pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'state eq "approved"'). |
| `search` | string | No | Search items by search phrases. Use this to find offer shift requests by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime'). |
| `orderby` | string | No | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List OneDrive drives

**Slug:** `MICROSOFT_365_LIST_ONEDRIVES`

Return one page of drives available to the signed-in user as the Microsoft Word toolkit's OneDrive-drive selector for DOCX workflows. Unlike GET_ACCOUNT_CONTEXT, this lists drives without returning identity context or selecting only the primary drive. Use LIST_SHAREPOINT_LIBRARIES for a specific SharePoint site's document libraries; general OneDrive file automation may use ONE_DRIVE_LIST_DRIVES instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by the prior page. Omit it for the first page and pass it back unchanged to continue. |
| `page_size` | integer | No | Maximum OneDrive drives to return on this page (1-200). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List OneDrive Shared Items

**Slug:** `MICROSOFT_365_LIST_ONEDRIVE_SHARED_ITEMS`

List files shared from other people's OneDrive accounts using Microsoft Graph Search match-all and a OneDrive-personal URL heuristic. This excludes SharePoint-site shares by design; use ONE_DRIVE_SEARCH_DRIVE_ITEMS for broad keyword/KQL search across OneDrive and SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | integer | No | Zero-based result offset for paging through the match-all search. |
| `size` | integer | No | Number of search results to inspect before filtering. |
| `fields` | array | No | Optional driveItem fields to return on each hit resource. webUrl and parentReference are always included because they are required to identify shared OneDrive-personal items. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user online meetings

**Slug:** `MICROSOFT_365_LIST_ONLINE_MEETINGS`

Look up a Microsoft Teams online meeting for a user by identifier. This is effectively a 'lookup-by-identifier' endpoint, NOT a general-purpose list or search. Microsoft Graph REQUIRES an OData $filter predicate on /me/onlineMeetings and /users/{user_id}/onlineMeetings; without it the API returns HTTP 400 'Filter expression expected'. The only supported filter properties on this endpoint are JoinWebUrl and joinMeetingIdSettings/joinMeetingId (e.g. "JoinWebUrl eq 'https://teams.microsoft.com/l/meetup-join/...'" or "joinMeetingIdSettings/joinMeetingId eq '1234567890'"). subject and VideoTeleconferenceId are NOT supported here. If you already know the meeting id, prefer MICROSOFT_TEAMS_USERS_GET_ONLINE_MEETING. There is no Graph API for free-text searching a user's meetings by title.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | Yes | REQUIRED OData $filter predicate. This endpoint is a lookup-by-identifier, NOT a general-purpose search/list — Microsoft Graph returns HTTP 400 'Filter expression expected' without it. The ONLY two supported filter properties are:   - JoinWebUrl — e.g. "JoinWebUrl eq 'https://teams.microsoft.com/l/meetup-join/19%3ameeting_xxx%40thread.v2/0'"   - joinMeetingIdSettings/joinMeetingId — e.g. "joinMeetingIdSettings/joinMeetingId eq '1234567890'" WRONG (all return HTTP 400):   - 'REUNION SICAL'  (bare string, not an OData predicate)   - subject eq '...'  (subject is NOT filterable here)   - VideoTeleconferenceId eq '...'  (only on /communications/onlineMeetings/) If you already know the meeting id, prefer MICROSOFT_TEAMS_USERS_GET_ONLINE_MEETING. |
| `search` | string | No | Search items by search phrases. Use this to find online meetings by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,subject,joinWebUrl'). |
| `orderby` | string | No | Order items by property values (e.g., 'creationDateTime' or 'creationDateTime desc'). |
| `user_id` | string | No | User ID or user principal name (UPN) to query online meetings for. With delegated (OAuth2) auth, omit or use 'me' for the signed-in user. With application (S2S/client_credentials) auth, you MUST provide a specific user ID or UPN — 'me' does not work without a signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List open shift change requests

**Slug:** `MICROSOFT_365_LIST_OPEN_SHIFT_CHANGE_REQUESTS`

List open shift change requests in a Microsoft Teams team schedule. Results are returned one page at a time, with a continuation token when another page is available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'state eq "approved"'). |
| `search` | string | No | Search items by search phrases. Use this to find open shift requests by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,openShiftId'). |
| `orderby` | string | No | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List open shifts

**Slug:** `MICROSOFT_365_LIST_OPEN_SHIFTS`

List open shifts in a Microsoft Teams team schedule. Results are returned one page at a time, with a continuation token when another page is available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'schedulingGroupId eq "TAG_123"'). |
| `search` | string | No | Search items by search phrases. Use this to find open shifts by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,schedulingGroupId,sharedOpenShift'). |
| `orderby` | string | No | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List People

**Slug:** `MICROSOFT_365_LIST_PEOPLE`

Retrieves a list of people relevant to a specified user from Microsoft Graph, noting the `search` parameter is only effective if `user_id` is 'me'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items per page for pagination. Actual count may be less. Service default if unspecified. |
| `skip` | integer | No | Number of items to skip for pagination. |
| `filter` | string | No | OData $filter query using equality comparisons only. The People API has limited $filter support: only 'eq' operator and 'and' logical operator are supported. OData functions like startsWith, endsWith, and contains are NOT supported and will result in API errors. Supported filterable properties include: displayName, personType/class, personType/subclass. For partial/fuzzy name searches, use the 'search' parameter instead. |
| `search` | string | No | Fuzzy search query (name, email, or topic like 'topic:marketing'). Effective only when `user_id` is 'me'. |
| `select` | string | No | Comma-separated OData property names to include for each person (e.g., 'id,displayName'). If unspecified, a default set is returned. Note: 'emailAddresses' is not a valid property for microsoft.graph.person; use 'scoredEmailAddresses' instead. |
| `orderby` | string | No | OData $orderby expression to sort results (e.g., 'displayName asc'). The People API has limited $orderby support; primarily 'displayName' is supported. Results are already sorted by relevance by default when using $search. |
| `user_id` | string | No | Identifier of the user (e.g., 'me', 'adelev@contoso.com', or GUID) whose relevant people are to be retrieved. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (user_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List pinned messages

**Slug:** `MICROSOFT_365_LIST_PINNED_MESSAGES`

Retrieve a page of pinned messages in a Microsoft Teams chat. Use the continuation token to retrieve further pages, and optionally expand the pinned message content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expand related entities to include additional details. Use 'message' to retrieve the full message content along with pinned message info. |
| `chat_id` | string | Yes | Unique identifier of the Microsoft Teams chat. Use the Get All Chats action to retrieve valid chat IDs. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (chat_id) — the token carries any other params. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Pivot Tables

**Slug:** `MICROSOFT_365_LIST_PIVOT_TABLES`

List Pivot Tables

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum pivot tables to return. |
| `skip` | integer | No | Number of pivot tables to skip. |
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `worksheet` | string | Yes | The worksheet ID or exact name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List places

**Slug:** `MICROSOFT_365_LIST_PLACES`

Retrieves a collection of place objects defined in a tenant by type. Places can include rooms, workspaces, buildings, floors, sections, desks, and room lists. When room_list_id is provided, returns only rooms or workspaces within that specific room list using the /places/{roomListId}/microsoft.graph.roomlist/rooms (or /workspaces) endpoint. Use this action when you need to discover available physical spaces or locations within an organization. Note: Before using this API, ensure that the Places settings are properly configured in the tenant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of places to return per page. Default is 25. API defaults: 100 for rooms/workspaces/room lists, 1000 for buildings/floors/sections/desks. |
| `skip` | integer | No | Number of places to skip for pagination (OData $skip). |
| `count` | boolean | No | Include count of items (OData $count=true). Only supported for room, workspace, and room_list types. |
| `filter` | string | No | OData filter expression to restrict returned places (OData $filter). Only supported for room, workspace, and room_list types. Example: capacity gt 50. |
| `select` | array | No | List of place properties to include in the response (OData $select). Example: displayName, emailAddress, capacity. |
| `placeType` | string ("microsoft.graph.room" | "microsoft.graph.workspace" | "microsoft.graph.roomlist" | "microsoft.graph.building" | "microsoft.graph.floor" | "microsoft.graph.section" | "microsoft.graph.desk") | Yes | The type of place to retrieve. Choose from: room, workspace, room_list, building, floor, section, or desk. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `roomListId` | string | No | The email address of a room list. When provided, scopes the results to rooms or workspaces within that specific room list using the MS Graph endpoint GET /places/{roomListId}/microsoft.graph.roomlist/rooms (or /workspaces). Must be the room list's email address (not its ID). Only valid when place_type is 'room' or 'workspace'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Planner bucket tasks

**Slug:** `MICROSOFT_365_LIST_PLANNER_BUCKET_TASKS`

List one page of tasks belonging to a Microsoft Planner bucket, with optional projected task properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated Planner task properties to return. |
| `bucket_id` | string | Yes | Unique identifier of the Planner bucket whose tasks to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Planner plan tasks

**Slug:** `MICROSOFT_365_LIST_PLANNER_PLAN_TASKS`

List one page of tasks belonging to a Microsoft Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `plan_id` | string | Yes | Unique identifier of the Planner plan whose tasks to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Planner Task Messages (Beta)

**Slug:** `MICROSOFT_365_LIST_PLANNER_TASK_MESSAGES`

Beta Microsoft Graph API: return exactly one page of messages for a Planner task. This beta endpoint can change without notice and is not supported for production applications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Case-sensitive ID of the Microsoft Planner task whose messages to list. |
| `page_token` | string | No | Opaque next-page token returned by a previous call; pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Presentation Versions

**Slug:** `MICROSOFT_365_LIST_PRESENTATION_VERSIONS`

List retained versions of a PowerPoint file in Microsoft Graph's newest-first order, one provider page at a time. Continue while has_more is true before treating the final version as the oldest retained version. The first entry is current: its metadata is readable, but Graph refuses its content through DOWNLOAD_PRESENTATION_VERSION. Choose a later entry for version download/restore, or use DOWNLOAD_PRESENTATION for current content. Version retention depends on the drive's configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous call. It preserves the presentation and drive selected on the first page. |
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file whose retained versions to list. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List primary calendar permissions

**Slug:** `MICROSOFT_365_LIST_PRIMARY_CALENDAR_PERMISSIONS`

Tool to list calendar permissions from a user's primary calendar. Use when you need to see who has access to the primary calendar and their permission levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permissions to return (OData $top parameter). |
| `skip` | integer | No | Number of permissions to skip (OData $skip parameter). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Recent Drive Items

**Slug:** `MICROSOFT_365_LIST_RECENT_DRIVE_ITEMS`

List recent drive items for the delegated (signed-in) user. Targets the signed-in user's OneDrive (/me/drive), NOT a SharePoint document library. DEPRECATED by Microsoft: this recent API operates in a degraded state until November 2026, after which it stops returning data; prefer change-tracking (delta) or search for durable scenarios. Application permissions are not supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. This action targets the signed-in user's OneDrive (/me/drive), NOT a SharePoint document library. DEPRECATED by Microsoft: the recent API operates in a degraded state until November 2026, after which it stops returning data; prefer change-tracking (delta) or search for durable scenarios. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event reminders

**Slug:** `MICROSOFT_365_LIST_REMINDERS`

Tool to retrieve reminders for events occurring within a specified time range. Use when you need to see upcoming reminders between two datetimes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | No | User Principal Name or ID. Use 'me' to indicate the signed-in user. |
| `endDateTime` | string | Yes | The end date and time in ISO 8601 format defining the window for reminders. Example: '2023-10-26T20:00:00.0000000'. |
| `startDateTime` | string | Yes | The start date and time in ISO 8601 format defining the window for reminders. Example: '2023-10-26T19:00:00.0000000'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Root Drive Changes

**Slug:** `MICROSOFT_365_LIST_ROOT_DRIVE_CHANGES`

List drive item changes using Microsoft Graph delta, including additions, modifications and deletions, for a specified drive or the current user's drive. Initial enumeration can span multiple pages; follow next links until a delta link is returned, then use it for subsequent changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return in a single response. Useful for pagination and controlling response size. |
| `token` | string | No | Either a raw token string or a full URL from @odata.nextLink/@odata.deltaLink. Accepts: raw token value, full pagination URL, or 'latest' to get a token for future calls. Omit to get all current items. Loop until `@odata.nextLink` is absent to get complete results; default page size is ~200 items. |
| `expand` | string | No | Comma-separated list of relationships to expand in the response. |
| `select` | string | No | Comma-separated list of DriveItem properties to include in the response. Use this to retrieve specific fields and reduce response size. |
| `drive_id` | string | No | The ID of the drive to track changes for. If not provided, will attempt to use the authenticated user's default drive (requires delegated auth). For application auth, this parameter is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team schedule day notes

**Slug:** `MICROSOFT_365_LIST_SCHEDULE_DAY_NOTES`

Lists day notes from a team's schedule, with continuation tokens for additional pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team. Must be a valid GUID. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List scheduling groups

**Slug:** `MICROSOFT_365_LIST_SCHEDULING_GROUPS`

Tool to list scheduling groups in a team's schedule. Use when you need to retrieve all scheduling groups for shift management and organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Limits the number of scheduling groups returned in a single response. |
| `skip` | integer | No | Skip the first n items. Used for pagination to skip over already-retrieved results. |
| `count` | boolean | No | Include count of items in the response. When true, the response includes @odata.count with total number of scheduling groups. |
| `expand` | string | No | Expand related entities. Comma-separated list of navigation properties to expand and include in the response. |
| `filter` | string | No | Filter items by property values using OData filter syntax. Example: "isActive eq true" to get only active groups. |
| `search` | string | No | Search items by search phrases. Searches across scheduling group properties like displayName. |
| `select` | string | No | Select properties to be returned. Comma-separated list of property names to include in the response. |
| `orderby` | string | No | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc'. Example: 'displayName asc' or 'createdDateTime desc'. |
| `team_id` | string | Yes | The unique identifier (GUID) of the team. Required to identify which team's scheduling groups to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sensitivity Labels

**Slug:** `MICROSOFT_365_LIST_SENSITIVITY_LABELS`

List the Microsoft Purview sensitivity labels available to the tenant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. Set it to enable pagination on this endpoint: Microsoft Graph returns no continuation link here, so next_page_token is derived from $top/$skip offsets and is only minted when top is set. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,description. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List sent items messages

**Slug:** `MICROSOFT_365_LIST_SENT_ITEMS_MESSAGES`

List a page of messages in the SentItems folder of the signed-in user or a specified user's mailbox, with optional filtering and sorting. Use the returned continuation token to retrieve further pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to return per request (1-1000). To page through more, use the `next_page_token` from the response (pass it back as `page_token`). |
| `skip` | integer | No | Number of messages to skip from the beginning of the result set, for pagination. |
| `filter` | string | No | OData $filter query to filter messages. Examples: 'isRead eq false', 'toRecipients/any(a:a/emailAddress/address eq "recipient@example.com")', 'sentDateTime ge 2023-01-01T00:00:00Z', 'hasAttachments eq true'. Note: Combining complex filters with the 'orderby' parameter may fail with an InefficientFilter error. In such cases, remove 'orderby' or apply sorting client-side. |
| `select` | array | No | List of message properties to include in the response. OData $select parameter. Valid properties include: id, subject, from, toRecipients, receivedDateTime, sentDateTime, hasAttachments, importance, isRead, body, bodyPreview, categories, conversationId. |
| `orderby` | string | No | Property to sort results by with direction. OData $orderby parameter. Example: 'sentDateTime desc' or 'subject asc'. Note: Using 'orderby' together with complex 'filter' queries may fail with an InefficientFilter error. If this occurs, either remove 'orderby' or apply sorting client-side. |
| `user_id` | string | No | User ID (GUID) or user principal name (email) of the user whose sent items to list. Required for app-only (S2S) authentication. Not required for delegated authentication (uses signed-in user by default). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Mail.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List service principals

**Slug:** `MICROSOFT_365_LIST_SERVICE_PRINCIPALS`

Find Microsoft Entra service principals with OData filtering, search, ordering, and property selection. Password and key credential properties are omitted from returned service principals, even when selected.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum service principals requested on this page (1-100). |
| `count` | boolean | No | Whether to include the total matching service-principal count. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Comma-separated service principal relationships to include. Not supported with search, count, filter plus orderby, or ne/not/endswith filters. |
| `filter` | string | No | OData filter expression for service principal properties. |
| `search` | string | No | Directory search expression, such as "displayName:Team". Search uses eventual consistency. |
| `select` | string | No | Comma-separated service principal properties to return. |
| `orderby` | string | No | OData ordering expression, such as displayName asc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Services

**Slug:** `MICROSOFT_365_LIST_SERVICES`

List services offered by one booking business, including duration, pricing, staff, and scheduling defaults, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking services. |
| `business_id` | string | Yes | ID of the booking business whose services to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total service count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Shared Drive Item Children

**Slug:** `MICROSOFT_365_LIST_SHARED_DRIVE_ITEM_CHILDREN`

List one page of children beneath a folder addressed by a sharing link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of direct children to request in this page. |
| `orderby` | string | No | OData ordering expression, such as 'name' or 'lastModifiedDateTime desc'. |
| `page_token` | string | No | Opaque continuation token returned as next_page_token by a previous call for the same shared item. Omit for the first page and do not edit it. |
| `sharing_url` | string | No | OneDrive or SharePoint sharing URL to encode locally as a Microsoft Graph u! sharing token. Mutually exclusive with share_id_or_encoded_url. |
| `expand_fields` | array | No | DriveItem relationships to expand, such as thumbnails or permissions. |
| `select_fields` | array | No | DriveItem properties to return, such as id, name, folder, file, and parentReference. |
| `if_none_match_etag` | string | No | Return a not-modified result when the shared folder matches this eTag or cTag. |
| `share_id_or_encoded_url` | string | No | Microsoft Graph share ID or u!-encoded sharing URL. Mutually exclusive with sharing_url. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Item Permissions

**Slug:** `MICROSOFT_365_LIST_SHAREPOINT_ITEM_PERMISSIONS`

List Microsoft Graph beta permissions from a SharePoint list or list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional OData $top page size. |
| `select` | string | No | Optional OData $select value, for example id,roles,grantedToV2,grantedToIdentitiesV2. |
| `item_id` | string | No | Optional SharePoint list item ID. Provide this to list permissions for a list item; omit it to list permissions for the list. |
| `list_id` | string | Yes | The unique Microsoft Graph ID of the SharePoint list. |
| `site_id` | string | Yes | The Microsoft Graph SharePoint site ID in composite format, usually 'hostname,site-collection-id,web-id'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint document libraries

**Slug:** `MICROSOFT_365_LIST_SHAREPOINT_LIBRARIES`

Return one page of document libraries and available root folder item IDs for a SharePoint site ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by the prior page. Omit it for the first page and pass it back unchanged to continue. |
| `site_id` | string | Yes | SharePoint site ID returned by FIND_SHAREPOINT_SITES. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint List Items Delta

**Slug:** `MICROSOFT_365_LIST_SHAREPOINT_LIST_ITEMS_DELTA`

Tool to track changes to items in a SharePoint list using a delta query. Use when you need to get newly created, updated, or deleted list items without performing a full read of the entire item collection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return in a single response. |
| `token` | string | No | If unspecified or empty, enumerates the current state. If 'latest', returns an empty response with the latest delta token. If a previous delta token, returns changes since that token. |
| `expand` | string | No | Comma-separated list of relationships to expand. Use 'fields($select=ColumnA,ColumnB)' format for field selection. |
| `select` | string | No | Comma-separated list of listItem properties to return. |
| `list_id` | string | Yes | The unique identifier of the list within the site. |
| `site_id` | string | Yes | SharePoint site ID in composite format: hostname,site-collection-guid,site-guid (three comma-separated parts). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Tables

**Slug:** `MICROSOFT_365_LIST_SHAREPOINT_TABLES`

List tables in a worksheet of an Excel workbook stored in a SharePoint site's default drive using Microsoft Graph.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `site_id` | string | Yes | The ID of the SharePoint site containing the Excel file. |
| `worksheet` | string | Yes | The name or ID of the worksheet (must be URL-encoded if using ID). |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Worksheets

**Slug:** `MICROSOFT_365_LIST_SHAREPOINT_WORKSHEETS`

List worksheets in an Excel workbook stored in SharePoint using Microsoft Graph Sites API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) to list worksheets for. |
| `site_id` | string | Yes | The ID of the SharePoint site containing the Excel file. |
| `drive_id` | string | No | The ID of the document library (drive) containing the Excel file. Required if the file is not in the site's default document library. If not provided, the site's default drive is used. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List shifts

**Slug:** `MICROSOFT_365_LIST_SHIFTS`

List a page of shifts in a Microsoft Teams team's schedule, with optional filtering and other query options. Use the returned continuation token to retrieve further pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'userId eq "5ca83ce7-291d-43b7-bf53-af79eef4bc1d"' or 'schedulingGroupId eq "TAG_123"'). Note: The filter parameter doesn't support using the same property more than once in a query. |
| `search` | string | No | Search items by search phrases. Use this to find shifts by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedShift'). |
| `orderby` | string | No | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Content Types

**Slug:** `MICROSOFT_365_LIST_SITE_CONTENT_TYPES`

List content types for a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Changes

**Slug:** `MICROSOFT_365_LIST_SITE_DELTA`

Get newly created, updated, or deleted SharePoint sites using delta tracking. This endpoint requires application permissions and does not support delegated user authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `token` | string | No | Optional delta/state token used to track changes. Pass the token extracted from a previous response's @odata.deltaLink to retrieve only the changes since that round. Use 'latest' to retrieve an empty collection plus a deltaLink to seed future change tracking. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Drives

**Slug:** `MICROSOFT_365_LIST_SITE_DRIVES`

List document library drives for a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Drive Items Delta

**Slug:** `MICROSOFT_365_LIST_SITE_ITEMS_DELTA`

Tool to track changes to DriveItems in the default document library of a SharePoint site. Use when you need to get a list of items that have been added, modified, or deleted since a previous state or to get an initial enumeration of all items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return in a single response. Useful for pagination and controlling response size. |
| `token` | string | No | A token used to retrieve a specific page of results or to get changes since a previous state. Can be 'latest' to get the most recent delta token without items, a deltaLink URL, or a timestamp (YYYY-MM-DDTHH:MM:SSZ). |
| `expand` | string | No | Comma-separated list of relationships to expand in the response. |
| `select` | string | No | Comma-separated list of DriveItem properties to include in the response. Use this to retrieve specific fields and reduce response size. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List site notebooks

**Slug:** `MICROSOFT_365_LIST_SITE_NOTEBOOKS`

List OneNote notebooks stored in a SharePoint site. Use this after resolving a SharePoint site ID from a site name or URL when the user asks for notebooks in a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | OData $top page size. Default is 10; maximum is 100. Microsoft Graph OneNote notebook lists can return a truncated page without @odata.nextLink; use skip with top to request later slices when nextLink is absent. |
| `skip` | integer | No | OData $skip count for client-side pagination. Use this with top when Microsoft Graph does not return @odata.nextLink. |
| `count` | boolean | No | Set OData $count=true to ask Microsoft Graph for @odata.count. |
| `expand` | array | No | OData $expand navigation properties. Valid notebook expansions are sections and sectionGroups. |
| `filter` | string | No | OData $filter expression for notebook properties. |
| `select` | array | No | OData $select notebook properties, such as id,displayName,sectionsUrl,sectionGroupsUrl,isShared,userRole. |
| `orderby` | array | No | OData $orderby properties. Microsoft Graph defaults notebook lists to name ascending. |
| `site_id` | string | Yes | The SharePoint site ID. Use SITES_SEARCH or RESOLVE_SITE_BY_URL to discover this value from a site name, keyword, or SharePoint URL. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData query parameters. The OneNote notebooks API may not return nextLink for small top-limited responses; use top and skip in that case. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List site notebook section groups

**Slug:** `MICROSOFT_365_LIST_SITE_NOTEBOOK_SECTION_GROUPS`

Retrieves a list of section groups from the specified notebook within a SharePoint site. Use this action to retrieve a page of section groups in a SharePoint site-owned OneNote notebook to understand its structure or to find a specific section group. The default sort order is name ascending. The default query expands parentNotebook and selects its id, displayName, and self properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of items to return in the collection. Default is 10, maximum is 100. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of navigation properties to expand. Valid values: sections, sectionGroups, parentNotebook, parentSectionGroup. |
| `filter` | string | No | OData filter expression to filter the results. Example: displayName eq 'My Section Group'. |
| `select` | array | No | Comma-separated list of section group properties to include in the response. Valid values: id, displayName, createdDateTime, lastModifiedDateTime, sectionsUrl, sectionGroupsUrl, self, createdBy, lastModifiedBy. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Default order is name ascending. Example: displayName asc. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Pages

**Slug:** `MICROSOFT_365_LIST_SITE_PAGES`

List modern SharePoint site pages as Microsoft Graph sitePage resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `count` | boolean | No | Set to true to request @odata.count where the endpoint supports it. |
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `orderby` | string | No | Optional Microsoft Graph OData $orderby expression. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OneNote page content from SharePoint site

**Slug:** `MICROSOFT_365_LIST_SITE_PAGES_CONTENT`

Retrieves the HTML content of a specific OneNote page within a SharePoint site. Use this action when you need to fetch the full HTML content of a OneNote page from a SharePoint site for processing, rendering, or exporting page data. This endpoint provides direct access to page content without requiring notebook or section context. Returns the raw HTML content of the page, including text, images, and other embedded content references. Note: This action is read-only and does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | The unique identifier of the OneNote page. Format is typically 'pageId!sectionId' (e.g., '1-c82b4070fd284fd89902a39ce5937394!71-7aef1f00-3deb-4ee2-93ab-979eb24a3037'). |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Can be the site hostname and relative path (e.g., 'contoso.sharepoint.com,123abc,456def') or a server-relative path. |
| `include_ids` | boolean | No | Optional. When set to true, the returned HTML includes IDs for page elements. Useful when you need to identify elements for updates or modifications. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Page Section Web Parts

**Slug:** `MICROSOFT_365_LIST_SITE_PAGE_SECTION_WEB_PARTS`

List one page of web parts in a site page section, in page order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | ID of the site page containing the web parts. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `column_id` | string | No | Column ID in the horizontal section; required for horizontal and not allowed for vertical. |
| `page_token` | string | No | Opaque continuation token from next_page_token. Omit for the first page; pass back unmodified with the same site, page, and section identifiers to fetch one more page. |
| `section_type` | string ("vertical" | "horizontal") | Yes | Whether to list the vertical section or a horizontal section column. |
| `horizontal_section_id` | string | No | Horizontal section ID; required for horizontal and not allowed for vertical. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Page Web Parts

**Slug:** `MICROSOFT_365_LIST_SITE_PAGE_WEB_PARTS`

List web parts on a SharePoint site page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `page_id` | string | Yes | Microsoft Graph site page ID. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Site Permissions

**Slug:** `MICROSOFT_365_LIST_SITE_PERMISSIONS`

List the application (Sites.Selected) permissions granted on a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,roles,grantedToIdentitiesV2. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List site root section groups

**Slug:** `MICROSOFT_365_LIST_SITE_ROOT_SECTION_GROUPS`

List section groups at the root of a SharePoint site's OneNote hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned section group. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `site_id` | string | Yes | SharePoint site ID, or `root`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Sites

**Slug:** `MICROSOFT_365_LIST_SITES`

Search for SharePoint sites available through Microsoft Graph.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `search` | string | No | SharePoint site search query. Use '*' to return discoverable sites. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `hostname` | string | No | Optional SharePoint geo hostname such as contoso.sharepoint.com. For multi-geo tenants, call SHAREPOINT_GRAPH_GET_MY_SITE first and pass its hostname here to scope site discovery to that geo. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List site section pages

**Slug:** `MICROSOFT_365_LIST_SITE_SECTION_PAGES`

List one result page of OneNote pages in a known SharePoint site section; pass next_cursor back as cursor to continue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of pages to return (1-100). |
| `skip` | integer | No | Number of matching pages to skip. |
| `count` | boolean | No | Include the total collection count. |
| `cursor` | string | No | Opaque cursor returned by a previous call. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | array | No | Parent relationships to expand. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Page properties to return. |
| `orderby` | array | No | OData ordering expressions, such as `lastModifiedDateTime desc`. |
| `site_id` | string | Yes | SharePoint site ID. |
| `pagelevel` | boolean | No | Include each page's indentation level and order within the section. |
| `section_id` | string | Yes | OneNote section ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List site sections

**Slug:** `MICROSOFT_365_LIST_SITE_SECTIONS`

List a page of OneNote sections across a SharePoint site. Supports OData filtering, sorting, pagination, and property expansion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of sections to return per request. Default is 10, maximum is 100. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of navigation properties to expand. Valid values: parentNotebook, parentSectionGroup. |
| `filter` | string | No | OData filter expression to apply to filter results. Example: displayName eq 'My Section'. |
| `select` | array | No | Comma-separated list of section properties to include in the response. Common values: id, displayName, createdDateTime, lastModifiedDateTime, isDefault, pagesUrl. |
| `orderby` | array | No | Comma-separated list of properties to order results by. The default sort order is name ascending. Example: displayName asc. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Can be 'root' for the root site, or a site path in the format 'hostname,site-id,web-id'. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Subsites

**Slug:** `MICROSOFT_365_LIST_SITE_SUBSITES`

Lists subsites of a SharePoint site for an organizational Microsoft 365 account. Results are paginated and can be filtered; an empty page does not necessarily mean the site has no subsites.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return. |
| `expand` | string | No | Comma-separated list of relationships to expand in the response. |
| `filter` | string | No | OData filter expression. Example: startswith(name,'Project') |
| `select` | string | No | Comma-separated list of properties to include in the response. Example: id,name,webUrl |
| `orderby` | string | No | OData order by expression. Example: name asc, createdDateTime desc |
| `site_id` | string | Yes | The unique identifier of the SharePoint site for which to list subsites. Must be the full composite Graph ID in the format `hostname,siteCollectionId,siteId`; partial or malformed IDs may silently return empty results rather than an error. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Staff Members

**Slug:** `MICROSOFT_365_LIST_STAFF_MEMBERS`

List staff members configured for one booking business, including roles and working hours, one Microsoft Graph page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | Expansion expressions to pass to Microsoft Graph as comma-separated $expand. Graph may reject relations unsupported by booking staff. |
| `business_id` | string | Yes | ID of the booking business whose staff to list. |
| `next_cursor` | string | No | Opaque cursor from a previous response. Omit it for the first page, then pass it back unchanged to fetch the next page. |
| `include_count` | boolean | No | Include the total staff count when Microsoft Graph provides it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Subsites

**Slug:** `MICROSOFT_365_LIST_SUBSITES`

List subsites for a SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. |
| `filter` | string | No | Optional Microsoft Graph OData $filter expression. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List swap shifts change requests

**Slug:** `MICROSOFT_365_LIST_SWAP_SHIFTS_CHANGE_REQUESTS`

List swap shift change requests for a Microsoft Teams team's schedule. Results are paginated; use the returned continuation token to retrieve subsequent pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'state eq "approved"'). |
| `search` | string | No | Search items by search phrases. Use this to find swap shift requests by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime'). |
| `orderby` | string | No | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/sort/search params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Table Columns

**Slug:** `MICROSOFT_365_LIST_TABLE_COLUMNS`

List columns in a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the item. If not provided, will attempt to use 'me' for delegated auth. |
| `table_id` | string | Yes | The ID of the table to list columns from. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Table Rows

**Slug:** `MICROSOFT_365_LIST_TABLE_ROWS`

List rows in a table using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of rows to return per page (maps to $top OData query parameter). Microsoft recommends using $top and $skip for large tables. |
| `skip` | integer | No | Number of rows to skip before returning results (maps to $skip OData query parameter). Use with 'top' for offset-based pagination. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the table. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `table_id` | string | Yes | The name or ID of the table (e.g., 'Table1', 'MyTable'). Note: this must be a valid Excel table name/ID, not a worksheet name. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tables

**Slug:** `MICROSOFT_365_LIST_TABLES`

List tables in a specified Excel worksheet using Microsoft Graph API. Returns one page of table information and a continuation link when provided; an optional workbook session can be used.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. Required for application-level permissions (s2s_oauth). If not provided, uses /me/drive endpoint for delegated auth. |
| `worksheet` | string | Yes | The name or ID of the worksheet (e.g., 'Sheet1', '工作表', or '{00000000-0001-0000-0000-000000000000}'). URL encoding is handled automatically. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Task Attachments

**Slug:** `MICROSOFT_365_LIST_TASK_ATTACHMENTS`

List the files attached to a Microsoft To Do task. Returns attachment metadata without file contents, one page at a time, plus a next_cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Pagination token from a previous call's next_cursor. Omit for the first page; pass it back unchanged to fetch the next page. |
| `list_id` | string | Yes | Id of the task list containing the task. |
| `task_id` | string | Yes | Id of the task whose file attachments to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Task Lists

**Slug:** `MICROSOFT_365_LIST_TASK_LISTS`

List the connected user's To Do task lists, one page at a time. Identify the built-in default list by ID or wellknown_list_name='defaultList' rather than its localized display name; user-created lists have wellknown_list_name='none'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Max task lists to return per page (maps to OData $top). The server may cap this. If omitted the server uses its default page size. |
| `cursor` | string | No | Pagination token from a previous call's next_cursor. Omit for the first page; pass it back to fetch the next page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `MICROSOFT_365_LIST_TASKS`

List the tasks in a To Do task list. Checklist items (subtasks) are NOT returned by default; set include_checklist_items=true to expand them inline. Returns one page of tasks plus a next_cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Max tasks to return per page (maps to OData $top). The server may cap this. If omitted the server uses its default page size. |
| `cursor` | string | No | Pagination token from a previous call's next_cursor. Omit for the first page; pass it back to fetch the next page. |
| `expand` | string | No | Advanced OData $expand expression. Normally leave unset and use include_checklist_items instead; that derives $expand=checklistItems. |
| `filter` | string | No | Optional OData $filter expression, e.g. "status eq 'notStarted'" or "importance eq 'high'". Advanced; omit to return all tasks. |
| `list_id` | string | Yes | Id of the task list whose tasks to return (path param todoTaskListId). Get one from MICROSOFT_TODO_LIST_TASK_LISTS. |
| `include_checklist_items` | boolean | No | When true, expand each task's checklist items (subtasks) inline (maps to OData $expand=checklistItems). Default false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team members

**Slug:** `MICROSOFT_365_LIST_TEAM_MEMBERS`

Tool to list members of a Microsoft Teams team. Use when you need to retrieve the members of a specific team, for auditing or notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional maximum number of members to request per Microsoft Graph page (1–999). |
| `limit` | integer | No | DEPRECATED: no longer applied. Pagination is now driven by the opaque page_token; use next_page_token from the response to fetch additional pages. |
| `filter` | string | No | Optional OData filter expression to filter members. Microsoft Graph supports filtering aadUserConversationMember values by userId, displayName, or email. Examples: "(microsoft.graph.aadUserConversationMember/userId eq '73761f06-2ac9-469c-9f10-279a8cc267f9')", "(microsoft.graph.aadUserConversationMember/displayName eq 'John Doe')", or "(microsoft.graph.aadUserConversationMember/email eq 'user@example.com')". |
| `select` | string | No | Optional comma-separated list of properties to include in the response. Example: "id,displayName,email" to return only those fields. |
| `team_id` | string | Yes | GUID of the Microsoft Teams team to retrieve members from. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id), but filter/select params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Team Operations

**Slug:** `MICROSOFT_365_LIST_TEAM_OPERATIONS`

List async operations for a Microsoft Teams team, such as team creation, archiving, and channel creation. Results are paginated; use the returned continuation token to retrieve subsequent pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team. This is the team ID (GUID) whose operations you want to retrieve. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (team_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List teams permission grants

**Slug:** `MICROSOFT_365_LIST_TEAM_PERMISSION_GRANTS`

Lists resource-specific permission grants for a team, with pagination. Use it to identify Microsoft Entra apps with access to the team and their corresponding permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team tag members

**Slug:** `MICROSOFT_365_LIST_TEAM_TAG_MEMBERS`

List the team members assigned to one Microsoft Teams tag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of members requested on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter expression applied to tag members. |
| `tag_id` | string | Yes | Tag ID whose assigned members to list. |
| `team_id` | string | Yes | Team ID that owns the tag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team tags

**Slug:** `MICROSOFT_365_LIST_TEAM_TAGS`

List tags configured in a Microsoft Teams team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of tags requested on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter expression applied to team tags. |
| `team_id` | string | Yes | Team ID whose tags to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Teams templates

**Slug:** `MICROSOFT_365_LIST_TEAM_TEMPLATES`

Tool to list available Microsoft Teams templates. Use when retrieving templates for team creation or customization workflows.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of templates to skip for pagination. |
| `count` | boolean | No | If true, include a count of total matching templates in the response. |
| `expand` | string | No | Comma-separated list of navigation properties to expand and include in the response (e.g., 'definitions'). Use 'definitions' to get full teamTemplateDefinition objects instead of just template IDs. |
| `filter` | string | No | OData filter expression to filter the templates (e.g., "startsWith(displayName,'Template')" or "definitions/any(a:a/languageTag eq 'en-US')"). |
| `select` | string | No | Comma-separated template properties to include in the response (e.g., 'id,displayName,description'). If empty, default properties are returned. |
| `orderby` | string | No | Comma-separated properties and directions to order the results by (e.g., 'displayName desc'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team time off entries

**Slug:** `MICROSOFT_365_LIST_TIME_OFF`

Tool to list time off entries from a Microsoft Teams team's schedule. Use when you need to retrieve all time off periods for a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Use to limit the number of results returned. |
| `skip` | integer | No | Skip the first n items. Use for pagination to offset results. |
| `count` | boolean | No | Include count of items in the response. When true, the response includes the total count of matching items. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values. Use OData filter syntax (e.g., 'userId eq "user-guid"' or 'startDateTime ge 2024-01-01T00:00:00Z'). |
| `search` | string | No | Search items by search phrases. Use to find time off entries matching specific text. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedTimeOff'). |
| `orderby` | string | No | Order items by property values. Use OData orderby syntax (e.g., 'createdDateTime desc' or 'userId,startDateTime'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team schedule time off reasons

**Slug:** `MICROSOFT_365_LIST_TIME_OFF_REASONS`

Tool to get time off reasons from a team's schedule. Use when you need to retrieve the list of available time off reasons for scheduling in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Use for limiting the number of results returned. |
| `skip` | integer | No | Skip the first n items. Use for pagination to skip a certain number of results. |
| `count` | boolean | No | Include count of items in the response. Set to true to get the total count of time off reasons. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'isActive eq true'). |
| `search` | string | No | Search items by search phrases. Use to find time off reasons by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,isActive'). |
| `orderby` | string | No | Order items by property values (e.g., 'displayName' or 'displayName desc'). |
| `team_id` | string | Yes | The unique identifier (GUID) of the team. Must be a valid UUID format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List time off requests

**Slug:** `MICROSOFT_365_LIST_TIME_OFF_REQUESTS`

Tool to retrieve a list of time off requests from a Microsoft Teams team's schedule. Use when you need to view all time off requests including their status (pending, approved, declined), dates, and associated users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Show only the first n items. Maximum value is 999. |
| `skip` | integer | No | Skip the first n items for pagination. |
| `count` | boolean | No | Include count of items in the response. |
| `expand` | string | No | Expand related entities to include additional data in the response. |
| `filter` | string | No | Filter items by property values using OData query syntax (e.g., 'state eq "pending"' or 'startDateTime ge 2024-01-01T00:00:00Z'). |
| `search` | string | No | Search items by search phrases. Use this to find time off requests by keywords. |
| `select` | string | No | Select specific properties to be returned (comma-separated, e.g., 'id,startDateTime,endDateTime,state'). |
| `orderby` | string | No | Order items by property values (e.g., 'startDateTime' or 'startDateTime desc'). |
| `team_id` | string | Yes | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List To Do task lists

**Slug:** `MICROSOFT_365_LIST_TO_DO_LISTS`

List Microsoft To Do task lists for the signed-in user or a specified user. Use to discover task lists before listing or creating tasks; results include list IDs and may include display names.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of task lists to return (OData $top). |
| `skip` | integer | No | Number of task lists to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `filter` | string | No | OData filter expression to filter task lists (OData $filter). |
| `select` | array | No | Properties to include in the response (OData $select). |
| `orderby` | array | No | Order by expressions (OData $orderby). |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List tasks from a To Do list

**Slug:** `MICROSOFT_365_LIST_TODO_TASKS`

Tool to list tasks within a specified Microsoft To Do task list, including status and due dates. Use when retrieving tasks from a specific To Do list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of tasks to retrieve per page (OData $top parameter). Use for pagination. |
| `skip` | integer | No | Number of tasks to skip before returning results (OData $skip parameter). Use with 'top' for offset-based pagination. |
| `filter` | string | No | OData filter expression to narrow down results (OData $filter parameter). Use for filtering by status, importance, dates, etc. Examples: "status eq 'notStarted'", "importance eq 'high'", "dueDateTime/dateTime ge '2024-01-01T00:00:00Z'" |
| `orderby` | array | No | List of properties to sort results by (OData $orderby parameter). Each item is a string like 'dueDateTime/dateTime desc' or 'title asc'. Use 'asc' (default) or 'desc' for sort order. |
| `user_id` | string | No | The unique identifier (GUID) or user principal name (email) of the user. Required for app-only (S2S) authentication. If not provided, defaults to '/me' endpoint (delegated authentication). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `todo_task_list_id` | string | Yes | The unique identifier of the To Do task list to retrieve tasks from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List calendar event instances

**Slug:** `MICROSOFT_365_LIST_USER_CALENDAR_EVENT_INSTANCES`

Tool to retrieve instances (occurrences) of a recurring event from a specific calendar within a date range. Use when you need event instances from a particular calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of event instances to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Number of event instances to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `user_id` | string | Yes | The unique identifier of the user (can be user ID, userPrincipalName, or 'me' for authenticated user). |
| `event_id` | string | Yes | The unique identifier of the recurring event (seriesMaster) for which to retrieve instances. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar containing the event. |
| `endDateTime` | string | Yes | The end date and time of the time range in ISO 8601 format (e.g., '2026-04-30T23:59:59.0000000'). Only instances that start within or overlap this range will be returned. |
| `startDateTime` | string | Yes | The start date and time of the time range in ISO 8601 format (e.g., '2026-03-01T00:00:00.0000000'). Only instances that start within or overlap this range will be returned. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Calendars.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar event attachments

**Slug:** `MICROSOFT_365_LIST_USER_CALENDAR_EVENTS_ATTACHMENTS`

List a page of attachments for a specific event in a user's calendar. The response may include a next link when more results are available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of attachments to return (OData $top). |
| `skip` | integer | No | Number of attachments to skip (OData $skip). |
| `filter` | string | No | OData filter string to filter the attachments (OData $filter). |
| `select` | array | No | List of attachment properties to include (OData $select). |
| `orderby` | array | No | Order by clauses to sort the results (OData $orderby). |
| `user_id` | string | No | The user's primary SMTP address, UPN, or 'me' for the signed-in user. |
| `event_id` | string | Yes | The unique identifier of the calendar event to retrieve attachments from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event instances

**Slug:** `MICROSOFT_365_LIST_USER_CALENDAR_GROUP_EVENT_INSTANCES`

Tool to list instances (occurrences) of a recurring event within a specified date range from a user's calendar in a calendar group. Use when you need to retrieve specific occurrences of a recurring event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of event instances to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Number of event instances to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `user_id` | string | Yes | The unique identifier of the user (can be user ID or userPrincipalName). |
| `event_id` | string | Yes | The unique identifier of the event. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |
| `endDateTime` | string | Yes | The end date and time of the time range in ISO 8601 format (e.g., '2026-05-01T00:00:00.0000000'). |
| `startDateTime` | string | Yes | The start date and time of the time range in ISO 8601 format (e.g., '2026-03-01T00:00:00.0000000'). |
| `calendar_group_id` | string | Yes | The unique identifier of the calendar group. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Calendars.Read. Treat status unknown as fail-closed. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendar View from User Calendar Group

**Slug:** `MICROSOFT_365_LIST_USER_CALENDAR_GROUPS_CALENDAR_VIEW`

Tool to get calendar view from a specific calendar within a calendar group for a user. Use when retrieving events from a calendar that belongs to a calendar group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to return per page (OData $top). Controls page size for pagination. |
| `skip` | integer | No | Number of events to skip from the beginning of the result set (OData $skip). Use with $top for pagination. |
| `user_id` | string | Yes | The user ID or userPrincipalName. Examples: '6640adbb5cb743b0' or 'user@example.com'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The calendar ID within the calendar group. This is the unique identifier of the specific calendar. |
| `endDateTime` | string | Yes | The end date and time of the time range in ISO 8601 format (e.g., '2025-01-31T23:59:59Z' or '2019-11-08T20:00:00-08:00'). |
| `startDateTime` | string | Yes | The start date and time of the time range in ISO 8601 format (e.g., '2025-01-01T00:00:00Z' or '2019-11-08T19:00:00-08:00'). |
| `calendar_group_id` | string | Yes | The calendar group ID. This is the unique identifier of the calendar group containing the calendar. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label applied to each calendar event. This is distinct from the event's built-in sensitivity field and any Teams meeting label. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendar permissions

**Slug:** `MICROSOFT_365_LIST_USER_CALENDARS_CALENDAR_PERMISSIONS`

Tool to list calendar permissions for a specific user's specific calendar. Use when you need to see who has access to a user's calendar and their permission levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permissions to return (OData $top parameter). |
| `skip` | integer | No | Number of permissions to skip (OData $skip parameter). |
| `user_id` | string | Yes | The unique identifier of the user. Cannot use 'me' shortcut - must be actual user ID or userPrincipalName. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user calendars events

**Slug:** `MICROSOFT_365_LIST_USER_CALENDARS_EVENTS`

Tool to retrieve events from a specific calendar for a user. Use when you need to list calendar events for a specific user by user ID and calendar ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to retrieve per page for pagination. |
| `skip` | integer | No | Number of initial events to bypass, used for pagination. |
| `filter` | string | No | OData query string to filter calendar events. ONLY the following properties support filtering: 'start/dateTime', 'end/dateTime', 'subject', 'categories', 'importance', 'sensitivity', 'isAllDay', 'isCancelled', 'isReminderOn', 'type'. CRITICAL: Properties like 'body', 'bodyPreview', 'location', 'locations', 'organizer', 'attendees' do NOT support $filter and will cause errors. IMPORTANT: Use calendar event properties ONLY. Do NOT use mail/message properties like 'receivedDateTime'. For start/end filtering, you MUST use 'start/dateTime' and 'end/dateTime' ONLY. DO NOT use 'start/date' or 'end/date' - these properties do NOT exist and will cause errors. DateTime format: "start/dateTime ge 'YYYY-MM-DDTHH:MM:SSZ'" (requires single quotes and timezone suffix). Operators: ge (>=), le (<=), eq (=), gt (>), lt (<). DateTime values without quotes or timezone suffix will be automatically normalized. |
| `select` | array | No | List of specific event property names to return. MUST be provided as a list. If omitted, a default set of properties is returned. Valid field names: id, subject, body, bodyPreview, start, end, isAllDay, organizer, attendees, location, locations, recurrence, importance, sensitivity, showAs, categories, hasAttachments, webLink, onlineMeeting, onlineMeetingProvider, onlineMeetingUrl, isOnlineMeeting, createdDateTime, lastModifiedDateTime, changeKey, iCalUId, type, seriesMasterId, isOrganizer, isReminderOn, reminderMinutesBeforeStart, responseRequested, responseStatus, allowNewTimeProposals, hideAttendees, isCancelled, isDraft, originalStart, originalStartTimeZone, originalEndTimeZone, transactionId, cancelledOccurrences. Note: 'creator' is NOT a valid field - use 'organizer' instead. Invalid field names will be automatically filtered out. |
| `orderby` | array | No | List of properties to sort results by. Each item is a string like 'start/dateTime desc' or 'subject asc'. MUST be provided as a list, even for single sort criteria. Use 'asc' (default) or 'desc' for order. IMPORTANT: Use calendar event properties ONLY. Do NOT use mail/message properties like 'receivedDateTime'. Valid sortable datetime fields: 'start/dateTime', 'end/dateTime', 'createdDateTime', 'lastModifiedDateTime'. |
| `user_id` | string | Yes | The user's primary SMTP address, user principal name (UPN), or user ID to identify the calendar owner. |
| `timezone` | string | No | Preferred timezone for event start/end times. Accepts IANA format (e.g., 'America/New_York', 'Europe/London', 'Asia/Tokyo') or Windows format (e.g., 'Eastern Standard Time', 'Pacific Standard Time'). Falls back to 'UTC' if the timezone cannot be resolved. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar to retrieve events from. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label stored on each calendar event. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity label. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get calendar view from user's calendar

**Slug:** `MICROSOFT_365_LIST_USER_CALENDAR_VIEW`

Tool to get calendar view from a specific user's calendar. Use when you need to retrieve events that occur or overlap with a specified time window from a user's specific calendar by calendar ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to retrieve. |
| `select` | array | No | List of event properties to return. Defaults to commonly-needed fields excluding the full HTML body. To include the full body content, explicitly add 'body' to this list. |
| `user_id` | string | Yes | The ID of the user or 'me' for the authenticated user. This can be the user's email address or their unique identifier. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `calendar_id` | string | Yes | The unique identifier of the calendar to retrieve events from. Get calendar IDs using the LIST_CALENDARS action. |
| `endDateTime` | string | Yes | The end date and time of the time range in ISO 8601 format with timezone offset (e.g., '2024-12-31T23:59:59-08:00' or '2024-12-31T23:59:59+00:00' for UTC). Events active up to this time will be included. |
| `startDateTime` | string | Yes | The start date and time of the time range in ISO 8601 format with timezone offset (e.g., '2024-01-01T00:00:00-08:00' or '2024-01-01T00:00:00+00:00' for UTC). Events active during this window will be returned. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes the Microsoft Purview sensitivity label applied to each calendar event. This is distinct from the event's built-in sensitivity field and any Teams meeting label. Preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user's chat members

**Slug:** `MICROSOFT_365_LIST_USER_CHAT_MEMBERS`

Tool to list members of a specific chat for a user in Microsoft Teams. Use when you need to retrieve the members of a specific user's chat, whether it's a one-on-one chat, group chat, or meeting chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | The unique identifier of the chat. This is the chat ID returned by Graph API. |
| `user_id` | string | Yes | The unique identifier of the user. Can be the user's ID (GUID), user principal name (UPN/email), or 'me' for the authenticated user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user chat messages

**Slug:** `MICROSOFT_365_LIST_USER_CHAT_MESSAGES`

Tool to retrieve messages from a specific chat for a given user. Use when you need to access chat messages through the user context.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to retrieve. Microsoft Graph enforces a maximum limit of 50 per request. |
| `limit` | integer | No | DEPRECATED: no longer applied. Pagination is now driven by the opaque page_token; use next_page_token from the response to fetch additional pages. |
| `filter` | string | No | OData filter expression for filtering messages by property values (do not include '$filter=' prefix). |
| `chat_id` | string | Yes | Unique Microsoft Graph chat identifier. This is the chat ID returned by Graph API. |
| `orderby` | string | No | Order items by property values (comma-separated list of properties). |
| `user_id` | string | Yes | Unique identifier (GUID or UPN) of the user whose chats to access. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (user_id, chat_id), but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user contacts

**Slug:** `MICROSOFT_365_LIST_USER_CONTACTS`

Tool to retrieve contacts from a specific user's mailbox. Use when you need to list or browse contacts for a given user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of contacts to return. OData $top parameter. |
| `skip` | integer | No | Number of contacts to skip for pagination. OData $skip parameter. |
| `count` | boolean | No | If true, includes a count of the total number of items in the result. OData $count parameter. |
| `expand` | array | No | Related entities to expand inline. OData $expand parameter. |
| `filter` | string | No | OData filter expression to filter contacts. Example: emailAddresses/any(a:a/address eq 'garth@contoso.com') or startswith(displayName,'A'). |
| `select` | array | No | List of properties to include in the response. OData $select parameter. Valid properties: displayName, givenName, surname, emailAddresses, mobilePhone, businessPhones, jobTitle, companyName, etc. |
| `orderby` | array | No | List of properties to order results by. OData $orderby parameter. Format: 'property asc' or 'property desc'. |
| `user_id` | string | Yes | User principal name or ID of the user. Use 'me' for the authenticated user. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user direct reports

**Slug:** `MICROSOFT_365_LIST_USER_DIRECT_REPORTS`

List users, contacts, and other directory objects who directly report to a specified Microsoft Entra user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | boolean | No | Whether to include the total matching direct report count. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | Comma-separated related resources to include in the response. |
| `filter` | string | No | OData filter for direct reports. Uses eventual consistency. |
| `select` | string | No | Comma-separated directory object fields to return. |
| `user_id` | string | Yes | Microsoft Entra user object ID or user principal name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user joined teams

**Slug:** `MICROSOFT_365_LIST_USER_JOINED_TEAMS`

Tool to list the Teams that a specified user is a direct member of (joined teams). Use for access/membership audits when enumerating team members is access-restricted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User ID or user principal name (UPN) to query joined teams for. Use 'me' to query the authenticated user's joined teams. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifier (user_id). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user license details

**Slug:** `MICROSOFT_365_LIST_USER_LICENSE_DETAILS`

List Microsoft product licenses and service-plan provisioning states for a selected tenant user using delegated access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated license detail properties to return. |
| `user_id` | string | Yes | Tenant user object ID or user principal name, such as an email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user directory memberships

**Slug:** `MICROSOFT_365_LIST_USER_MEMBERSHIPS`

List a user's direct Microsoft Entra directory memberships with optional selected fields and advanced queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum memberships to return on this page (1-999). |
| `count` | boolean | No | Whether to include the total membership count in the response. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter for membership properties. Uses eventual consistency. |
| `search` | string | No | Search expression for membership displayName, such as "displayName:Team". |
| `select` | string | No | Comma-separated directory object fields to return. |
| `user_id` | string | Yes | Unique identifier or user principal name of the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user notebooks

**Slug:** `MICROSOFT_365_LIST_USER_NOTEBOOKS`

Lists a paginated collection of OneNote notebooks accessible by a specific user. Use this action when you need to retrieve the available notebooks for a user, display notebook listings, or browse notebooks that are owned by or shared with a specific user. Supports OData query parameters for filtering, sorting, and pagination. Note: The user_id can be a GUID or a user principal name (UPN). Use 'me' to reference the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to ask Microsoft Graph for @odata.count. |
| `expand` | string | No | List of relationships to expand. A legacy comma-separated string is also accepted. Valid values: sections and sectionGroups. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | Comma-separated list of notebook properties to include in the response (OData $select). |
| `orderby` | array | No | Comma-separated list of properties to order results by (OData $orderby). Default order is 'displayName asc'. |
| `user_id` | string | Yes | The unique identifier (GUID) or user principal name (UPN) of the user whose notebooks to retrieve. Use 'me' to reference the signed-in user. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `page_size` | integer | No | The number of notebooks to return per request. Default is 10. Maximum is 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user notebook sections

**Slug:** `MICROSOFT_365_LIST_USER_NOTEBOOK_SECTIONS`

Lists a paginated collection of OneNote sections from a specified user notebook. Use this action when you need to retrieve a page of sections within a notebook that is owned by or accessible to a specific user. Supports OData query parameters for filtering, sorting, and pagination. Note: The user_id can be a GUID or user principal name (UPN). Use 'me' to reference the signed-in user. The default sort order is by display name ascending. This is a read-only operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The number of sections to return per request. Defaults to 10. Maximum is 100. |
| `skip` | integer | No | The number of items to skip before returning results. Use with top/page_size for OneNote client-side pagination. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `expand` | array | No | List of relationships to expand. Valid values: parentNotebook, parentSectionGroup. |
| `filter` | string | No | OData filter expression to apply to filter results. |
| `select` | array | No | Comma-separated list of section properties to include in the response. Valid values include: id, self, displayName, createdDateTime, lastModifiedDateTime, isDefault, pagesUrl, links, createdBy, lastModifiedBy. |
| `orderby` | array | No | Comma-separated list of properties to order results by. Default order is 'displayName asc'. |
| `user_id` | string | Yes | The unique identifier (GUID) or user principal name (UPN) of the user. Use 'me' to reference the signed-in user. |
| `next_link` | string | No | Opaque Microsoft Graph @odata.nextLink URL returned by a previous response. When provided, the action requests this URL directly and ignores other OData paging/filter parameters. |
| `notebook_id` | string | Yes | The unique identifier of the OneNote notebook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user pages

**Slug:** `MICROSOFT_365_LIST_USER_PAGES`

List OneNote pages owned by a user, defaulting to the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned page. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `user_id` | string | No | User ID or user principal name. Defaults to the signed-in user (`me`). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user root section groups

**Slug:** `MICROSOFT_365_LIST_USER_ROOT_SECTION_GROUPS`

List root OneNote section groups for a user, defaulting to the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned section group. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `user_id` | string | No | User ID or user principal name. Defaults to the signed-in user (`me`). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user section group children

**Slug:** `MICROSOFT_365_LIST_USER_SECTION_GROUP_CHILDREN`

Return one independent result page each of direct sections and nested section groups beneath a personal OneNote section group. When a collection's has_more field is true, increase its independent skip offset by the number of items returned to continue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `section_top` | integer | No | Maximum sections to return in this page. |
| `section_skip` | integer | No | Number of matching sections to skip. |
| `section_count` | boolean | No | Include the total matching section count. |
| `section_expand` | array | No | Section relationships to expand. |
| `section_filter` | string | No | OData filter expression for sections. |
| `section_select` | array | No | Section properties to return. |
| `section_orderby` | array | No | Section ordering expressions, such as `displayName asc`. |
| `section_group_id` | string | Yes | Parent OneNote section group ID. |
| `section_group_top` | integer | No | Maximum nested section groups in this page. |
| `section_group_skip` | integer | No | Number of matching nested section groups to skip. |
| `section_group_count` | boolean | No | Include the total matching nested section group count. |
| `section_group_expand` | array | No | Nested section group relationships to expand. |
| `section_group_filter` | string | No | OData filter expression for nested section groups. |
| `section_group_select` | array | No | Nested section group properties to return. |
| `section_group_orderby` | array | No | Nested section group ordering expressions, such as `displayName asc`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user sections

**Slug:** `MICROSOFT_365_LIST_USER_SECTIONS`

List root OneNote sections for a user, defaulting to the signed-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Number of items to return in this page (1-100). |
| `skip` | integer | No | Number of matching items to skip. |
| `count` | boolean | No | Set OData $count=true to include the total collection count. |
| `cursor` | string | No | Continuation cursor from a previous response's next_cursor. Omit for the first page; pass the returned value back verbatim to fetch the next page. |
| `expand` | array | No | Relationships to expand in each returned section. |
| `filter` | string | No | OData filter expression. |
| `select` | array | No | Properties to include in each returned item. |
| `orderby` | array | No | OData order expressions, such as `displayName asc`. |
| `user_id` | string | No | User ID or user principal name. Defaults to the signed-in user (`me`). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Workbook Charts

**Slug:** `MICROSOFT_365_LIST_WORKBOOK_CHARTS`

List charts on a worksheet in an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. Set it to enable pagination on this endpoint: Microsoft Graph returns no continuation link here, so next_page_token is derived from $top/$skip offsets and is only minted when top is set. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (including `session_id` if used), but filter/sort params need not be repeated - the token carries them. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `worksheet_id_or_name` | string | Yes | Worksheet ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workbook Permissions

**Slug:** `MICROSOFT_365_LIST_WORKBOOK_PERMISSIONS`

Tool to list permissions set on the workbook file. Use when you need to see which users or links have access to a specific Excel file by supplying its drive and item IDs. Example: "List permissions for workbook with drive_id 'b!abc123' and item_id '0123456789abcdef'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of permission objects to return. |
| `skip` | integer | No | Number of permission objects to skip. |
| `expand` | string | No | Comma-separated list of related entities to expand. |
| `select` | string | No | Comma-separated list of permission properties to include in the response. |
| `item_id` | string | Yes | The ID of the DriveItem representing the workbook. |
| `drive_id` | string | Yes | The ID of the drive containing the workbook file. Use 'me' for the current user's default OneDrive.  |
| `skip_token` | string | No | Opaque pagination token from a previous response's next_link URL ($skiptoken value). Pass this to fetch the next page of permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Workbook Table Columns

**Slug:** `MICROSOFT_365_LIST_WORKBOOK_TABLE_COLUMNS`

List columns in an Excel workbook table stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. Set it to enable pagination on this endpoint: Microsoft Graph returns no continuation link here, so next_page_token is derived from $top/$skip offsets and is only minted when top is set. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,index. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (including `session_id` if used), but filter/sort params need not be repeated - the token carries them. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `table_id_or_name` | string | Yes | Workbook table ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SharePoint Workbook Table Rows

**Slug:** `MICROSOFT_365_LIST_WORKBOOK_TABLE_ROWS`

List rows in an Excel workbook table stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Optional Microsoft Graph OData $top page size. Set it to enable pagination on this endpoint: Microsoft Graph returns no continuation link here, so next_page_token is derived from $top/$skip offsets and is only minted when top is set. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (including `session_id` if used), but filter/sort params need not be repeated - the token carries them. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |
| `table_id_or_name` | string | Yes | Workbook table ID or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Worksheets

**Slug:** `MICROSOFT_365_LIST_WORKSHEETS`

List worksheets in an Excel workbook using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return per page (OData $top). |
| `skip` | integer | No | Number of items to skip for pagination (OData $skip). |
| `item_id` | string | Yes | The ID of the Excel file (drive item) to list worksheets for. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark chat as read for user

**Slug:** `MICROSOFT_365_MARK_CHAT_READ_FOR_USER`

Tool to mark a chat as read for a specific user in Microsoft Teams. Use when you need to update the read status of a chat for a particular user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | object | Yes | The user for whom the chat should be marked as read. Must include both user ID and tenant ID. |
| `chat_id` | string | Yes | The unique identifier of the chat to mark as read. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark chat as unread for user

**Slug:** `MICROSOFT_365_MARK_CHAT_UNREAD_FOR_USER`

Marks a specific chat as unread for a user by setting the last read message timestamp. Use when you need to mark messages after a certain time as unread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | object | Yes | The user for whom the chat should be marked as unread. Must include both user ID and tenant ID. |
| `chat_id` | string | Yes | The unique identifier of the chat to mark as unread. |
| `lastMessageReadDateTime` | string | No | The timestamp (ISO 8601 format) up to which the user has read messages. Messages after this timestamp will be marked as unread. If not provided, the chat will be marked as entirely unread. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Merge Cells

**Slug:** `MICROSOFT_365_MERGE_CELLS`

Merge cells in a worksheet range using Microsoft Graph API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `range` | string | Yes | The A1-style address of the range to merge (e.g., 'A1:B2'). |
| `across` | boolean | No | Optional. Set true to merge cells in each row of the specified range as separate merged cells. The default value is false. |
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `drive_id` | string | No | Optional drive ID. If not provided, will use 'me' for delegated permissions. Required for application permissions. |
| `worksheet` | string | Yes | The name or ID of the worksheet containing the range to merge. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Folder

**Slug:** `MICROSOFT_365_MICROSOFT_POWERPOINT_CREATE_FOLDER`

Create a folder for PowerPoint files in the current or an explicitly selected accessible drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the folder to create. |
| `drive_id` | string | No | Target drive ID; omit to use the signed-in user's default OneDrive. |
| `parent_folder_id` | string | No | Parent folder DriveItem ID; defaults to the drive root. |
| `conflict_behavior` | string ("fail" | "rename") | No | Safe create behavior when the name already exists: fail or create the folder under a provider-generated unique name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fill PowerPoint Template

**Slug:** `MICROSOFT_365_MICROSOFT_POWERPOINT_FILL_TEMPLATE`

Create one presentation from an existing designed PPTX template by replacing unique literal {{tokens}} simultaneously across reachable slides and speaker notes. The template is downloaded and its eTag is rechecked before one create upload; no intermediate provider copy is created. Every requested token must match.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filename` | string | Yes | Safe destination filename ending in .pptx. |
| `placeholders` | array | Yes | Unique literal {{token}} replacements applied simultaneously to all reachable slides and speaker notes. |
| `template_item_id` | string | Yes | DriveItem ID of the macro-free .pptx template. |
| `conflict_behavior` | string ("fail" | "rename") | No | When filename exists, fail or let Microsoft Graph create a uniquely renamed file. |
| `template_drive_id` | string | No | Drive ID containing the template; omit for the signed-in user's default OneDrive. |
| `destination_drive_id` | string | No | Destination drive ID for a cross-drive create. Supply destination_folder_id with it; omit both to use the template's drive and parent folder. |
| `destination_folder_id` | string | No | Destination folder ID; omit to create beside the template. Required when destination_drive_id is supplied. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Workbook Range

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_CLEAR_WORKBOOK_RANGE`

Clear values, formatting, or both from a range in a drive-hosted Excel workbook without deleting cells or shifting neighboring data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Range to clear in Excel A1 notation. |
| `item_id` | string | Yes | Drive item ID of the Excel workbook to modify. |
| `apply_to` | string ("All" | "Formats" | "Contents") | No | Part of the range to clear: All clears contents and formatting, Formats clears formatting only, and Contents clears values only. Microsoft Graph defaults to All when omitted. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the Excel workbook. |
| `worksheet` | string | Yes | Worksheet ID or name containing the range to clear. |
| `workbook_session_id` | string | No | Optional workbook session ID returned by Microsoft Graph. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Graph subscription

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_CREATE_SUBSCRIPTION`

Create a Microsoft Graph change-notification subscription for a Teams resource. The connected account must have the read permission required by the selected resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource` | string | Yes | Microsoft Graph Teams resource path to monitor. |
| `change_type` | string | Yes | Comma-separated change types to monitor, such as created,updated,deleted. |
| `client_state` | string | No | Opaque secret that Microsoft Graph echoes in notifications. |
| `notification_url` | string | Yes | Public HTTPS webhook URL that can complete Microsoft Graph validation. |
| `expiration_date_time` | string | Yes | UTC ISO 8601 expiration within the maximum lifetime for the resource. |
| `include_resource_data` | boolean | No | Whether notifications should include encrypted resource data. |
| `encryption_certificate` | string | No | Base64-encoded public certificate used to encrypt resource data. |
| `encryption_certificate_id` | string | No | Application-defined identifier for the encryption certificate. |
| `lifecycle_notification_url` | string | No | HTTPS endpoint that receives subscription lifecycle notifications. |
| `latest_supported_tls_version` | string | No | Latest TLS version supported by the webhook, such as v1_2. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create workbook session

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_CREATE_WORKBOOK_SESSION`

Create workbook session

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph drive item ID of the Excel workbook. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the Excel workbook. |
| `persist_changes` | boolean | No | Whether changes made in the workbook session are saved to the workbook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Drive Item

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_DELETE_DRIVE_ITEM`

Move one Microsoft Graph drive file or folder to the recycle bin by drive ID and item ID. Supports conditional deletion and documented lock-bypass preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prefer` | string ("bypass-shared-lock" | "bypass-checked-out" | "bypass-shared-lock, bypass-checked-out" | "bypass-checked-out, bypass-shared-lock") | No | Optional Microsoft Graph delete preference. Use 'bypass-shared-lock', 'bypass-checked-out', or both as a comma-separated value. |
| `item_id` | string | Yes | Drive item ID of the file or folder to move to the recycle bin. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the file or folder. |
| `if_match` | string | No | Optional eTag or cTag precondition. Microsoft Graph returns HTTP 412 without deleting the item when the tag does not match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Graph subscription

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_DELETE_SUBSCRIPTION`

Permanently delete a Microsoft Graph change-notification subscription by ID. The connected account must retain the permission used for the subscribed Teams resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | Microsoft Graph subscription ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download drive item

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_DOWNLOAD_DRIVE_ITEM`

Download drive item

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string | No | Optional output format requested from Microsoft Graph, such as pdf. |
| `item_id` | string | No | Drive item ID to download. Provide exactly one of item_id or item_path. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the file. |
| `item_path` | string | No | Root-relative file path to download, preserving folder separators. Provide exactly one of item_path or item_id. |
| `if_none_match` | string | No | Previously returned eTag or cTag. Microsoft Graph returns 304 Not Modified when the file is unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get drive item

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_GET_DRIVE_ITEM`

Retrieve a Microsoft 365 drive item by ID or nested drive path, optionally selecting fields or including immediate children.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated driveItem fields to return. |
| `item_id` | string | No | Drive item ID. Mutually exclusive with item_path. |
| `drive_id` | string | Yes | Drive containing the item. |
| `item_path` | string | No | Root-relative nested item path. Mutually exclusive with item_id. |
| `if_none_match` | string | No | ETag for a conditional request; Microsoft Graph returns 304 if unchanged. |
| `include_children` | boolean | No | Include immediate children through Microsoft Graph expansion. |
| `include_deleted_items` | boolean | No | Whether to include deleted OneDrive Personal items. Supported only when locating the item by item_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get drive item by path

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_GET_DRIVE_ITEM_BY_PATH`

Retrieve metadata for a Microsoft Teams or Microsoft 365 file or folder using its drive ID and slash-separated path from the drive root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Related driveItem entities to include, such as children. |
| `select` | string | No | Comma-separated driveItem properties to return. |
| `drive_id` | string | Yes | Unique ID of the Microsoft 365 drive that contains the item. |
| `item_path` | string | Yes | Slash-separated path to a file or folder relative to the drive root. Do not include a leading slash, query string, or URL fragment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get group drive

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_GET_GROUP_DRIVE`

Retrieve the default document-library drive associated with a Microsoft 365 group, optionally selecting specific drive properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated drive properties to return without '$select=', such as 'id,name,driveType,webUrl,owner,quota'. |
| `group_id` | string | Yes | Unique identifier of the Microsoft 365 group that owns the drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner plan

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_GET_PLANNER_PLAN`

Retrieve a Microsoft Planner plan by its unique plan ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated Planner plan relationships to include inline. |
| `select` | string | No | Comma-separated Planner plan properties to return. |
| `plan_id` | string | Yes | Unique, case-sensitive identifier of the Planner plan to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get schedule

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_GET_SCHEDULE`

Retrieves schedule configuration properties for a specified Microsoft Teams team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of related entities to expand inline (e.g., 'shifts', 'timesOff'). Leave empty to get only the schedule properties without relationships. |
| `select` | string | No | Comma-separated list of properties to include in the response (e.g., 'id,enabled,timeZone'). Leave empty to get all properties. |
| `team_id` | string | Yes | The unique identifier of the team (GUID format). This is the team whose schedule you want to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Item Children

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_DRIVE_ITEM_CHILDREN`

Return one page of direct child files and folders for a folder in a Microsoft Graph drive, with a continuation cursor when more are available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum children requested for this page. Microsoft Graph can return fewer items and provide a continuation cursor. |
| `expand` | string | No | OData relationship expansion without '$expand=', such as 'thumbnails'. |
| `select` | string | No | Comma-separated DriveItem properties to return, without '$select=', such as 'id,name,folder,file,parentReference'. |
| `item_id` | string | Yes | Drive item ID of the folder whose direct children to list. |
| `orderby` | string | No | OData ordering expression without '$orderby=', such as 'name asc'. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the folder. |
| `skip_token` | string | No | Continuation cursor returned as next_cursor by a previous call. Omit for the first page and pass it back unchanged for the next page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List drive item permissions

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_DRIVE_ITEM_PERMISSIONS`

List effective sharing permissions on a drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated permission properties to return. |
| `item_id` | string | Yes | ID of the drive item whose effective permissions to list. |
| `drive_id` | string | Yes | ID of the drive containing the item. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group calendar view

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_GROUP_CALENDAR_VIEW`

List expanded occurrences, exceptions, and single events in a Microsoft 365 group's bounded time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum calendar-view events to return on this page. |
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `filter` | string | No | OData filter expression for events in the calendar view. |
| `prefer` | string | No | Microsoft Graph response preferences, such as 'outlook.timezone="Pacific Standard Time"', 'outlook.body-content-type="text"', or both comma-separated. |
| `select` | string | No | Comma-separated event properties to return. |
| `orderby` | string | No | Comma-separated event properties and directions used to order results. |
| `group_id` | string | Yes | Microsoft 365 group ID. |
| `end_date_time` | string | Yes | End of the time window as an ISO 8601 date-time. An offset in the value determines its time zone. |
| `start_date_time` | string | Yes | Start of the time window as an ISO 8601 date-time. An offset in the value determines its time zone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group thread posts

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_GROUP_THREAD_POSTS`

List posts in a Microsoft 365 group conversation thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `expand` | string | No | One post relationship to expand, such as attachments or extensions. |
| `select` | string | No | Comma-separated post properties to return. |
| `group_id` | string | Yes | Microsoft 365 group ID. |
| `thread_id` | string | Yes | Conversation thread ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List organizations

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_ORGANIZATIONS`

Read Microsoft 365 tenant organization metadata, including display names and verified domains. Microsoft Graph normally returns one organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated organization properties to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Planner plan buckets

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_PLANNER_PLAN_BUCKETS`

List one page of buckets belonging to a Microsoft Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated bucket properties to return, such as id,name,planId,orderHint. |
| `plan_id` | string | Yes | Unique identifier of the Planner plan whose buckets to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Graph subscriptions

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_SUBSCRIPTIONS`

List Microsoft Graph change-notification subscriptions visible to the connected application and user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List users

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_USERS`

List organization directory users through Microsoft Graph with filtering, pagination, and field selection. Returned user data is limited to the fields recognized by the tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of users to return per page (1-999). Default is 100. For pages beyond the first, pass the `next_page_token` from the response back as `page_token`. Note: Some tenants have restrictive page size policies that may reject explicit $top values. If such an error occurs, the request will be retried without $top. |
| `count` | boolean | No | When true, include @odata.count in the response by sending $count=true. Microsoft Graph requires ConsistencyLevel: eventual for this advanced directory query. |
| `expand` | string | No | OData expand related entities (e.g., manager). |
| `filter` | string | No | OData filter to refine results by property values (e.g., startswith(displayName,'A')). |
| `search` | string | No | OData search query for advanced text search across user properties. Requires ConsistencyLevel: eventual header. Use double quotes for phrases (e.g., "displayName:John"). Not available in Azure AD B2C tenants. |
| `select` | string | No | Comma-separated list of user properties to include (e.g., id,displayName,mail). |
| `orderby` | string | No | OData orderby clause to sort results (e.g., displayName desc). When combined with $filter, advanced query capabilities (ConsistencyLevel: eventual header and $count=true) may be required and will be added automatically if needed. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; filter/sort/search params need not be repeated — the token carries them. |
| `consistencyLevel` | string | No | Set to 'eventual' when using advanced queries with $count or $search. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List workbook tables

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_WORKBOOK_TABLES`

List tables in an Excel workbook stored in a Microsoft Graph drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of workbook tables to return. |
| `skip` | integer | No | Number of workbook tables to skip before returning results. |
| `select` | string | No | Comma-separated workbook table properties to return. |
| `item_id` | string | Yes | Drive item ID of the Excel workbook whose tables to list. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the Excel workbook. |
| `session_id` | string | No | Workbook session ID used to keep this request in an existing session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List workbook worksheets

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_LIST_WORKBOOK_WORKSHEETS`

List workbook worksheets

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque cursor returned by a previous page. Omit it for the first page and pass it back unchanged to continue. |
| `select` | string | No | Comma-separated worksheet properties to return. |
| `item_id` | string | Yes | Unique identifier of the workbook drive item. |
| `drive_id` | string | Yes | Unique identifier of the drive containing the workbook. |
| `workbook_session_id` | string | No | Optional workbook session identifier for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pin message in chat

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_PIN_MESSAGE`

Tool to pin a message in a Microsoft Teams chat. Use when you need to highlight an important message for quick access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | The unique identifier of the chat where the message to be pinned is located. |
| `message_id` | string | Yes | The unique identifier of the message to pin. This is a numeric timestamp string (milliseconds since epoch) returned by the Microsoft Graph API when listing messages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Teams files

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_SEARCH_FILES`

Search accessible drive items using Microsoft Graph Search and KQL, including files associated with Teams. Find items by name, type, content, author, and modification date using boolean logic and date ranges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | The maximum number of file results to return per page. Use with from_index for pagination. |
| `query` | string | Yes | Search query for files in Teams. Supports keywords, filenames, and content search.  **Basic Syntax:** - Keywords: 'budget contract' - Exact phrases: '"project timeline"' - Filenames: 'report.pdf' or 'filename:contract' - File types: 'filetype:pdf' or 'filetype:docx' - Boolean: 'contract AND budget' or 'report OR summary'  **Property Filters:** - filename: File name - 'filename:contract' - filetype: File extension - 'filetype:pdf', 'filetype:docx', 'filetype:xlsx' - author: Creator - 'author:user@example.com' - lastmodifiedtime: Modified date - 'lastmodifiedtime>=2024-10-01'  **Date Filters:** - Exact: 'lastmodifiedtime:2024-10-01' - Greater/equal: 'lastmodifiedtime>=2024-10-01' - Range: 'lastmodifiedtime:2024-10-01..2024-10-31' - Relative: 'lastmodifiedtime>today-30'  **Complex Queries:** - 'contract AND filetype:pdf AND lastmodifiedtime>=2024-10-01' - '(budget OR financial) AND filetype:xlsx' - 'filename:report AND lastmodifiedtime>today-7' |
| `region` | string | No | Specifies the geographic region for the search request. ONLY required when using application permissions (S2S authentication). DO NOT use with delegated permissions (user authentication) - the API will reject the request. Valid values: 'NAM' (North America), 'EMEA' (Europe, Middle East, Africa), 'APAC' (Asia Pacific). Leave unset (None) for delegated permissions. |
| `from_index` | integer | No | The 0-based starting index for pagination. To paginate: check response['value'][0]['hitsContainers'][0]['moreResultsAvailable']. If true, call again with from_index += size (e.g., 0 → 25 → 50). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Teams messages

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_SEARCH_MESSAGES`

Search Microsoft Teams messages using KQL syntax. Supports sender (from:), date filters (sent:), attachments, and boolean logic. Works across all Teams chats and channels the user has access to, including matching self-DM/personal-note messages whose resource chatId is `48:notes`. Examples: 'from:user@example.com AND sent>=2024-10-01', 'punchlist OR termination', 'sent>today-30 AND hasattachment:yes' NOTE: This action requires an organizational Microsoft 365 account (Azure AD/Entra ID). It does NOT work with personal Microsoft accounts (MSA) such as @outlook.com, @hotmail.com, or @live.com. If using a personal Microsoft account, this search will fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | The maximum number of search results to return per page (up to 501). Use with from_index for pagination. |
| `query` | string | No | KQL (Keyword Query Language) search query string. Supports advanced syntax for precise searches.  **Basic Syntax:** - Simple keywords: 'budget report' - Exact phrases: '"quarterly review"' - Boolean operators: 'urgent AND deadline' or 'invoice OR receipt'  **Property Filters (prefix:value):** - from: Sender - 'from:user@example.com' or 'from:example.com' - sent: Date sent - 'sent:2024-10-01', 'sent>=2024-10-01', 'sent:2024-10-01..2024-10-31', 'sent>today-7' - hasattachment: Has files - 'hasattachment:yes' or 'hasattachment:no'  Regular searches also include matching self-DM/personal-note messages; those results have resource chatId='48:notes'.  Note: A search query is required. To return recent messages without a keyword filter, use a date range like 'sent>=2020-01-01'. Empty queries will default to 'sent>=2020-01-01' to return recent messages. |
| `region` | string | No | Specifies the geographic region for the search request. ONLY required when using application permissions (S2S authentication). DO NOT use with delegated permissions (user authentication) - the API will reject the request. Valid values: 'NAM' (North America), 'EMEA' (Europe, Middle East, Africa), 'APAC' (Asia Pacific). Leave unset (None) for delegated permissions. |
| `from_index` | integer | No | The 0-based starting index for pagination. To paginate: check response['value'][0]['hitsContainers'][0]['moreResultsAvailable']. If true, call again with from_index += size (e.g., 0 → 25 → 50). The Teams message ID is hits[]['resource']['id']; hits[]['hitId'] is only the search result's internal identifier. |
| `enable_top_results` | boolean | No | If `true`, sorts results by relevance; otherwise, sorts by date in descending order (newest first). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Drive Item

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_UPDATE_DRIVE_ITEM`

Rename, move, or update file-system times for a Microsoft Graph drive item. Descriptions can be changed only for OneDrive Personal items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the file or folder. Omit to keep the current name. |
| `item_id` | string | Yes | Drive item ID of the file or folder to update. |
| `drive_id` | string | Yes | Microsoft Graph drive ID containing the file or folder. |
| `if_match` | string | No | Current eTag or cTag. Microsoft Graph rejects the update with 412 if the tag no longer matches. |
| `description` | string | No | New description for a OneDrive Personal item. Microsoft documents this property as writable only on OneDrive Personal. |
| `created_date_time` | string | No | ISO 8601 creation time to set in the DriveItem fileSystemInfo facet. |
| `parent_reference_id` | string | No | Drive item ID of the destination folder. Supplying it moves the item within the current drive. |
| `last_modified_date_time` | string | No | ISO 8601 modification time to set in the DriveItem fileSystemInfo facet. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Renew Graph subscription

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_UPDATE_SUBSCRIPTION`

Renew a Microsoft Graph subscription or replace its notification URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | Microsoft Graph subscription ID to update. |
| `notification_url` | string | No | Replacement public HTTPS webhook URL for change notifications. |
| `expiration_date_time` | string | No | New UTC ISO 8601 expiration date and time for the subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Who Am I

**Slug:** `MICROSOFT_365_MICROSOFT_TEAMS_WHO_AM_I`

Return the identity (email, name) of the connected Microsoft Teams account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `MICROSOFT_365_MICROSOFT_TODO_CREATE_TASK`

Create a task in a Microsoft To Do task list. Only title is required. Dates are passed as flat ISO-8601 strings plus a shared timezone; the tool builds the Graph dateTimeTimeZone objects. Notes are passed as body_content (+ body_content_type). NOTE: To Do treats due dates as whole days — the time component of due_date_time is normalized to midnight on save.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Task title. Required — omitting it returns HTTP 400 'The property title is required'. |
| `status` | string ("notStarted" | "inProgress" | "completed" | "waitingOnOthers" | "deferred") | No | Task status: 'notStarted', 'inProgress', 'completed', 'waitingOnOthers', or 'deferred'. Defaults server-side to 'notStarted'. |
| `list_id` | string | Yes | Id of the task list to create the task in (path param todoTaskListId). |
| `time_zone` | string | No | IANA/Windows timezone name applied to due_date_time, start_date_time, and reminder_date_time (e.g. 'UTC', 'Pacific Standard Time'). Graph may normalize the returned dateTimeTimeZone to UTC rather than preserve this name. |
| `categories` | array | No | List of category name strings to tag the task with. |
| `importance` | string ("low" | "normal" | "high") | No | Task importance: 'low', 'normal', or 'high'. Defaults server-side to 'normal'. |
| `body_content` | string | No | Free-text notes/description for the task (maps to body.content). |
| `due_date_time` | string | No | Due date as an ISO-8601 local datetime, e.g. '2026-07-10T00:00:00'. Combined with time_zone into the Graph dueDateTime object. NOTE: To Do treats due dates as whole days — the time component is normalized to midnight on save (e.g. 17:00 becomes 00:00). |
| `is_reminder_on` | boolean | No | Whether a reminder is active. A provided reminder_date_time always activates it. |
| `start_date_time` | string | No | Start date as an ISO-8601 local datetime; combined with time_zone into the Graph startDateTime object. |
| `body_content_type` | string ("text" | "html") | No | Content type of body_content: 'text' or 'html' (maps to body.contentType). Only used when body_content is set. Microsoft To Do may normalize stored HTML to plain text and strip markup. |
| `reminder_date_time` | string | No | Reminder date/time as an ISO-8601 local datetime; combined with time_zone into the Graph reminderDateTime object. Providing this always activates the reminder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `MICROSOFT_365_MICROSOFT_TODO_GET_CURRENT_USER`

Return the profile of the Microsoft account connected to this toolkit (whoami / connection verification). Useful to confirm which mailbox the To Do tasks belong to before other operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fill Template

**Slug:** `MICROSOFT_365_MICROSOFT_WORD_FILL_TEMPLATE`

Fill run-spanning placeholders in main-document paragraphs of a validated DOCX template snapshot, then create a new document. Strict mode requires every requested placeholder to be found; non-strict mode can create a partial fill and reports found, filled, and unfilled keys.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | Placeholder keys mapped to literal values. Keys contain 1 to 255 characters and cannot contain braces. The original main document may contain at most 100 unique placeholders under the same key grammar. |
| `file_name` | string | Yes | New .docx filename. |
| `expected_etag` | string | No | Optional exact template eTag guard before destination creation. |
| `fail_on_missing` | boolean | No | When true, fail before destination creation if any requested main-document placeholder is absent. When false, create a partial fill and report absent requested keys by comparing the requested values keys with placeholders_filled. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Filled-copy upload mode. |
| `template_item_id` | string | Yes | Template DOCX item ID. |
| `placeholder_style` | string ("{{key}}" | "{key}") | No | Placeholder delimiter style. |
| `template_drive_id` | string | Yes | Drive containing the template and destination folder. |
| `wait_timeout_seconds` | number | No | Deprecated compatibility field; filling no longer performs an async copy. |
| `destination_folder_id` | string | Yes | Destination folder in template_drive_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move SharePoint Drive Item

**Slug:** `MICROSOFT_365_MOVE_DRIVE_ITEM`

Move a SharePoint drive item by updating its parentReference.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional new name while moving the item. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `parent_reference` | object | Yes | Parent reference for the destination folder. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Item

**Slug:** `MICROSOFT_365_MOVE_ITEM`

Tool to move a file or folder to a new parent folder in OneDrive. Use when you need to reorganize your files or folders by changing their location. You can optionally rename the item during the move. If a file with the same name exists at the destination, the API returns `nameAlreadyExists`; use the `name` parameter to provide a unique name or resolve the conflict beforehand.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the DriveItem. If not provided, the item retains its original name. Must not contain illegal filename characters; invalid characters cause an `invalidRequest` error. |
| `itemId` | string | Yes | The unique identifier of the file or folder (DriveItem) to be moved. |
| `siteId` | string | No | The unique identifier of the site if the item is in a SharePoint site. Mutually exclusive with drive_id, group_id, and user_id. |
| `userId` | string | No | The unique identifier of the user if accessing another user's drive. Mutually exclusive with drive_id, group_id, and site_id. |
| `driveId` | string | No | The unique identifier of the Drive that contains the item. If not specified, it defaults to the user's personal drive (`/me/drive`). |
| `groupId` | string | No | The unique identifier of the group if the item is in a group drive. Mutually exclusive with drive_id, site_id, and user_id. |
| `description` | string | No | The new description for the drive item. If not provided, the item's description is not changed. |
| `parentReference` | object | Yes | An object specifying the destination folder. Must be provided as an object/dictionary with an 'id' field containing the folder's unique identifier. Format: {"id": "<folder-id>", "driveId": "<drive-id>"} (driveId is optional). Example: {"id": "01BYE5RZZ272Y2AM3L22L22Z2Y2Y2Y2Y2Y"}. Note: Folder names are not accepted - use the folder's unique ID obtained from listing or searching items. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move mail folder

**Slug:** `MICROSOFT_365_MOVE_MAIL_FOLDER`

Tool to move a mail folder and its contents to another mail folder. Use when you need to reorganize the folder hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `folder_id` | string | Yes | Unique ID of the mail folder to move. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). The folder being moved will become a child of this destination folder. If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move child mail folder

**Slug:** `MICROSOFT_365_MOVE_ME_MAIL_FOLDER`

Tool to move a child mail folder to a different parent folder. Use when you need to reorganize subfolders within the folder hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). The folder being moved will become a child of this destination folder. If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `mail_folder_id` | string | Yes | The ID of the parent mail folder that contains the child folder to move. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `child_folder_id` | string | Yes | The ID of the child folder to move. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move message to folder

**Slug:** `MICROSOFT_365_MOVE_MESSAGE`

Move a message to another folder within the specified user's mailbox. Immutable message IDs remain stable across moves within the mailbox. High-volume parallel moves can trigger HTTP 429 (MailboxConcurrency) throttling; honor the Retry-After header.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique immutable ID of the Outlook email message to move. Must be the complete, untruncated ID string from an Outlook list, search, or other message action. Outlook trigger payload IDs are mutable and can become stale after a folder move. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. Prefer folder IDs over well-known names — some tenants reject well-known names like 'deleteditems'. Retrieve current folder IDs via OUTLOOK_LIST_MAIL_FOLDERS rather than hard-coding, as IDs can become stale. Display names are localized and non-unique; never use display names as the destination_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move message from child folder

**Slug:** `MICROSOFT_365_MOVE_MESSAGE_FROM_CHILD_FOLDER`

Tool to move a message from a child folder to another destination folder. Use when you need to move a message that exists within a specific folder hierarchy (parent folder → child folder → message).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | User's id, userPrincipalName, or user object ID. |
| `message_id` | string | Yes | Unique ID of the Outlook email message to move. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destination_id` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems', 'junkemail'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the parent mail folder. Common well-known names include: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. For folder IDs, obtain them from OUTLOOK_LIST_MAIL_FOLDERS. Folder IDs are base64-encoded strings (e.g., 'AAMkAGI0ZjExAAA='). |
| `child_folder_id` | string | Yes | The ID of the child folder containing the message. Obtain this from OUTLOOK_LIST_CHILD_MAIL_FOLDERS. Child folder IDs are base64-encoded strings (e.g., 'AAMkADAwATMwMAExAAA='). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move message from folder

**Slug:** `MICROSOFT_365_MOVE_MESSAGE_FROM_FOLDER`

Tool to move a message from a specific mail folder to another destination folder. Use when you need to move a message and know both the source folder ID and the message ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique ID of the Outlook email message to move. Must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `destinationId` | string | Yes | The destination folder ID, or a well-known folder name (e.g., 'inbox', 'deleteditems', 'drafts', 'sentitems'). If using a folder ID, it must be the complete, untruncated ID string - do not use shortened or ellipsis-containing IDs. |
| `mail_folder_id` | string | Yes | The ID or well-known name of the mail folder containing the message. ONLY these specific well-known names are valid as string names: 'inbox', 'drafts', 'sentitems', 'deleteditems', 'junkemail', 'archive', 'outbox', 'clutter', 'conflicts', 'conversationhistory', 'localfailures', 'msgfolderroot', 'recoverableitemsdeletions', 'scheduled', 'searchfolders', 'serverfailures', 'syncissues'. Arbitrary folder names are NOT valid. If the folder is not one of these well-known names, you MUST use the actual folder ID - a base64-encoded string (e.g., 'AAMkAGI0ZjExAAA=') obtained from OUTLOOK_LIST_MAIL_FOLDERS or OUTLOOK_LIST_CHILD_MAIL_FOLDERS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move or rename DOCX

**Slug:** `MICROSOFT_365_MOVE_OR_RENAME_DOCX`

Rename a DOCX, move it within the same drive, or do both, guarded by its current eTag. At least one of new_name or destination_folder_id is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | Drive containing the DOCX. |
| `new_name` | string | No | New filename ending in .docx. At least one of new_name or destination_folder_id is required. |
| `expected_etag` | string | Yes | Current driveItem eTag; the update fails if the item changed. |
| `destination_folder_id` | string | No | Destination folder driveItem ID in the same drive. At least one of new_name or destination_folder_id is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Workbook Worksheet

**Slug:** `MICROSOFT_365_ONE_DRIVE_ADD_WORKBOOK_WORKSHEET`

Adds a new worksheet to an existing Excel workbook in OneDrive or SharePoint. The worksheet is created with the specified name and appended to the end of the workbook's worksheet collection. Use this action when you need to create a new sheet in an Excel file to organize data, add reports, or separate information into logical sections.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional name for the new worksheet. If omitted, Excel determines the worksheet name. If a worksheet with this name already exists, the API will return an error. |
| `item_id` | string | Yes | The unique identifier of the workbook item (Excel file) where the worksheet will be added. Must be a valid driveItem ID for an Excel workbook. Obtain from ONE_DRIVE_LIST_FOLDER_CHILDREN, ONE_DRIVE_SEARCH_ITEMS, or similar operations. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the workbook. Obtain from ONE_DRIVE_LIST_DRIVES or similar operations. |
| `session_id` | string | No | Optional workbook session ID. Use this to add the worksheet in an existing Excel workbook session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Calculate Workbook

**Slug:** `MICROSOFT_365_ONE_DRIVE_CALCULATE_WORKBOOK`

Recalculate formulas in an Excel workbook at the requested depth.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook to recalculate. |
| `drive_id` | string | Yes | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `session_id` | string | No | Optional workbook session ID to recalculate inside an existing Excel workbook session, so session-local edits are included. |
| `calculation_type` | string ("Recalculate" | "Full" | "FullRebuild") | Yes | Calculation depth: Recalculate recalculates dirty cells, Full recalculates all formulas, and FullRebuild also rebuilds dependencies. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Workbook Range

**Slug:** `MICROSOFT_365_ONE_DRIVE_CLEAR_WORKBOOK_RANGE`

Clears values, formats, or both from a worksheet range in an Excel workbook stored in OneDrive or SharePoint without deleting cells or shifting neighboring data. Use this action when you need to reset a range while preserving the worksheet's cell structure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | The range address in A1 notation to clear without deleting cells or shifting surrounding data. |
| `item_id` | string | Yes | The DriveItem ID of the Excel workbook whose worksheet range should be cleared. |
| `apply_to` | string ("All" | "Formats" | "Contents") | No | The part of a workbook range to clear. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the workbook. Use 'me' for the authenticated user's default OneDrive, or provide a OneDrive/SharePoint drive ID. |
| `session_id` | string | No | Optional workbook session ID to send in the workbook-session-id header. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet that contains the range to clear. Names with spaces or special characters are URL-encoded automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Close Workbook Session

**Slug:** `MICROSOFT_365_ONE_DRIVE_CLOSE_WORKBOOK_SESSION`

Close an Excel workbook session without deleting the workbook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the workbook whose session is being closed. |
| `drive_id` | string | No | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `session_id` | string | Yes | Workbook session ID returned by ONE_DRIVE_CREATE_WORKBOOK_SESSION. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create folder

**Slug:** `MICROSOFT_365_ONEDRIVE_CREATE_FOLDER`

Creates a new folder in the user's OneDrive with configurable conflict behavior, optionally within a specified parent_folder (by ID or full path from root) which, if not the root, must exist and be accessible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The desired name for the new folder (also accepts 'folder_name' as an alias). If a folder with this name already exists in the specified parent_folder, the new folder will be automatically renamed (e.g., 'New Folder' might become 'New Folder 1'). Examples: ['Annual Reports', 'Client Meeting Notes'] |
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user). Required for S2S (app-only) auth. |
| `description` | string | No | Optional description for the folder. Provides a user-visible description of the folder. Examples: ['Project documents for Q1 2024', 'Meeting notes archive'] |
| `parent_folder` | string | No | ID or full path of the parent folder for the new folder. Paths must start from the root (e.g., '/Documents/Reports'). If an ID is provided, it refers to an existing folder's unique ID. Examples: ['/Projects/Alpha', 'folder_id_12345ABC', '/'] |
| `conflict_behavior` | string ("fail" | "rename" | "replace") | No | How Microsoft Graph should handle a folder name conflict in the target parent folder. Use 'fail' to return an error, 'rename' to create a uniquely renamed folder, or 'replace' to replace the existing item when supported by Graph. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new text file

**Slug:** `MICROSOFT_365_ONEDRIVE_CREATE_TEXT_FILE`

Creates a plain-text file in a user's OneDrive folder, identified by ID or path. The conflict behavior can fail, replace, or rename; content is plain text regardless of filename extension.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The desired name for the new text file, including its extension (e.g., 'report.txt', 'notes.log'). Also accepts 'file_name' as an alias. |
| `folder` | string | No | The folder within the user's personal OneDrive where the new text file will be created. Use '/' for root, a path like '/Documents/Projects' (relative to OneDrive root), a folder name like 'MyFolder' (treated as '/MyFolder'), or a valid folder ID. Note: Paths are resolved against the user's personal OneDrive (/me/drive/root) only and cannot target SharePoint document libraries or shared drives. |
| `content` | string | Yes | The plain text content to be written into the new file. For very large text bodies, the request may fail or truncate; split large content across multiple files if needed. |
| `user_id` | string | No | The user's ID or the literal 'me' to represent the currently authenticated user. |
| `conflict_behavior` | string ("fail" | "replace" | "rename") | No | How to handle conflicts when a file with the same name already exists. 'fail' (default) returns an error if the file exists, 'replace' overwrites the existing file, 'rename' creates a new file with an incremented name (e.g., 'file 1.txt'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Upload Session

**Slug:** `MICROSOFT_365_ONE_DRIVE_CREATE_UPLOAD_SESSION`

Create only a resumable upload session for a named file; this action does not upload bytes. It returns a short-lived preauthenticated uploadUrl for an external fragment uploader. Keep the URL secret and do not send an Authorization header to it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | Drive ID. Omit to use the connected user's drive. |
| `file_name` | string | Yes | Name of the file the upload session will create. |
| `file_size` | integer | No | Optional total file size in bytes. This property is supported by OneDrive Personal. |
| `description` | string | No | Optional file description. This property is supported by OneDrive Personal. |
| `defer_commit` | boolean | No | Whether uploading all fragments requires a separate explicit commit. |
| `if_match_etag` | string | No | Only create the session when the target resource matches this ETag. |
| `parent_item_id` | string | Yes | Parent folder DriveItem ID. Use 'root' for the drive root. |
| `conflict_behavior` | string ("rename" | "fail" | "replace") | No | Behavior when an item with the target name already exists. |
| `if_none_match_etag` | string | No | Only create the session when the target resource does not match this ETag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Workbook Session

**Slug:** `MICROSOFT_365_ONE_DRIVE_CREATE_WORKBOOK_SESSION`

Create a persistent or temporary session for an Excel workbook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook. |
| `drive_id` | string | No | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `persist_changes` | boolean | No | True to save workbook changes; false to create a temporary, non-persistent session copy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Shares Permission

**Slug:** `MICROSOFT_365_ONE_DRIVE_DELETE_SHARE_PERMISSION`

Tool to delete the permission navigation property for a shared drive item. Use when you need to remove a sharing link permission. This effectively revokes access via the specific share link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `shared_drive_item_id` | string | Yes | The share ID or base64-encoded sharing URL. This is the shareId returned from the createLink API response. Example format: u!aHR0cHM6Ly9jb21wb3NpbzIwMjQtbXkuc2hhcmVwb2ludC5jb20vOng6L2cvcGVyc29uYWwva2FyYW52YWlkeWFfYXV0aGtpdF9haS9JUURPT2NCVEx5RTFSWktVQkJGZ0YzZVZBUmI4Zk5XVjdhMUJidGQ1NDF2SEdXUQ |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Workbook Worksheet

**Slug:** `MICROSOFT_365_ONE_DRIVE_DELETE_WORKBOOK_WORKSHEET`

Deletes a worksheet from a workbook in OneDrive by its ID or name. Use this action when you need to remove a specific worksheet from an Excel workbook stored in OneDrive or SharePoint. This action is irreversible — the worksheet cannot be recovered once deleted. Note that deleting the last visible worksheet in a workbook may result in an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the workbook item (Excel file). |
| `drive_id` | string | Yes | The ID of the drive containing the workbook. |
| `session_id` | string | No | Optional workbook session ID. If provided, will be sent in the 'workbook-session-id' header to maintain session context. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet to delete from the workbook. Can be either the worksheet's unique identifier or its display name (e.g., 'Sheet1'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Item

**Slug:** `MICROSOFT_365_ONEDRIVE_FIND_FILE`

Find files or folders by exact name within a specified OneDrive folder, without searching subfolders. Results may be paginated; iterate all pages to avoid missing matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The exact name of the file or folder to find within the specified `folder`. Multiple items may match common names; use `response_detail='full'` and disambiguate by path, size, or last-modified timestamp. |
| `limit` | integer | No | Maximum number of matching items to return in this page. |
| `cursor` | string | No | Opaque Microsoft Graph skip token from a previous page. |
| `folder` | string | No | The unique identifier (ID) or absolute path of the OneDrive folder for the search. For the root folder, use '/'. Paths must start with '/'. A non-existent folder silently returns no results rather than an error. |
| `user_id` | string | No | The unique identifier of the user (e.g., a GUID) or the alias 'me' to represent the currently authenticated user. This determines whose OneDrive will be accessed. |
| `response_detail` | string ("minimal" | "full") | No | Level of detail in the response. 'minimal' (default) returns only essential properties (id, name, webUrl). 'full' returns complete metadata for each found item. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Folder

**Slug:** `MICROSOFT_365_ONEDRIVE_FIND_FOLDER`

Find direct child folders in a OneDrive parent folder, optionally matching an exact name. Results are returned one page at a time; a page can be empty even when later pages contain matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return in a single page. Use the returned next_page_token to fetch subsequent pages. |
| `name` | string | No | Exact name of the folder to find. If omitted, all direct child folders of the parent `folder` are returned. |
| `expand` | string | No | Comma-separated list of relationships to expand in the response (e.g., 'thumbnails', 'children'). See Microsoft Graph API documentation for supported expand properties. |
| `folder` | string | No | Path (e.g., '/My Files/Work', '/' for root) or unique ID of the parent folder where child folders are searched. |
| `select` | array | No | List of properties to include in the response (e.g., ['id', 'name', 'size']). Supports standard driveItem properties like id, name, webUrl, size, createdDateTime, lastModifiedDateTime, folder, etc. Note: 'folder' field is automatically included to enable folder identification, and 'name' is auto-included when filtering by folder name. |
| `orderby` | string | No | Sort results by specified properties (e.g., 'name', 'lastModifiedDateTime desc'). |
| `user_id` | string | No | User's unique identifier (e.g., email, UPN) or 'me' for the authenticated user, specifying the OneDrive account. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get document comments

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_DOCUMENT_COMMENTS`

Extracts comments from a Word .docx file in OneDrive. The action downloads the document, parses the OOXML comments part, and returns structured comment data inline. When possible, it also includes the selected text and paragraph context from the document body so agents can understand what each comment refers to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Raw item ID of the Word .docx file. Do not include URL fragments or query parameters like '&cid=...' or '?param=...' from sharing links. |
| `user_id` | string | No | User's ID or User Principal Name (UPN), or 'me' for the authenticated user's OneDrive. Ignored when drive_id is provided. |
| `drive_id` | string | No | The ID of the drive containing the Word document. Required for SharePoint or OneDrive for Business drives when the file is not in the authenticated user's default drive. When provided, user_id is ignored. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_DRIVE`

Retrieves properties and optionally expanded relationships of a Drive resource, including a specific drive or a user's, group's, or site's drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The unique identifier of the drive. This can be the ID of the user's personal OneDrive, a group's document library, or a specific drive ID. Must be a valid, non-empty value; use ONE_DRIVE_LIST_DRIVES to obtain valid drive IDs. |
| `expand_fields` | array | No | A comma-separated list of relationships to expand and include in the response. For example, "root,list" to include the root folder and list information. This allows you to retrieve related resources in a single request. |
| `select_fields` | array | No | A comma-separated list of properties to include in the response. Use this to retrieve specific fields and reduce the response size. For example, "id,name,driveType". If not provided, all default properties are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive Item List Item

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_DRIVE_ITEM_LIST_ITEM`

Retrieve the SharePoint list item associated with a driveItem.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | ID of the driveItem whose associated SharePoint list item to retrieve. |
| `drive_id` | string | Yes | ID of the OneDrive or SharePoint drive containing the item. |
| `expand_fields` | string | No | Set to true to include all SharePoint column values, or provide a list of internal column names to include only those values. |
| `select_fields` | array | No | ListItem properties to return, such as id, contentType, or webUrl. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Group Drive

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_GROUP_DRIVE`

Tool to retrieve the document library (drive) for a Microsoft 365 group. Use when you need to access the default document library associated with a specific group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The unique identifier of the group whose document library you want to retrieve. |
| `select_fields` | array | No | A list of properties to include in the response. Use this to retrieve specific fields and reduce the response size. For example, ["id", "name", "driveType"]. If not provided, all default properties are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Site Details

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_SITE`

Retrieves metadata for a specific SharePoint site by its ID. Use this action when you need to get details like display name, web URL, and creation/modification dates for a known SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Comma-separated list of relationships to expand in the response. Example: columns,lists,drives |
| `select` | string | No | Comma-separated list of properties to include in the response. Example: id,displayName,webUrl |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. This is the id property of the site resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Drive Special Folder

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_SPECIAL_FOLDER`

Tool to retrieve a special folder in OneDrive by name. Use when you need to access well-known folders (documents, photos, approot, etc.) without looking up by path or ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user). Required for S2S (app-only) auth. |
| `select_fields` | array | No | A list of properties to include in the response. Use this to retrieve specific fields and reduce the response size. For example, ['id', 'name', 'size']. If not provided, all default properties are returned. |
| `expand_relations` | array | No | Navigation properties to expand in the response. Common values: 'children' (folder contents), 'thumbnails' (image previews). Other options: 'permissions', 'versions', 'activities', 'analytics', 'createdByUser', 'lastModifiedByUser', 'retentionLabel', 'subscriptions', 'workbook'. |
| `special_folder_name` | string ("documents" | "photos" | "cameraroll" | "approot" | "music" | "recordings") | Yes | The name of the special folder to retrieve. Valid values: 'documents' (Documents folder), 'photos' (Photos folder), 'cameraroll' (Camera Roll Backup folder), 'approot' (application's personal folder), 'music' (Music folder), 'recordings' (Recordings folder - only available in OneDrive for Business/SharePoint). Special folders provide simple aliases to access well-known folders without needing the folder path or ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workbook Worksheet

**Slug:** `MICROSOFT_365_ONE_DRIVE_GET_WORKBOOK_WORKSHEET`

Retrieves a specific worksheet from an Excel workbook stored in OneDrive or SharePoint using Microsoft Graph API. Use this action when you need to get details about a particular worksheet, including its ID, name, position, and visibility. The worksheet can be identified by either its unique ID or its display name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated list of properties to select (e.g., 'id,name,position'). Limits the response to only the specified fields. |
| `item_id` | string | Yes | The ID of the workbook item (Excel file). |
| `drive_id` | string | Yes | The ID of the drive containing the workbook. |
| `session_id` | string | No | Optional workbook session ID. Use this to read from an existing Excel workbook session. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet to retrieve. Can be the worksheet ID or the display name. Will be URL-encoded automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Grant Shares Permission

**Slug:** `MICROSOFT_365_ONE_DRIVE_GRANT_SHARE_PERMISSION`

Tool to grant users access to a link represented by a permission using an encoded sharing URL. Use when you need to give specific users access to a shared OneDrive or SharePoint resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | Yes | Array of Microsoft Graph role strings specifying the access level to grant. Documented/common values include 'read' and 'write'; permission resources may also use 'owner' for SharePoint/OneDrive for Business where supported, and tenant/resource-specific roles may also be accepted by Graph. |
| `recipients` | array | Yes | Array of recipient objects with email addresses who will receive access to the shared link. |
| `encoded_sharing_url` | string | Yes | Base64url encoded sharing URL (must be prefixed with u!). Encode the sharing URL using base64url format and prefix with 'u!' to create the encoded sharing URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Followed Sites

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_FOLLOWED_SITES`

List SharePoint sites followed by the signed-in organizational user. Microsoft documents a known issue that can make results incorrect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_token` | string | No | Opaque continuation token from the preceding response. Omit for the first page and pass next_page_token back unchanged for later pages. |
| `select_fields` | array | No | Site properties to return. Allowed values are id, name, displayName, description, createdDateTime, lastModifiedDateTime, webUrl, eTag, isPersonalSite, root, sharepointIds, and siteCollection. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List OneDrive items

**Slug:** `MICROSOFT_365_ONEDRIVE_LIST_ITEMS`

Lists one page of files and folders at the root of a user's OneDrive without recursively listing subfolders. Pass the returned next-page token back to retrieve further pages; results may include remote-item pointers to shared items in other drives.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of items to return in this page. The Microsoft Graph API may cap this (e.g., to 999). Fetch further pages with the returned `next_page_token`. |
| `select` | array | No | Specifies `driveItem` properties to return. If omitted or empty, default properties are returned. Refer to Microsoft Graph API documentation for a complete list of `driveItem` properties. |
| `user_id` | string | No | User's unique identifier (e.g., 'user@example.com', object ID) or 'me' for the authenticated user's OneDrive. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers (e.g. `user_id`), but `select`/`top` need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Shares Permission

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_SHARE_PERMISSIONS`

Tool to retrieve permission details for a shared OneDrive or SharePoint item using a share ID. Use when you have an encoded sharing URL and need to check the permission level, password protection, and access details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `shared_drive_item_id` | string | Yes | The share ID (encoded sharing URL in format u!<base64url> or share token) to retrieve permission for. This is typically an encoded sharing URL prefixed with 'u!' or a shareId token from a previous API call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Columns

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_SITE_COLUMNS`

Tool to list all column definitions for a SharePoint site. Use this when you need to retrieve the schema or structure of columns within a specific SharePoint site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return. |
| `count` | boolean | No | If true, returns the total count of items in the @odata.count property. |
| `expand` | string | No | Comma-separated list of related resources to expand in the response. |
| `filter` | string | No | OData filter expression to apply to the results. |
| `select` | string | No | Comma-separated list of properties to include in the response. |
| `orderby` | string | No | Comma-separated list of properties used to sort the results. |
| `site_id` | string | Yes | The unique identifier of the SharePoint site. Example: `contoso.sharepoint.com,2C712604-133D-4A7C-9194-F53CE4C952A2,A704AEF5-C2C0-43C3-A3D8-9F55A73A02E2` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Lists

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_SITE_LISTS`

Tool to list all lists under a specific SharePoint site. Use when you need to enumerate lists within a known site. Returns only Microsoft Graph-supported lists — internal/system lists are excluded, so results may be a strict subset of all site lists (e.g., 13 returned where 108 exist). Results are in the `data.value` array. IMPORTANT: Only works with organizational Microsoft 365 accounts (Azure AD/Entra ID). NOT supported for personal Microsoft accounts (MSA/Outlook.com/Hotmail). Personal OneDrive users cannot access SharePoint sites through this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | The maximum number of items to return. |
| `expand` | string | No | Comma-separated list of relationships to expand in the response. Example: columns,items |
| `filter` | string | No | OData filter expression. Example: startswith(name,'Doc') |
| `select` | string | No | Comma-separated list of properties to include in the response. Example: id,name,list |
| `orderby` | string | No | OData order by expression. Example: name asc |
| `site_id` | string | Yes | SharePoint site ID in the required composite format: 'hostname,site-collection-id,web-id' (e.g., 'contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D4B0860-D7DE-419B-88E6-5866AF240000'). Must contain exactly two commas separating three parts: (1) SharePoint hostname, (2) site collection GUID, (3) web GUID. Only works with organizational Microsoft 365 accounts. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Site Recycle Bin Items

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_SITE_RECYCLE_BIN_ITEMS`

Return one page of deleted items from a SharePoint site's recycle bin. This action uses Microsoft Graph's beta API, which can change without notice and isn't supported for production applications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of recycle-bin items requested for the first page. |
| `site_id` | string | Yes | SharePoint site ID whose recycle bin should be listed. |
| `page_token` | string | No | Opaque next-page token returned by this action. Pass it back unchanged to continue the same site's recycle-bin feed. |
| `select_fields` | array | No | Recycle-bin item properties to return, such as id, name, size, and deletedDateTime. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscriptions

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_SUBSCRIPTIONS`

Lists current webhook subscriptions for the authenticated user or app, one page at a time. Results may span multiple drives and resources and can be filtered client-side by resource URL or type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workbook Names

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_WORKBOOK_NAMES`

List defined names and formulas in an Excel workbook. Microsoft documents this endpoint for delegated work or school and personal Microsoft accounts. Application permissions are not supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the Excel workbook. |
| `drive_id` | string | Yes | Drive containing the workbook. Use `me` for the connected user's drive, or pass a Drive resource ID. |
| `page_token` | string | No | Opaque continuation token returned as `next_page_token` by a previous call. Pass it back unchanged with the same drive_id and item_id. |
| `session_id` | string | No | Optional workbook session ID used to read names from an existing Excel workbook session. |
| `select_fields` | array | No | Named-item properties to return. Allowed values are comment, name, scope, type, value, and visible. Formula text is returned through value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workbook Worksheets

**Slug:** `MICROSOFT_365_ONE_DRIVE_LIST_WORKBOOK_WORKSHEETS`

Retrieves a list of all worksheets in an Excel workbook stored in OneDrive or SharePoint. Returns worksheet metadata including IDs, names, positions, and visibility states. Use this action when you need to enumerate available worksheets in a workbook, find a specific worksheet by name, or understand the workbook structure before performing operations on worksheet data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Not applied. The Excel workbook worksheets endpoint returns all worksheets in a single response and does not support $top-based paging with a continuation cursor, so this value is deliberately not sent (a small $top would silently drop worksheets). Kept for backward compatibility. |
| `skip` | integer | No | Number of worksheets to skip before returning results (manual offset). This endpoint returns all worksheets in one response, so pagination is not needed; use only for an explicit offset. |
| `select` | string | No | Comma-separated list of specific fields to return for each worksheet (e.g., 'id,name,position'). If not specified, default fields (id, name, position, visibility) are returned. Refer to the workbookWorksheet resource documentation for available fields. |
| `item_id` | string | Yes | The unique identifier of the workbook item (Excel file). This must be the DriveItem ID of an Excel workbook file (.xlsx, .xlsm, etc.). IDs are case-sensitive and must be used exactly as returned from Microsoft Graph API. Obtain IDs from ONE_DRIVE_LIST_FOLDER_CHILDREN, ONE_DRIVE_SEARCH_ITEMS, or similar operations. |
| `drive_id` | string | Yes | The unique identifier of the OneDrive or SharePoint drive containing the workbook. Use a Drive resource ID such as a OneDrive Personal drive ID or a SharePoint/OneDrive for Business drive ID (commonly prefixed with 'b!'). Obtain this from ONE_DRIVE_LIST_DRIVES, ONE_DRIVE_GET_DRIVE, or similar drive-level operations. Do not pass a DriveItem/file ID here. |
| `session_id` | string | No | Optional workbook session ID. Use this to list worksheets from an existing Excel workbook session. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Drive Item

**Slug:** `MICROSOFT_365_ONE_DRIVE_PREVIEW_DRIVE_ITEM`

Generates or retrieves a short-lived, permission-bound embeddable URL for a preview of a specific item. URLs expire and must be regenerated per session — do not cache. Use when you need to display a temporary preview of a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | string | No | Optional. Page number of document to start at, if applicable. Specified as string for future use cases around file types such as ZIP. |
| `zoom` | number | No | Optional. Zoom level to start at, if applicable. |
| `item_id` | string | Yes | The unique identifier of the DriveItem. |
| `site_id` | string | No | The unique identifier of the Site. Provide if the item is in a SharePoint site. |
| `user_id` | string | No | The unique identifier of the User. Provide if the item is in another user's drive. |
| `drive_id` | string | No | The unique identifier of the Drive. If not provided, the request will be made to the current user's drive. |
| `group_id` | string | No | The unique identifier of the Group. Provide if the item is in a group drive. |
| `share_id` | string | No | The unique identifier of the shared item. Provide if the item is accessed via a share link. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Drive Items

**Slug:** `MICROSOFT_365_ONE_DRIVE_SEARCH_DRIVE_ITEMS`

Search OneDrive and accessible SharePoint files with Microsoft Graph Search. This does not produce a complete shared-with-me list; use deprecated ONE_DRIVE_GET_SHARED_ITEMS only when full shared-with-me enumeration is required before Microsoft removes that API in November 2026. Requires OneDrive permissions plus Sites.Read.All because SharePoint-backed files can appear in results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | integer | No | Zero-based result offset for paging. |
| `size` | integer | No | Number of search results to return. |
| `query` | string | Yes | Microsoft Search query for OneDrive and SharePoint driveItem results. KQL is supported. Use '*' to match all accessible drive items. |
| `fields` | array | No | Optional driveItem fields to return on each hit resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Table Column Range

**Slug:** `MICROSOFT_365_ONE_DRIVE_UPDATE_TABLE_COLUMN_RANGE`

Update values, formulas, number formats, or row and column visibility in a table column's whole or data-body range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | array | No | Two-dimensional array of raw values to write. |
| `item_id` | string | Yes | DriveItem ID of the Office Open XML workbook. |
| `drive_id` | string | Yes | Drive containing the workbook. Use 'me' for the connected user's drive, or provide a Microsoft Graph drive ID. |
| `formulas` | array | No | Two-dimensional array of A1-style formulas or literal values to write. |
| `range_kind` | string ("whole_column" | "data_body") | No | Use data_body for data rows only, or whole_column to include the table column's header and totals ranges. |
| `row_hidden` | boolean | No | Whether all rows in the range should be hidden. |
| `session_id` | string | No | Optional workbook session ID returned by ONE_DRIVE_CREATE_WORKBOOK_SESSION. |
| `column_index` | integer | Yes | Zero-based index of the table column to update. |
| `column_hidden` | boolean | No | Whether all columns in the range should be hidden. |
| `formulas_r1c1` | array | No | Two-dimensional array of R1C1-style formulas or literal values to write. |
| `number_format` | array | No | Two-dimensional array of Excel number format strings to write. |
| `formulas_local` | array | No | Two-dimensional array of A1-style formulas or literal values in the user's language and number-formatting locale. |
| `table_id_or_name` | string | Yes | Exact table ID or table name in the workbook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Workbook Worksheet

**Slug:** `MICROSOFT_365_ONE_DRIVE_UPDATE_WORKBOOK_WORKSHEET`

Updates properties of a worksheet in an Excel workbook stored in OneDrive. Use this action when you need to rename a worksheet, change its position (tab order), or modify its visibility state. At least one of name, position, or visibility must be provided in the request. The worksheet is identified by its ID or display name within the specified workbook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new display name for the worksheet. |
| `item_id` | string | Yes | The ID of the workbook item (Excel file) containing the worksheet. |
| `drive_id` | string | Yes | The ID of the drive containing the workbook. |
| `position` | integer | No | The new zero-based position of the worksheet in the workbook. |
| `session_id` | string | No | Optional workbook session ID. Use this to make changes in an existing Excel workbook session. |
| `visibility` | string ("Visible" | "Hidden" | "VeryHidden") | No | Worksheet visibility state. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet to update. Will be URL-encoded automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload file

**Slug:** `MICROSOFT_365_ONEDRIVE_UPLOAD_FILE`

Uploads a file to a OneDrive or SharePoint folder using chunked uploads, creating missing destination folders as needed. Name conflicts can be renamed, rejected, or replaced.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | No | The file to be uploaded, including its name and access to its binary content. Required if source_url is not provided. |
| `folder` | string | No | Destination folder path from root (e.g., '/Documents/Reports') or a unique folder ID. If the folder path doesn't exist, it will be created automatically (including any intermediate folders in the path). |
| `site_id` | string | No | The unique identifier of the SharePoint site to upload to. If provided, uses /sites/{siteId}/drive. Mutually exclusive with drive_id. |
| `user_id` | string | No | User ID (e.g., user_principal_name, unique GUID) or 'me' for the authenticated user, determining the target OneDrive. |
| `drive_id` | string | No | The unique identifier of the drive to upload to. If not provided, uses the default drive of the user_id. Mutually exclusive with site_id. |
| `file_name` | string | No | Name for the file in OneDrive when using source_url, including extension (e.g., 'report.pdf', 'image.png'). If not provided when using source_url, the filename will be extracted from the URL or Content-Disposition header. Ignored when using file parameter (filename comes from file.name). |
| `source_url` | string | No | Public HTTPS URL of the file to download and upload to OneDrive. Custom source headers are not supported. Required if file is not provided. |
| `verify_ssl` | boolean | No | Deprecated. SSL verification is always required for source_url downloads. |
| `description` | string | No | A user-visible description of the file. Only supported on OneDrive Personal. |
| `defer_commit` | boolean | No | If true, the final file creation is deferred until an explicit completion request is made. Useful for large files where you want to control when the upload is finalized. |
| `if_match_etag` | string | No | An ETag value to prevent lost updates. If provided, the upload will only proceed if the folder/parent's ETag matches this value. Returns 412 error if it doesn't match. |
| `source_headers` | object | No | Deprecated. Custom HTTP headers are not supported when downloading from source_url. |
| `file_system_info` | object | No | File system information on client. |
| `conflict_behavior` | string ("rename" | "fail" | "replace") | No | How to handle file name conflicts. 'rename' automatically renames the file if it exists (default), 'fail' returns an error, 'replace' overwrites the existing file. When renamed, the actual filename in the response may differ (e.g., suffixed with a number); use the response `id` or `webUrl` for follow-up operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create To Do task

**Slug:** `MICROSOFT_365_OUTLOOK_CREATE_TASK`

Tool to create a new task in Microsoft To Do within a specified task list. Use when adding tasks with title, due dates, reminders, importance levels, descriptions, categories, and linked resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Task body content with content type. |
| `title` | string | Yes | The title of the task. This is the main text displayed for the task. |
| `user_id` | string | No | User ID or userPrincipalName. Use 'me' for the signed-in user (delegated auth) or a specific user ID for app-only (S2S) authentication. |
| `categories` | array | No | A list of category labels to organize the task (e.g., tags for filtering or grouping tasks). |
| `importance` | string | No | The importance level of the task. Must be one of: 'low', 'normal', or 'high'. Defaults to 'normal' if not specified. |
| `dueDateTime` | object | No | Date/time with timezone information for task due dates and reminders. |
| `linkedResources` | array | No | A list of resources (documents, links, emails) associated with the task. Each resource can have a webUrl, applicationName, and displayName. |
| `reminderDateTime` | object | No | Date/time with timezone information for task due dates and reminders. |
| `todo_task_list_id` | string | Yes | The unique identifier of the task list where the task will be created. Use the List To Do task lists action to retrieve available list IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get drive item

**Slug:** `MICROSOFT_365_OUTLOOK_GET_DRIVE_ITEM`

Retrieve metadata for one file or folder from a Microsoft Graph drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | DriveItem relationships to include as an OData $expand list. |
| `select` | array | No | DriveItem properties to return as an OData $select list. |
| `item_id` | string | Yes | Opaque identifier of the file or folder to retrieve. |
| `drive_id` | string | Yes | Opaque identifier of the Microsoft Graph drive containing the item. |
| `if_none_match` | string | No | Optional ETag or cTag for a conditional request. Microsoft Graph returns 304 when the item has not changed. |
| `include_deleted_items` | boolean | No | Include deleted items when true. This is supported only for OneDrive Personal items addressed by item ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner plan

**Slug:** `MICROSOFT_365_OUTLOOK_GET_PLANNER_PLAN`

Retrieve one Microsoft Planner plan by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Case-sensitive opaque ID of the Planner plan to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get schedule

**Slug:** `MICROSOFT_365_OUTLOOK_GET_SCHEDULE`

Retrieves free/busy schedule information for specified email addresses within a defined time window. Read-only; does not reserve time or prevent conflicts — verify availability before creating events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | No | The user ID or principal name of the user whose calendar to query. Required for S2S (application) authentication. Can be either the GUID user ID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f') or the user principal name (e.g., 'user@domain.com'). If not provided, the endpoint will use '/me' which requires delegated authentication. |
| `endTime` | object | Yes | The end date, time, and time zone for the period for which to retrieve schedules. The period can be up to 62 days. Object must include `dateTime` (ISO 8601) and `timeZone` (valid Windows or IANA identifier). Must use same timezone convention as `startTime`. |
| `schedules` | array | Yes | A list of SMTP email addresses for users, distribution lists, or resources whose schedules are to be retrieved. Maximum of 20 addresses. Include all relevant participants; omitted addresses may cause slots to appear falsely free. External or invalid addresses may silently return no data. |
| `startTime` | object | Yes | The start date, time, and time zone for the period for which to retrieve schedules. Object must include `dateTime` (ISO 8601) and `timeZone` (valid Windows or IANA identifier, e.g., 'UTC', 'Eastern Standard Time'). Invalid or naive timezone values cause HTTP 400 or silent DST-shifted windows. |
| `availabilityViewInterval` | string | No | The duration of each time slot in the availability view, specified in minutes. Minimum: 5, Maximum: 1440. Default: 30. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Microsoft 365 group calendar view

**Slug:** `MICROSOFT_365_OUTLOOK_LIST_GROUP_CALENDAR_VIEW`

List occurrences, exceptions, and single events from a Microsoft 365 group's default calendar in a time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of events to return on this page (OData $top). |
| `select` | string | No | Event properties to return as a list or comma-separated string (OData $select). |
| `group_id` | string | No | Opaque Microsoft 365 group ID. Required for the first page; omit when page_token is set. |
| `page_token` | string | No | Opaque continuation token returned as next_page_token. Pass it back unchanged to retrieve the next page. |
| `end_date_time` | string | No | Exclusive end of the calendar view in ISO 8601 format. Required for the first page; omit when page_token is set. |
| `start_date_time` | string | No | Inclusive start of the calendar view in ISO 8601 format. Required for the first page; omit when page_token is set. |
| `body_content_type` | string ("text" | "html") | No | Format for returned event bodies, sent as Prefer: outlook.body-content-type. |
| `response_timezone` | string | No | Windows time-zone name for returned event start and end values, sent as Prefer: outlook.timezone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List group thread posts

**Slug:** `MICROSOFT_365_OUTLOOK_LIST_GROUP_THREAD_POSTS`

List posts in one Microsoft 365 group conversation thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of posts requested (OData $top). |
| `expand` | string | No | One post relationship to expand (OData $expand). |
| `select` | string | No | Post properties to return as a list or comma-separated string (OData $select). |
| `group_id` | string | Yes | Microsoft 365 group ID containing the conversation thread. |
| `thread_id` | string | Yes | Conversation thread ID whose posts to list. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back next_page_token unmodified. Do not construct or edit it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List organizations

**Slug:** `MICROSOFT_365_OUTLOOK_LIST_ORGANIZATIONS`

List the connected Microsoft Entra tenant's organization profile. With User.Read, Microsoft returns only id, displayName, and verifiedDomains; request Organization.Read.All when other properties are needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Organization properties to return. Pass a list or comma-separated string; both are sent as one OData $select value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Planner plan buckets

**Slug:** `MICROSOFT_365_OUTLOOK_LIST_PLANNER_PLAN_BUCKETS`

List one page of buckets belonging to a Microsoft Planner basic plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Unique identifier of the Microsoft Planner plan whose buckets to list. |
| `page_token` | string | No | Opaque continuation token returned as `next_page_token` by a previous call for the same plan. Pass it back unmodified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List users

**Slug:** `MICROSOFT_365_OUTLOOK_LIST_USERS`

List or search Microsoft Entra ID users by plain display name, exact email, or account-property filters. Multi-token name searches may return broader candidates, and results can include the signed-in user regardless of the requested filter, so verify matches before use. Use page tokens to continue through results; the maximum page size is 999.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of users to return (OData $top). Name searches default to 25; ordinary list calls retain Microsoft Graph's default page size of 100. Maximum is 999. |
| `skip` | integer | No | Number of users to skip (OData $skip) for pagination. |
| `filter` | string | No | OData filter expression to restrict returned users (OData $filter). Use search for name lookups, not startswith on a full name. For exact lookups, use `userPrincipalName eq 'user@domain.com'` or `mail eq 'user@domain.com'` to avoid full-list pagination scans. |
| `search` | string | No | Plain display name to search for, such as `Lynden Dyer`; do not pass Microsoft Graph syntax. Punctuation and symbols are treated as token separators, so `Dyer, Lynden`, `Jean-Luc`, and `O'Connor` are searched without punctuation. Graph matches name tokens case-insensitively and in any order. If no user matches every token, the action retries once for users matching any token and returns broader candidates. Verify a result's display name or address before using it. |
| `select` | array | No | List of user properties to include in the response (OData $select). |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pin message

**Slug:** `MICROSOFT_365_OUTLOOK_PIN_MESSAGE`

Tool to pin a message in an Outlook chat. Use when you want to mark an important message for quick access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | ID of the chat where the message will be pinned. |
| `user_id` | string | No | User ID (GUID or email) to pin message for. Required for S2S (app-only) authentication. If not provided, uses '/chats' endpoint (requires delegated authentication). |
| `message_url` | string | Yes | Fully qualified Graph URL of the chat message to pin. Format: https://graph.microsoft.com/v1.0/chats/{chat-id}/messages/{message-id} |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Outlook messages

**Slug:** `MICROSOFT_365_OUTLOOK_SEARCH_MESSAGES`

Search Outlook messages using KQL syntax. Supports Microsoft 365, work/school, and personal Microsoft accounts. Personal accounts use the Messages API fallback. Examples: 'from:user@example.com AND received>=2025-10-01', 'to:info@jcdn.nl AND subject:invoice', 'received>today-30 AND hasattachment:yes'

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Number of search results to return per page (1-25). Note: For message entity, max size is 25. Also, from_index + size cannot exceed 1000 (API pagination window limit). |
| `query` | string | No | KQL (Keyword Query Language) search query string. Supports advanced syntax for precise searches.  **Basic Syntax:** - Simple keywords: 'budget report' - Exact phrases: '"quarterly review"' - Boolean operators: 'urgent AND deadline' or 'invoice OR receipt'  **Property Filters (prefix:value):** - from: Sender email - 'from:user@example.com' or 'from:example.com' - to: Recipient email - 'to:info@jcdn.nl' - cc: CC recipient - 'cc:manager@example.com' - subject: Subject line - 'subject:invoice' - received: Date received - 'received:2025-10-01' or 'received>=2025-10-01' - sent: Date sent - 'sent:2025-10-01' or 'sent>=2025-10-01' - hasattachment: Has files - 'hasattachment:yes' or 'hasattachment:no'  **REQUIRED**: For a first page, provide this query parameter OR one of the legacy filters (fromEmail, subject, hasAttachments). For a continuation page, provide page_token. |
| `region` | string | No | Geographic region for the search query. ONLY required when using application permissions (S2S authentication). DO NOT use with delegated permissions (user authentication) - the API will reject the request. Common values: 'US', 'EU', 'GB', 'JP', 'CN', 'IN', 'CA', 'AU', 'BR', 'RU'. Leave unset (None) for delegated permissions. |
| `subject` | string | No | Text to search for within the message subject line. Legacy parameter - prefer using 'subject:text' in the query parameter for more control. When combined with query, this filter is joined using AND. If query contains OR operators, the query is wrapped in parentheses to preserve precedence. Example: Instead of subject='invoice', use query='subject:invoice AND received>=2025-10-01' |
| `user_id` | string | No | Target mailbox: 'me' for the signed-in user, or an email/UPN for a shared/other mailbox (e.g., 'support@example.com'). Shared-mailbox access requires Mail.Read.Shared (delegated) or Mail.Read (application) on the target; 403 means insufficient permissions. Behavior differs by value: 'me' uses the Microsoft Search API, but personal Microsoft accounts automatically fall back to the Messages API with $search; a specific mailbox uses the Messages API directly (responses are normalized back into the same hitsContainers/hits shape, so callers don't need to branch). `region` and `enable_top_results` apply only when the Microsoft Search API is used. Messages API search pagination uses the response's opaque next_page_token; do not set from_index above zero on that path. When continuing a shared-mailbox search, resend this user_id with page_token. |
| `fromEmail` | string | No | Filter messages by sender email address or domain. Supports exact email ('user@example.com') or domain matching ('example.com'). Legacy parameter - prefer using 'from:email@example.com' in the query parameter for more flexibility. When combined with query, this filter is joined using AND. If query contains OR operators, the query is wrapped in parentheses to preserve precedence. |
| `from_index` | integer | No | The 0-based starting index for Microsoft Search API pagination (max 999). Note: from_index + size cannot exceed 1000 (API pagination window limit). To paginate: check response['value'][0]['hitsContainers'][0]['moreResultsAvailable']. For Microsoft Search API results, if true, call again with from_index += size (e.g., 0 → 25 → 50). For Messages API fallback results, pass the response's next_page_token as page_token instead. |
| `page_token` | string | No | Opaque continuation token for the next Messages API fallback page. Omit for the first page; then pass back the next_page_token from the previous response, unmodified. Do not construct or edit it. When set, it preserves the original mailbox, query, and page size. Also resend the original user_id for a shared mailbox so connection requirements can be evaluated correctly. |
| `hasAttachments` | boolean | No | Filters messages based on the presence of attachments. Legacy parameter - prefer using 'hasattachment:yes' or 'hasattachment:no' in the query parameter. When combined with query, this filter is joined using AND. If query contains OR operators, the query is wrapped in parentheses to preserve precedence. |
| `enable_top_results` | boolean | No | If `true`, sorts results by relevance; otherwise, sorts by date in descending order (newest first). |
| `include_sensitivity_label` | boolean | No | When true, hydrates each search hit's Microsoft Purview sensitivity label through Graph JSON batches capped at 20 requests per batch. Requires Mail.Read or Mail.ReadWrite. Treat status unknown as fail-closed before using the search result's message content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search SharePoint sites

**Slug:** `MICROSOFT_365_OUTLOOK_SEARCH_SITES`

Search the connected Microsoft 365 tenant for SharePoint sites.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | Yes | Free-text query used to search SharePoint sites in the tenant. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Who Am I

**Slug:** `MICROSOFT_365_OUTLOOK_WHO_AM_I`

Return the identity (email, name) of the connected Outlook account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Permanently Delete Message

**Slug:** `MICROSOFT_365_PERMANENT_DELETE_MESSAGE`

Permanently deletes an Outlook message by moving it to the Purges folder in the dumpster. Unlike standard DELETE, this action makes the message unrecoverable by the user. IMPORTANT: This is NOT the same as DELETE - permanentDelete is irreversible and availability differs by national cloud deployments (not available in US Government L4, L5 (DOD), or China (21Vianet)).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User's email address, UPN, or 'me' for the currently authenticated user. |
| `message_id` | string | Yes | Unique identifier of the Outlook email message to permanently delete. The message will be moved to the Purges folder in the dumpster and cannot be recovered by the user. |
| `mail_folder_id` | string | No | Optional mail folder ID. If provided, uses the folder-scoped endpoint: /users/{userId}/mailFolders/{mailFolderId}/messages/{messageId}/permanentDelete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reply to Teams channel message

**Slug:** `MICROSOFT_365_POST_MESSAGE_REPLY`

Sends a reply to an existing message, identified by `message_id`, within a specific `channel_id` of a given `team_id` in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locale` | string | No | Locale of the reply message. Microsoft Teams currently documents this as client-set and always 'en-us'; only 'en-us' is supported. |
| `content` | string | Yes | The body of the reply message. This can be plain text or HTML, as specified by the `content_type` field. To @mention someone, this must be HTML containing an <at id="0">Name</at> tag with a matching entry in `mentions`. To @mention a user, send content_type="html", wrap the name in an <at> tag, and add a matching mentions entry whose id equals the <at> id. For example: content_type="html", content='Hello <at id="0">Jane Smith</at>, please review.', mentions=[{"id": 0, "mentionText": "Jane Smith", "mentioned": {"user": {"id": "ef1c916a-3135-4417-ba27-8eb7bd084193", "displayName": "Jane Smith", "userIdentityType": "aadUser"}}}]. The mentioned user id must be the Microsoft Entra (Azure AD) object ID (a GUID), not an email or display name; resolve it first with a user-lookup action. Typing '@Name' into content does nothing: Graph still returns 201 but the name renders as plain text with no notification. |
| `subject` | string | No | The subject of the reply message, in plaintext. Typically null for channel message replies. |
| `summary` | string | No | Summary text for push notifications and summary views. Applies to channel message replies. |
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team that owns/hosts the channel. IMPORTANT: For shared channels, this must be the host team ID (the team that created the channel), not the team where you access the shared channel. If you receive a 404 'Channel does not belong to Team' error, you likely need to use the host team's ID instead. |
| `mentions` | array | No | Entities to @mention in the reply. Each entry must pair with an <at> tag in `content` carrying the same id, and `content_type` must be 'html'. To @mention a user, send content_type="html", wrap the name in an <at> tag, and add a matching mentions entry whose id equals the <at> id. For example: content_type="html", content='Hello <at id="0">Jane Smith</at>, please review.', mentions=[{"id": 0, "mentionText": "Jane Smith", "mentioned": {"user": {"id": "ef1c916a-3135-4417-ba27-8eb7bd084193", "displayName": "Jane Smith", "userIdentityType": "aadUser"}}}]. The mentioned user id must be the Microsoft Entra (Azure AD) object ID (a GUID), not an email or display name; resolve it first with a user-lookup action. Typing '@Name' into content does nothing: Graph still returns 201 but the name renders as plain text with no notification. |
| `channel_id` | string | Yes | The unique identifier of the channel containing the message to reply to. Standard channels use format '19:{alphanumeric}@thread.tacv2'. For shared/private channels, the format may differ (e.g., '19:{guid}@thread.tacv2' or '19:{id}@unq.gbl.spaces'). The channel must belong to the team specified in team_id. |
| `importance` | string | No | Priority level of the reply message. Values: 'normal', 'high', or 'urgent'. If not specified, defaults to 'normal'. |
| `message_id` | string | Yes | The unique identifier of the specific message within the channel to which this reply is directed. |
| `attachments` | array | No | References to attached objects like files, tabs, meetings, or rich cards (e.g., adaptive cards). Each attachment should include 'id', 'contentType', 'contentUrl' or 'content', and optionally 'name' and 'thumbnailUrl'. |
| `content_type` | string | No | Specifies the format of the `content` field. Accepted values are 'text' for plain text content and 'html' for content with HTML formatting. Defaults to 'text' if not provided. Must be 'html' to @mention anyone; if `mentions` is provided this is automatically upgraded to 'html', since Graph only renders <at> tags in an HTML body. |
| `hosted_contents` | array | No | Inline images or code snippets to embed in the reply. Each item requires a file and a temporary_id. Reference hosted content in the HTML body via <img src='../hostedContents/{temporary_id}/$value'> tags. Requires content_type to be 'html'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Protect Worksheet

**Slug:** `MICROSOFT_365_PROTECT_WORKSHEET`

Tool to protect a worksheet using optional protection options. Use when you need to prevent editing certain parts of a sheet before sharing. Example: "Protect 'Sheet1' to lock formatting and sorting."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel file (drive item) containing the worksheet. |
| `options` | object | No | Sheet protection options. If omitted, default protection is applied. |
| `drive_id` | string | No | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `worksheet` | string | Yes | The name or ID of the worksheet to protect. If using ID, it must be URL-encoded. |
| `session_id` | string | No | Optional session ID for the workbook. If provided, will be sent in the headers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Provision channel email address

**Slug:** `MICROSOFT_365_PROVISION_CHANNEL_EMAIL`

Tool to provision an email address for a Microsoft Teams channel. Use when you need to enable email integration for a specific channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team that contains the channel. |
| `channel_id` | string | Yes | The unique identifier of the channel within the team to provision an email address for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Booking Business

**Slug:** `MICROSOFT_365_PUBLISH_BOOKING_BUSINESS`

Publish a booking business's external scheduling page so customers can access it. After publishing, call Get Booking Business to retrieve the resulting public URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | ID of the configured booking business to publish. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish SharePoint Content Type

**Slug:** `MICROSOFT_365_PUBLISH_CONTENT_TYPE`

Publish a SharePoint content type from the content type hub site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. This must be the content type hub site (the site that hosts the published content types). |
| `content_type_id` | string | Yes | Microsoft Graph contentType ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish SharePoint Site Page

**Slug:** `MICROSOFT_365_PUBLISH_SITE_PAGE`

Publish a SharePoint site page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | Microsoft Graph site page ID. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID in the format 'hostname,siteCollectionId,webId'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query Emails

**Slug:** `MICROSOFT_365_QUERY_EMAILS`

Query one Outlook mail folder using a validated OData filter, with field selection, sorting, offset, and continuation-token pagination. Requests up to 100 messages by default and up to 1,000 per page; sorting may be dropped if Graph rejects it as inefficient.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of messages to return per request (1-1000). Default is 100. IMPORTANT: For large mailboxes, paginate using `next_page_token`. Pagination example: 1) Call with top=100, 2) Read `next_page_token` from the response, 3) If present, call again passing it back as `page_token`, 4) Repeat until `next_page_token` is absent. |
| `skip` | integer | No | Number of messages to skip for pagination. NOTE: For large result sets, prefer the returned `next_page_token` (pass it back as `page_token`) over manual skip. |
| `filter` | string | No | OData $filter query string to filter email messages. Syntax: 'field operator value' combined with 'and', 'or', 'not'.          **Operators:** eq, ne, lt, le, gt, ge, startswith(), contains(), any()          **String Functions:**         - subject: contains(), startswith()         - from/sender: startswith() and eq only. contains() is NOT supported on sender/from fields         - endswith() is NOT reliably supported by Microsoft Graph API for message filtering          **Filterable Fields:**         - `isRead` - Boolean: true/false         - `importance` - String: 'low', 'normal', 'high'         - `subject` - String (exact match or startswith)         - `hasAttachments` - Boolean: true/false         - `receivedDateTime`, `sentDateTime` - DateTime (ISO 8601: 2025-10-01T00:00:00Z, NOT enclosed in quotes)         - `conversationId` - String (exact match)         - `categories` - Array (use any() operator: `categories/any(a:a eq 'CategoryName')`)         - `isDraft`, `flag/flagStatus` - Boolean/String flags         - `from/emailAddress/address`, `sender/emailAddress/address` - Sender email (ONLY 'address' is filterable, NOT 'name')          **NOT filterable:** toRecipients, ccRecipients, bccRecipients, body/content, id — use OUTLOOK_SEARCH_MESSAGES for these.          **Categories Filtering:**         - Single: `categories/any(a:a eq 'CategoryName')`         - Multiple (OR): Use SEPARATE any() calls: `categories/any(a:a eq 'Cat1') or categories/any(b:b eq 'Cat2')`         - For category names containing single quotes, escape them by doubling: `categories/any(a:a eq 'Owner''s Category')`          **Date Filtering:**         - ISO 8601 format: 2025-10-01T00:00:00Z (no quotes around datetime values)         - Operators: ge, gt, le, lt  |
| `folder` | string | No | SINGLE mail folder to search within (cannot search across all folders). Well-known names (case-insensitive): 'inbox', 'sentitems', 'drafts', 'deleteditems', 'outbox', 'junkemail', 'archive', 'clutter', 'recoverableitemsdeletions'. For custom folders (e.g., 'Billing', 'Projects'), you MUST provide the folder ID (a long base64-like string like 'AAMkAGU0NTRiNDA4...'). Use OUTLOOK_LIST_MAIL_FOLDERS to get folder IDs for custom folders. Do NOT pass folder URLs or display names. IMPORTANT: To search across ALL folders, use OUTLOOK_SEARCH_MESSAGES instead (searches entire mailbox without folder restriction). NOTE: This parameter also accepts 'folder_id' as an alias for backwards compatibility. |
| `select` | array | No | List of message properties to include in the response (accepts comma-separated string or list). Field names are automatically normalized to correct camelCase (e.g., 'bodypreview' -> 'bodyPreview', 'hasattachments' -> 'hasAttachments'). Valid fields: id, subject, from, sender, toRecipients, ccRecipients, bccRecipients, replyTo, receivedDateTime, sentDateTime, createdDateTime, lastModifiedDateTime, hasAttachments, importance, isRead, isDraft, body, bodyPreview, uniqueBody, categories, conversationId, conversationIndex, parentFolderId, changeKey, internetMessageId, internetMessageHeaders, webLink, flag, attachments, inferenceClassification, isReadReceiptRequested, isDeliveryReceiptRequested. NOTE: 'inReplyTo' is NOT a valid property for email messages in Microsoft Graph v1.0. When not specified, returns metadata without body. Include 'body' for full content. Pass [] for all fields. |
| `orderby` | string | No | Sort order as comma-separated string or list (accepts 'field asc/desc' format or JSON-serialized arrays). Input is automatically normalized to correct format. Common fields: receivedDateTime, sentDateTime, subject, importance, from. NOTE: Ordering may be automatically disabled by Microsoft Graph API when using certain filters (e.g., subject exact match, conversationId) to avoid 'InefficientFilter' errors. In those cases, results will be unsorted. |
| `user_id` | string | No | Target user's email or 'me' for authenticated user. IMPORTANT: 'me' uses the currently connected account. For shared or delegated mailbox access, ensure the connected user has mailbox access and the app has Mail.Read.Shared. 403 errors indicate insufficient delegated/application permissions. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend any required identifier fields from the first call (the token supersedes their values). Optional filter, sort and timezone params need not be repeated; the token carries them. |
| `include_sensitivity_label` | boolean | No | When true, retrieves and normalizes Microsoft Purview sensitivity labels in the same Graph request. Requires Mail.Read or Mail.ReadWrite. Treat status unknown as fail-closed before using a message's content. The setting is preserved in next_page_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read DOCX

**Slug:** `MICROSOFT_365_READ_DOCX`

Inspect a DOCX as bounded rich OOXML, including paragraphs, formatted runs, tables, images, hyperlinks, footnotes, comments, revisions, page breaks, sections and styles. Returns an eTag for locators, withholds download URLs, external relationship targets and document bytes, and applies a 100-megapixel aggregate bound to PNG and JPEG image records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parts` | array | No | OOXML text-bearing parts to read. Document includes body paragraphs, table cells, and text boxes in the main document part. |
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | OneDrive or SharePoint document-library drive ID. |
| `max_characters` | integer | No | Maximum text characters to return across all selected parts (1000-500000). |
| `max_paragraphs` | integer | No | Maximum paragraphs to return across all selected parts (1-2000). |
| `max_structural_elements` | integer | No | Maximum paragraphs, runs, tables, rows, cells, images, page breaks, sections, and section references returned across selected parts in package order (1-20000). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Workbook Range

**Slug:** `MICROSOFT_365_READ_WORKBOOK_RANGE`

Reads a range of cells from an Excel workbook worksheet stored in OneDrive or SharePoint using Microsoft Graph API. Returns cell values, formulas, formatting, and metadata for the specified range. Use this action when you need to extract data from specific cells in an Excel file, whether reading a single cell, a rectangular range, an entire column, or an entire row. The range address must be specified in A1 notation (e.g., 'A1:B5').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | The range address in A1 notation. Supports single cells (e.g., 'A1'), cell ranges (e.g., 'A1:B5'), entire columns (e.g., 'A:A'), or entire rows (e.g., '1:1'). The address is used as-is in the Graph API function call syntax. |
| `item_id` | string | Yes | The unique identifier of the workbook item (Excel file). This is the DriveItem ID for the Excel file containing the worksheet you want to read from. |
| `drive_id` | string | Yes | The unique identifier of the drive containing the workbook. Required to locate the Excel file in OneDrive or SharePoint. |
| `session_id` | string | No | Optional workbook session ID. Use this to read from an existing Excel workbook session. |
| `select_fields` | array | No | Optional list of specific fields to return in the response. If not specified, all default range properties are returned. Available fields include: address, addressLocal, cellCount, columnCount, columnHidden, columnIndex, hidden, rowCount, rowHidden, rowIndex, values, formulas, text, valueTypes, numberFormat. |
| `worksheet_id_or_name` | string | Yes | The ID or name of the worksheet within the workbook. Can be a worksheet name like 'Sheet1' or a worksheet ID like '{00000000-0001-0000-0000-000000000000}'. Non-ASCII names are automatically URL-encoded. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read worksheet range

**Slug:** `MICROSOFT_365_READ_WORKSHEET_RANGE`

Read worksheet range

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `select` | string | No | Comma-separated workbook range properties to return. |
| `address` | string | No | Range address or name to read, such as A1:B5. Omit to read the whole worksheet, or when used_range is true. |
| `item_id` | string | Yes | Unique identifier of the workbook drive item. |
| `drive_id` | string | Yes | Unique identifier of the drive containing the workbook. |
| `worksheet` | string | Yes | Worksheet ID or name containing the range to read. |
| `used_range` | boolean | No | Set true to read the worksheet's used range instead of an addressed range. |
| `values_only` | boolean | No | For used_range only, whether to ignore formatting-only cells when determining the used range. |
| `workbook_session_id` | string | No | Optional workbook session identifier for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reapply All Table Filters

**Slug:** `MICROSOFT_365_REAPPLY_TABLE_FILTERS`

Reapply All Table Filters

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reapply Table Sort

**Slug:** `MICROSOFT_365_REAPPLY_TABLE_SORT`

Reapply Table Sort

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `table_id` | string | Yes | The table ID or exact name. |
| `worksheet` | string | No | Optional worksheet ID or name. |
| `session_id` | string | No | Optional workbook session ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reauthorize Microsoft Graph Subscription

**Slug:** `MICROSOFT_365_REAUTHORIZE_SUBSCRIPTION`

Reauthorize a Microsoft Graph webhook subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | Microsoft Graph subscription ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refresh Pivot Tables

**Slug:** `MICROSOFT_365_REFRESH_PIVOT_TABLES`

Refresh Pivot Tables

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `worksheet` | string | Yes | The worksheet ID or exact name. |
| `session_id` | string | No | Optional workbook session ID. |
| `pivot_table_id` | string | No | Pivot table ID; omit to refresh every pivot table in the worksheet. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refresh Excel Session

**Slug:** `MICROSOFT_365_REFRESH_SESSION`

Refresh Excel Session

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The Excel workbook drive-item ID. |
| `drive_id` | string | No | Optional drive ID. |
| `session_id` | string | Yes | The workbook session ID to refresh. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove channel email address

**Slug:** `MICROSOFT_365_REMOVE_CHANNEL_EMAIL`

Tool to remove the email address of a channel in Microsoft Teams. Use when you need to disable email integration for a specific channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier (GUID) of the team that contains the channel. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `channel_id` | string | Yes | The unique identifier of the channel whose email address should be removed. Must be in thread format (e.g., '19:4889194729264b06aa92cadc3cbb8bf0@thread.tacv2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove channel member

**Slug:** `MICROSOFT_365_REMOVE_CHANNEL_MEMBER`

Remove one membership from a private or shared Microsoft Teams channel. Microsoft Graph does not support this operation for standard channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | Unique identifier of the team that owns the channel. |
| `channel_id` | string | Yes | Unique identifier of the private or shared channel. |
| `membership_id` | string | Yes | Channel membership identifier returned when listing the channel's members; this is not the member's user identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove chat member

**Slug:** `MICROSOFT_365_REMOVE_CHAT_MEMBER`

Tool to remove a member from a Microsoft Teams chat. Use when you need to remove a user from a chat conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | The unique identifier of the chat from which to remove the member. |
| `if_match` | string | No | Optional ETag header value for conditional requests. Use this to ensure the member hasn't been modified since you last retrieved it. |
| `membership_id` | string | Yes | The unique identifier of the conversationMember to remove from the chat. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove SharePoint Drive Item Retention Label

**Slug:** `MICROSOFT_365_REMOVE_DRIVE_ITEM_RETENTION_LABEL`

Remove a drive item's retention label and associated retention settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph drive item ID whose retention label to remove. |
| `drive_id` | string | Yes | Microsoft Graph drive ID of the document library. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Microsoft 365 group member

**Slug:** `MICROSOFT_365_REMOVE_GROUP_MEMBER`

Remove a directory object's direct membership reference from a Microsoft 365 group without deleting the directory object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Microsoft 365 group ID whose direct membership will be changed. |
| `member_id` | string | Yes | Directory object ID to remove from the group. The object itself is not deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove team member

**Slug:** `MICROSOFT_365_REMOVE_TEAM_MEMBER`

Tool to remove a member from a Microsoft Teams team. Use when you need to remove a user from a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team from which to remove the member. |
| `if_match` | string | No | Optional ETag header value for conditional requests. Use this to ensure the member hasn't been modified since you last retrieved it. |
| `membership_id` | string | Yes | The unique identifier of the conversationMember to remove from the team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove team members

**Slug:** `MICROSOFT_365_REMOVE_TEAM_MEMBERS`

Remove one or more members from a Microsoft Teams team in bulk, up to 20 per request. Partial failures are returned with individual removal results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `members` | array | Yes | List of members to remove from the team. Maximum 20 members can be removed in a single request. |
| `team_id` | string | Yes | The unique identifier (GUID) of the Microsoft Teams team from which to remove members. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Presentation File

**Slug:** `MICROSOFT_365_REPLACE_PRESENTATION_FILE`

Replace the bytes of an existing PowerPoint DriveItem with a valid, non-macro-enabled PPTX package no larger than 250 MiB, optionally requiring a matching eTag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the existing PowerPoint file to replace. |
| `drive_id` | string | No | Drive ID containing the item; omit to use the signed-in user's default OneDrive. |
| `presentation` | object | Yes | Replacement PPTX file; it must be a valid Open XML package no larger than 250 MiB. |
| `if_match_etag` | string | No | Expected current eTag; replacement fails if another editor changed the presentation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Text

**Slug:** `MICROSOFT_365_REPLACE_TEXT`

Replace the first or all occurrences of literal text in the main document of a DOCX, including matches across Word run boundaries. Matching can be case-sensitive or case-insensitive, and replacements can be recorded as tracked revisions. An optional eTag guards against editing a different document version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `find` | string | Yes | Literal text to find. |
| `author` | string | No | Revision author when tracking changes. |
| `item_id` | string | Yes | DOCX item ID. |
| `replace` | string | Yes | Literal replacement text. |
| `drive_id` | string | Yes | Drive ID. |
| `match_case` | boolean | No | Use case-sensitive matching. |
| `occurrence` | string ("first" | "all") | No | Replace the first or all matches. |
| `expected_etag` | string | No | Optional exact eTag concurrency guard. |
| `track_changes` | boolean | No | Record replacements as revisions. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reply all

**Slug:** `MICROSOFT_365_REPLY_ALL`

Send a reply to every recipient selected by Outlook's reply-all semantics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | Yes | The plain-text comment to send to every recipient selected by Outlook's reply-all semantics. |
| `user_id` | string | Yes | The mailbox UPN or user ID. Pass 'me' only with delegated authentication; app-only authentication requires an explicit user ID or UPN. |
| `message_id` | string | Yes | The complete Microsoft Graph ID of the message to reply to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reply to Email

**Slug:** `MICROSOFT_365_REPLY_EMAIL`

Sends a reply to an Outlook email message with optional HTML formatting, attachments, CC, and BCC recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | Yes | The body content of the reply email. Can be plain text or HTML based on is_html flag. |
| `is_html` | boolean | No | Whether the comment body should be rendered as HTML (true) or plain text (false). When false, HTML tags in the comment will be displayed as literal text. |
| `user_id` | string | No | The user's email address or 'me' to indicate the authenticated user. This specifies the mailbox from which the reply will be sent. |
| `cc_emails` | array | No | List of email addresses for CC recipients. |
| `attachment` | string | No | File(s) to attach to the reply. Accepts a single file or a list of files. |
| `bcc_emails` | array | No | List of email addresses for BCC recipients. |
| `message_id` | string | Yes | The Microsoft Graph message ID (NOT an email address). This is a Base64-encoded string typically starting with 'AAMk' (e.g., 'AAMkAGI2TAAA='). Do NOT pass email addresses like 'user@example.com'. Obtain this ID from the 'id' field returned by `OUTLOOK_LIST_MESSAGES`, `OUTLOOK_GET_MESSAGE`, or `OUTLOOK_SEARCH_MESSAGES` actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Report message

**Slug:** `MICROSOFT_365_REPORT_MESSAGE`

Report a message as unknown, junk, not junk, or phishing. Reporting influences Microsoft's future mail filtering and cannot be retracted as an ordinary field update; when is_message_move_requested is true, Microsoft Graph can also move the message out of its current folder. On success, this beta operation may return either a command result with properties such as Status=Success or the message object documented by Microsoft Graph. The documented unknownFutureValue enum member is a forward-compatibility sentinel and is intentionally not exposed as a selectable report action. This action uses Microsoft Graph's beta API, which is subject to change and is not supported by Microsoft for production applications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message_id` | string | Yes | Complete ID of the message in the connected user's mailbox to report. |
| `report_action` | string ("unknown" | "junk" | "notJunk" | "phish") | Yes | Classification to report: unknown, junk, notJunk, or phish. The documented unknownFutureValue member is a forward-compatibility sentinel for values introduced after this action and is intentionally not selectable. |
| `is_message_move_requested` | boolean | Yes | Whether Microsoft Graph should move the message out of its current folder as part of the report. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve Shared Workbook

**Slug:** `MICROSOFT_365_RESOLVE_SHARED_WORKBOOK`

Resolve a Microsoft Graph share token, shareId, or raw sharing URL to DriveItem metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `share` | string | Yes | A shareId or 'u!' sharing token returned by Microsoft Graph, or the complete raw HTTP(S) sharing URL to encode for Graph shares addressing. |
| `select` | array | No | DriveItem properties and facets to return via Microsoft Graph $select. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve SharePoint Site By Path

**Slug:** `MICROSOFT_365_RESOLVE_SITE_BY_PATH`

Resolve a SharePoint site from its hostname and server-relative path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Optional Microsoft Graph OData $expand value for related resources. |
| `select` | string | No | Optional Microsoft Graph OData $select value, for example id,name,webUrl. |
| `hostname` | string | Yes | SharePoint hostname such as contoso.sharepoint.com, or contoso-my.sharepoint.com for personal sites. If you don't know the signed-in user's geo hostname, call SHAREPOINT_GRAPH_GET_MY_SITE first and pass its hostname. Use my_site_hostname from that response only when resolving the returned personal /personal/... site path. Do not use SHAREPOINT_GRAPH_GET_ROOT_SITE for a specific user's sites because it returns the tenant root site rather than the user's OneDrive mySite location. |
| `site_path` | string | No | Server-relative SharePoint site path such as '/' or '/sites/Finance'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve SharePoint site by URL

**Slug:** `MICROSOFT_365_RESOLVE_SITE_BY_URL`

Resolve a SharePoint site URL or hostname and path to a Microsoft Graph site resource. Use this when the user provides a SharePoint URL and a site ID is needed for OneNote notebook discovery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | array | No | OData $expand relationships supported by the site resource, such as drive,drives,lists,onenote,sites. |
| `select` | array | No | OData $select site properties, such as id,displayName,webUrl. |
| `hostname` | string | No | SharePoint site collection hostname, such as contoso.sharepoint.com. Required when sharepoint_url is not provided. |
| `site_path` | string | No | Server-relative site path, such as /sites/Marketing or /teams/Product. Use / or leave empty for the root site. Raw spaces are encoded and existing percent-encoded segments are preserved. |
| `sharepoint_url` | string | No | Full SharePoint site URL, such as https://contoso.sharepoint.com/sites/Marketing. If provided, hostname and site_path are derived from it. Already percent-encoded path segments are preserved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve Tracked Changes

**Slug:** `MICROSOFT_365_RESOLVE_TRACKED_CHANGES`

Accept or reject supported pending run-level insertions and deletions in a DOCX, either all or selected revision locators returned by READ_DOCX. Accept-all and reject-all fail if the document contains unsupported revision forms; selected locators require the corresponding eTag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mode` | string ("accept_all" | "reject_all" | "accept" | "reject") | Yes | Accept or reject all revisions, or selected READ_DOCX revision locators. |
| `item_id` | string | Yes | DOCX item ID. |
| `drive_id` | string | Yes | Drive ID. |
| `expected_etag` | string | No | Optional exact eTag concurrency guard; required for accept or reject with eTag-bound revision locators. |
| `upload_strategy` | string ("auto" | "direct" | "resumable") | No | Upload mode. |
| `revision_locators` | array | No | Required unique revision locators for accept or reject. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore SharePoint Document Set Version

**Slug:** `MICROSOFT_365_RESTORE_DOCUMENT_SET_VERSION`

Restore a captured version of a document set list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | ID of the document set list item to restore. |
| `list_id` | string | Yes | ID of the list containing the document set. |
| `site_id` | string | Yes | Microsoft Graph SharePoint site ID. |
| `document_set_version_id` | string | Yes | ID of the captured document set version to restore. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore DOCX version

**Slug:** `MICROSOFT_365_RESTORE_DOCX_VERSION`

Restore a retained DOCX version as a new current version, preserving version history, then observe the item's current metadata in a post-operation read. That metadata does not independently prove which version supplied the current content. A required eTag check rejects already-stale callers before mutation, but Graph does not document an atomic If-Match precondition for this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DOCX driveItem ID. |
| `drive_id` | string | Yes | Drive containing the DOCX. |
| `version_id` | string | Yes | Version ID returned by LIST_DOCX_VERSIONS. |
| `expected_etag` | string | Yes | Exact current eTag returned by READ_DOCX. The restore is rejected before the request if the document has already changed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Deleted Item

**Slug:** `MICROSOFT_365_RESTORE_DRIVE_ITEM`

Tool to restore a deleted OneDrive driveItem (file or folder) from the recycle bin. Use when you need to recover a deleted item to its original location or to a specified parent folder, optionally renaming it during restoration. IMPORTANT LIMITATION: This API is ONLY available for OneDrive Personal accounts. It does NOT work with OneDrive for Business or SharePoint. For Business/SharePoint accounts, use the SharePoint REST API endpoints (/_api/web/recyclebin) instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | (Optional) The new name for the restored item. If not provided, the item will be restored with its original name. This is useful if you want to rename the item during the restore process or if an item with the same name already exists in the destination. |
| `item_id` | string | Yes | The unique identifier of the deleted DriveItem (file or folder) to restore. This item must currently be in the OneDrive recycle bin. The ID can be obtained from deleted items listing or from the item before deletion. |
| `drive_id` | string | No | The unique identifier of the Drive containing the deleted item. Required when using application authentication. If not provided with delegated authentication, uses the authenticated user's default drive. |
| `parent_reference_id` | string | No | (Optional) The unique identifier of the parent folder where the item should be restored. If not provided, the item will be restored to its original parent location. This is useful when you want to restore the item to a different folder than where it was originally located. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore SharePoint Drive Item Version

**Slug:** `MICROSOFT_365_RESTORE_DRIVE_ITEM_VERSION`

Restore a previous version of a SharePoint drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `version_id` | string | Yes | Microsoft Graph version ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Item Version

**Slug:** `MICROSOFT_365_RESTORE_ITEM_VERSION`

Restores a previous version of a DriveItem (file) by creating a new version with the content of the specified version. Use this action when you need to revert a file to an earlier version. The restoration is permanent and creates a new current version — the file cannot be automatically reverted after this operation, though you can restore again to a different version if needed. This action is irreversible in the sense that it immediately changes the current file content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique identifier of the DriveItem (file) whose version you want to restore. |
| `user_id` | string | No | The user's ID, email, or 'me'. Defaults to 'me' (authenticated user) if not provided. Required for S2S (app-only) auth to specify target user. |
| `drive_id` | string | No | The unique identifier of the Drive where the item is located. If not provided, the action will target the user's personal OneDrive (me/drive). Always specify drive_id explicitly for group drives, SharePoint site drives, or shared libraries to avoid silently querying the wrong drive. |
| `version_id` | string | Yes | The unique identifier of the version to restore. This creates a new version with the content of the specified previous version. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore SharePoint List Item Version

**Slug:** `MICROSOFT_365_RESTORE_LIST_ITEM_VERSION`

Restore a previous version of a SharePoint list item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Microsoft Graph list item ID. |
| `list_id` | string | Yes | Microsoft Graph list ID for the SharePoint list that contains the item. |
| `site_id` | string | Yes | Microsoft Graph site ID for the SharePoint site that contains the list. |
| `version_id` | string | Yes | Microsoft Graph list item version ID to restore. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Presentation Version

**Slug:** `MICROSOFT_365_RESTORE_PRESENTATION_VERSION`

Restore a retained previous version of a PowerPoint presentation as a new current version while preserving its version history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID of the PowerPoint file whose previous version to restore. |
| `drive_id` | string | No | Drive ID containing the presentation; omit to use the signed-in user's default OneDrive. |
| `version_id` | string | Yes | Retained version ID to restore as a new current version. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke SharePoint Drive Item Sharing Grants

**Slug:** `MICROSOFT_365_REVOKE_DRIVE_ITEM_SHARING_GRANTS`

Remove recipients from one specific-user sharing link on a drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Drive item ID containing the sharing link. |
| `drive_id` | string | Yes | Drive ID containing the shared item. |
| `grantees` | array | Yes | Recipients whose access through this specific-user sharing link is revoked, identified by email, alias, or objectId. |
| `permission_id` | string | Yes | Permission ID of a sharing link scoped to specific users. Direct permissions and anonymous or organization links are not supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke SharePoint List Item Sharing Grants

**Slug:** `MICROSOFT_365_REVOKE_LIST_ITEM_SHARING_GRANTS`

Remove recipients from a specific-user sharing link on a list item's drive item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | List item ID, not its drive item ID. |
| `list_id` | string | Yes | ID of the list containing the item. |
| `site_id` | string | Yes | SharePoint site ID, typically hostname,siteCollectionId,webId. |
| `grantees` | array | Yes | Recipients whose access through this specific-user sharing link is revoked. |
| `permission_id` | string | Yes | Permission ID of a sharing link scoped to specific users. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Sharing Link Grants

**Slug:** `MICROSOFT_365_REVOKE_SHARING_LINK_GRANTS`

Remove selected recipients from a work or school specific-user sharing link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | DriveItem ID containing the sharing link. |
| `drive_id` | string | Yes | Drive ID containing the shared item. |
| `grantees` | array | Yes | Recipients to remove, each identified by exactly one email, alias, or objectId. |
| `permission_id` | string | Yes | Permission ID of a sharing link scoped to specific users. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Workbook Permission

**Slug:** `MICROSOFT_365_REVOKE_WORKBOOK_PERMISSION`

Remove a non-inherited sharing permission from a workbook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the DriveItem representing the workbook. |
| `drive_id` | string | No | The ID of the drive containing the workbook. If omitted or set to 'me', the current user's default OneDrive is used. |
| `if_match` | string | No | Optional eTag precondition sent as If-Match. The permission is removed only if the current workbook version matches this value. |
| `permission_id` | string | Yes | The ID of the non-inherited sharing permission to remove. Inherited permissions cannot be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Graph Mutation Batch

**Slug:** `MICROSOFT_365_RUN_GRAPH_MUTATION_BATCH`

Create, update, or delete drive or workbook resources in up to 20 requests; inspect every subresponse status because individual mutations can fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | One to 20 POST, PATCH, PUT, or DELETE requests for Microsoft Graph drive or workbook resources. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Graph Read Batch

**Slug:** `MICROSOFT_365_RUN_GRAPH_READ_BATCH`

Read drive or workbook data in up to 20 GET requests; inspect every subresponse status because individual requests can fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | One to 20 GET requests for Microsoft Graph drive or workbook data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search calendar events

**Slug:** `MICROSOFT_365_SEARCH_EVENTS`

Searches for calendar events in the authenticated user's primary calendar. Work and school accounts use Microsoft Graph Search. When Microsoft Graph reports that Search is unsupported for a personal Microsoft account, the action searches a caller-supplied calendarView window locally by matching every whitespace-separated keyword across subject, body preview, location, and attendees.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Maximum results per work or school Microsoft Search page. For the personal Microsoft account fallback, this limits calendar candidates examined in one provider page, so it can return fewer keyword matches; use next_page_token to continue scanning. The default is 25. |
| `query` | string | No | The search query string to find calendar events. Required on the first page and omitted when continuing with page_token. For personal Microsoft accounts, the fallback treats this as plain, case-insensitive terms across subject, body preview, location, and attendees. Every whitespace-separated term must match; Microsoft Search query syntax is not available. |
| `from_index` | integer | No | The zero-based starting index for pagination. Use this to skip results and fetch the next page. |
| `page_token` | string | No | Opaque continuation token for a personal-account fallback result. Omit for the first page; then pass back next_page_token unmodified. When set, it carries the date window and keyword from the first request and advances one calendar candidate page. |
| `end_datetime` | string | No | End of the ISO 8601 calendar window for the personal Microsoft account fallback. Must be supplied with start_datetime when Microsoft Search is unavailable for that account; ignored for normal Microsoft Search requests. |
| `start_datetime` | string | No | Start of the ISO 8601 calendar window for the personal Microsoft account fallback. Must be supplied with end_datetime when Microsoft Search is unavailable for that account; ignored for normal Microsoft Search requests. |
| `include_sensitivity_label` | boolean | No | When true, hydrates each search hit's Microsoft Purview sensitivity label through Graph JSON batches capped at 20 requests per batch. This is distinct from the event's built-in sensitivity field and from a Teams online meeting sensitivity-label assignment. Requires Calendars.Read. Treat status unknown as fail-closed before using event content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Items

**Slug:** `MICROSOFT_365_SEARCH_ITEMS`

Search OneDrive files and folders by keyword, with sorting and pagination. The action transforms certain KQL-like and path queries and removes wildcards; results may include files and folders, and recently changed items may be delayed by indexing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | The query text used to search for items. Values are matched across filenames, metadata, and file content. This is a simple keyword-based search only - NOT KQL (Keyword Query Language). IMPORTANT: (1) KQL operators like 'folder:', 'file:', 'content:', 'filetype:' are NOT supported by this endpoint and will be treated as literal text search. Use plain keywords instead (e.g., 'shared documents' not 'folder:shared'). (2) Path-based filtering syntax (e.g., 'path:/folder') is NOT supported and will be transformed to a keyword search. (3) Wildcard characters (* and ?) are NOT supported and will be automatically removed - use file extension keywords instead (e.g., 'mp4' instead of '*.mp4'). To search within a specific folder, use ONE_DRIVE_LIST_FOLDER_CHILDREN. |
| `top` | integer | No | The maximum number of items to return in a single page. Default is 200. |
| `expand` | string | No | A comma-separated list of relationship names to expand and include in the response. For driveItem resources, you can expand relationships like 'children' to get child items, 'thumbnails' to get thumbnail metadata, or 'permissions' to get sharing permissions. For example, use 'children' to include the child items of folders in search results, or 'thumbnails' to include thumbnail URLs. Note: Not all relationships may be expandable in search results. Refer to the Microsoft Graph API documentation for supported expansions. |
| `select` | string | No | Comma-separated list of driveItem properties to include in the response. Valid properties include: id, name, webUrl, size, createdDateTime, lastModifiedDateTime, file, folder, parentReference, createdBy, lastModifiedBy, fileSystemInfo, searchResult, remoteItem, etc. Note: @-prefixed annotations (e.g., @microsoft.graph.downloadUrl) are automatically stripped as they are not valid in $select queries for search endpoints. |
| `orderby` | string | No | A comma-separated list of properties used to sort the order of the items in the response. Use 'asc' or 'desc' for ascending or descending order, e.g., 'name asc'. |
| `drive_id` | string | No | The ID of the drive to search within. If not provided, the user's personal drive (me/drive) will be searched. Use ONE_DRIVE_LIST_DRIVES to get valid drive IDs. Note: Some drive ID formats (e.g., secondary personal drives or special SharePoint IDs) may return 'ObjectHandle is Invalid' errors due to Microsoft Graph API limitations. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified, until it is absent. Do not construct or edit it. When set, it drives pagination; resend the same required identifiers, but filter/sort params need not be repeated — the token carries them. |
| `search_scope` | string ("drive" | "root") | No | Specifies the scope of the search. 'root' searches within the folder hierarchy starting from root (uses /drives/{drive_id}/root/search or /me/drive/root/search). 'drive' broadens the search to include items shared with the current user (uses /drives/{drive_id}/search or /me/drive/search). This parameter is respected both with and without a drive_id. |
| `stripped_annotations` | array | No | Internal field to track stripped annotations. Not exposed to API. |
| `transformed_path_query` | string | No | Internal field to track if path-based query was transformed. Not exposed to API. |
| `transformed_kql_operator` | string | No | Internal field to track if a KQL operator was transformed. Not exposed to API. |
| `transformed_parent_query` | string | No | Internal field to track if parent: filter was stripped from query. Not exposed to API. |
| `transformed_wildcard_query` | string | No | Internal field to track if wildcard characters were removed from query. Not exposed to API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Microsoft 365 Content

**Slug:** `MICROSOFT_365_SEARCH_MICROSOFT_365_CONTENT`

Search OneDrive and SharePoint content using Microsoft Search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Number of search results to return, from 1 through 500. |
| `query` | string | Yes | Microsoft Search query string, including supported KQL when needed. |
| `fields` | array | No | Fields to return on each matching resource. |
| `region` | string | No | Microsoft 365 data location code, such as 'NAM' or 'EUR'. Required for application permissions and must be omitted for delegated permissions. |
| `from_index` | integer | No | Zero-based result offset. Increase this by size to request the next page. |
| `entity_types` | array | No | OneDrive and SharePoint entity types to search: driveItem, listItem, list, site, or drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Outlook people

**Slug:** `MICROSOFT_365_SEARCH_PEOPLE`

List relevant people, optionally searching by fuzzy name or alias.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | integer | No | Maximum number of people to return in this page (OData $top). |
| `skip` | integer | No | Number of results to skip. Cannot be used with search. |
| `filter` | string | No | OData filter expression used to limit returned people. |
| `search` | string | No | Fuzzy name or alias to search for among people relevant to the signed-in user. |
| `select` | array | No | Person properties to return (OData $select). |
| `orderby` | string | No | OData expression used to order returned people. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit for the first page; then pass back the `next_page_token` from the previous response, unmodified. The token preserves the original search options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Microsoft Graph Search Query

**Slug:** `MICROSOFT_365_SEARCH_QUERY`

Run Microsoft Graph search across SharePoint-supported entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Microsoft Graph search request objects. Each request requires entityTypes and a query. The per-request region is application-permission only: with application (app-only) permissions region is required (HTTP 400 otherwise) and must come from the siteCollection dataLocationCode; with delegated permissions region must be omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search SharePoint Sites

**Slug:** `MICROSOFT_365_SEARCH_SHAREPOINT_SITES`

Search SharePoint sites visible to an organizational Microsoft account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Free-text keywords to match across SharePoint site properties. Required for the first page; omit when page_token is provided. |
| `order_by` | string ("createdDateTime asc" | "createdDateTime desc") | No | Optional creation-time ordering. This endpoint supports only createdDateTime asc or createdDateTime desc. |
| `page_size` | integer | No | Maximum sites to request on the first page. Must be between 1 and 999; Microsoft Graph may return fewer. |
| `page_token` | string | No | Opaque continuation token for the next page. Omit it initially, then pass next_page_token back unchanged. The token carries the original search, page size, and ordering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Activity Notification to Recipients

**Slug:** `MICROSOFT_365_SEND_ACTIVITY_NOTIFICATION`

Tool to send activity notifications to specified recipients in Microsoft Teams. Use when you need to send custom notifications to users, team members, or channel members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `topic` | object | Yes | The topic of the notification, including source, value, and optional webUrl for deep linking. |
| `chainId` | integer | No | Optional chain ID for grouping related notifications together. |
| `recipients` | array | Yes | Array of recipients who will receive the notification. Each recipient must specify an @odata.type and corresponding ID fields. |
| `teamsAppId` | string | No | Optional Teams app ID if the notification is associated with a specific Teams app. |
| `previewText` | object | Yes | The preview text to display in the notification. |
| `activityType` | string | Yes | The type of activity being notified. This should match an activity type defined in the Teams app manifest. |
| `templateParameters` | array | No | Optional array of template parameters as key-value pairs for customizing the notification content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send draft

**Slug:** `MICROSOFT_365_SEND_DRAFT`

Tool to send an existing draft message. Use after creating a draft when you want to deliver it to recipients immediately. Example: Send a draft message with ID 'AAMkAG…'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | The user's email address or 'me' to represent the authenticated user. |
| `message_id` | string | Yes | The unique identifier of the draft message to send. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send email

**Slug:** `MICROSOFT_365_SEND_EMAIL`

Sends an email with subject, body, recipients, and optional attachments via Microsoft Graph API. Supports comma-separated email addresses in the to_email field for multiple recipients. Accepts either a single file or a list of files as attachments. Attachments require a non-empty file with valid name and mimetype.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | The primary recipient's email address(es). You can provide a single email or multiple emails separated by commas. Valid email addresses will be extracted from strings containing extra text. Format: name@domain.com |
| `body` | string | Yes | The content of the email body as a plain string (plain text or HTML based on `is_html`). Do not pass structured objects; provide only the raw text/HTML content. |
| `is_html` | boolean | No | Specifies if the email body is HTML; `True` for HTML, `False` for plain text. |
| `subject` | string | Yes | The subject line of the email. |
| `to_name` | string | No | The display name of the primary recipient. |
| `user_id` | string | No | The user's email address or the alias 'me' to represent the authenticated user. |
| `cc_emails` | array | No | List of email addresses for CC recipients. Each email should be a separate string in the array. Do NOT pass comma-separated values as a single string. |
| `attachment` | string | No | File(s) to attach. Accepts a single file or a list of files. |
| `bcc_emails` | array | No | List of email addresses for BCC recipients. Each email should be a separate string in the array. Do NOT pass comma-separated values as a single string. |
| `from_address` | string | No | Optional From address to set on the message (send as/on behalf). Provide a single email address. Requires appropriate mailbox permissions. |
| `save_to_sent_items` | boolean | No | Indicates if the email should be saved in 'Sent Items'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send a message to yourself

**Slug:** `MICROSOFT_365_SEND_MESSAGE_TO_SELF`

Send a message to your Microsoft Teams self-DM (the chat with yourself), useful for saving a personal note without looking up any chat or user ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | Nonempty content to add to your Microsoft Teams self-DM as a personal note. |
| `content_type` | string ("text" | "html") | No | Format of the personal note: plain text or HTML. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set channel message reaction

**Slug:** `MICROSOFT_365_SET_CHANNEL_MESSAGE_REACTION`

Set the connected user's Unicode reaction on a Microsoft Teams channel message. Supply the actual Unicode reaction, not a legacy name such as 'like'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | ID of the Microsoft Teams team containing the channel message. |
| `channel_id` | string | Yes | ID of the channel containing the message. |
| `message_id` | string | Yes | ID of the channel message to react to. |
| `reaction_type` | string | Yes | Exact Unicode reaction to set, such as an emoji. Use the Unicode value itself, not a legacy reaction name such as 'like'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set chart data

**Slug:** `MICROSOFT_365_SET_CHART_DATA`

Replace an Excel chart's source range and optionally choose whether rows or columns define its series.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `series_by` | string ("Auto" | "Columns" | "Rows") | No | Whether rows or columns define chart series. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `source_data` | string | Yes | The range object or address containing the chart source data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set chart position

**Slug:** `MICROSOFT_365_SET_CHART_POSITION`

Set chart position

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The ID of the Excel workbook drive item. |
| `drive_id` | string | No | Optional drive ID. Omit to use the connected user's default drive. |
| `end_cell` | string | No | Optional ending cell that determines chart width and height. |
| `worksheet` | string | Yes | The exact worksheet ID or name. |
| `chart_name` | string | Yes | The exact chart ID or name. |
| `session_id` | string | No | Optional workbook session ID for this request. |
| `start_cell` | string | Yes | The cell where the chart's leading corner should be placed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set chat message reaction

**Slug:** `MICROSOFT_365_SET_CHAT_MESSAGE_REACTION`

Set the connected user's Unicode reaction on a Microsoft Teams chat message. Supply the actual Unicode reaction, not a legacy name such as 'like'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | ID of the Microsoft Teams chat containing the message. |
| `message_id` | string | Yes | ID of the chat message to react to. |
| `reaction_type` | string | Yes | Exact Unicode reaction to set, such as an emoji. Use the Unicode value itself, not a legacy reaction name such as 'like'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set My Preferred Presence (Deprecated)

**Slug:** `MICROSOFT_365_SET_ME_PREFERRED_PRESENCE`

DEPRECATED: Use MICROSOFT_TEAMS_SET_USER_PREFERRED_PRESENCE instead. Tool to set the preferred availability and activity status for the current authenticated user. Use when you need to update your own presence status in Microsoft Teams. Preferred presence takes effect only when at least one presence session exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `activity` | string ("Available" | "Busy" | "DoNotDisturb" | "BeRightBack" | "Away" | "OffWork") | Yes | The supplemental information to availability. Must match the availability value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `availability` | string ("Available" | "Busy" | "DoNotDisturb" | "BeRightBack" | "Away" | "Offline") | Yes | The base presence information. Must match the activity value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `expiration_duration` | string | No | The expiration of the app presence session in ISO 8601 duration format (e.g., 'PT8H' for 8 hours). If not provided, default expiration applies: DoNotDisturb or Busy expire in 1 day, all others expire in 7 days. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Presence

**Slug:** `MICROSOFT_365_SET_PRESENCE`

Tool to set the presence information for a user's application presence session. Use when you need to update a user's presence state in Microsoft Teams. Valid combinations: Available/Available, Busy/InACall, Busy/InAConferenceCall, Away/Away, or DoNotDisturb/Presenting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (GUID) of the user whose presence session to set. |
| `activity` | string ("Available" | "InACall" | "InAConferenceCall" | "Away" | "Presenting") | Yes | The supplemental information to availability. Must match valid combinations with availability. |
| `session_id` | string | Yes | The ID of the application's presence session. This should typically match the application ID (appId) from the OAuth token. |
| `availability` | string ("Available" | "Busy" | "Away" | "DoNotDisturb") | Yes | The base presence information. Valid combinations: Available/Available, Busy/InACall, Busy/InAConferenceCall, Away/Away, DoNotDisturb/Presenting. |
| `expiration_duration` | string | No | The expiration of the app presence session in ISO 8601 duration format. Valid range is PT5M to PT4H (5 minutes to 4 hours). If not provided, defaults to 5 minutes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Presence Automatic Location

**Slug:** `MICROSOFT_365_SET_PRESENCE_AUTOMATIC_LOCATION`

Set the automatic presence location (office, remote, or time off) for a specified user in Microsoft Teams using a supplied work location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (GUID) of the user whose automatic presence location will be set. |
| `place_id` | string | No | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location. |
| `work_location_type` | string ("unspecified" | "office" | "remote" | "timeOff" | "unknownFutureValue") | Yes | The work location type to set for the user's automatic presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Presence Manual Location (Deprecated)

**Slug:** `MICROSOFT_365_SET_PRESENCE_MANUAL_LOCATION`

DEPRECATED: Use MICROSOFT_TEAMS_SET_USER_PRESENCE_MANUAL_LOCATION instead. Tool to set the manual presence location (office/remote/timeOff) for the authenticated user. Use when updating work location status in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `placeId` | string | No | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location. |
| `user_id` | string | No | The user's unique identifier or principal name. Use 'me' for delegated authentication (authenticated user) or provide a specific user ID/email for application authentication. |
| `workLocationType` | string ("unspecified" | "office" | "remote" | "timeOff" | "unknownFutureValue") | Yes | The work location type to set for the user's presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set User Preferred Presence

**Slug:** `MICROSOFT_365_SET_USER_PREFERRED_PRESENCE`

Tool to set the preferred availability and activity status for a user. Use when you need to update a user's presence status in Microsoft Teams. Preferred presence takes effect only when at least one presence session exists for the user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (GUID) of the user whose preferred presence status will be set. |
| `activity` | string ("Available" | "Busy" | "DoNotDisturb" | "BeRightBack" | "Away" | "OffWork") | Yes | The supplemental information to availability. Must match the availability value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `availability` | string ("Available" | "Busy" | "DoNotDisturb" | "BeRightBack" | "Away" | "Offline") | Yes | The base presence information. Must match the activity value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `expiration_duration` | string | No | The expiration of the app presence session in ISO 8601 duration format (e.g., 'PT8H' for 8 hours). If not provided, default expiration applies: DoNotDisturb or Busy expire in 1 day, all others expire in 7 days. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set User Presence Manual Location

**Slug:** `MICROSOFT_365_SET_USER_PRESENCE_MANUAL_LOCATION`

Tool to set the manual presence location (office/remote/timeOff) for a specific user. Use when updating work location status for a user in Microsoft Teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `placeId` | string | No | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location. |
| `user_id` | string | Yes | The unique identifier of the user whose presence location should be set. Can be the user's ID or userPrincipalName. |
| `workLocationType` | string ("unspecified" | "office" | "remote" | "timeOff" | "unknownFutureValue") | Yes | The work location type to set for the user's presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Share DOCX

**Slug:** `MICROSOFT_365_SHARE_DOCX`

Share a verified DOCX by creating a link or inviting named recipients, returning sanitized permission outcomes and a partial-success flag; recipient identities may not be included. Sharing links are capability URLs to treat as secrets, and disabling inherited-permission retention can remove existing permissions on first share.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mode` | string ("create_link" | "invite") | No | Use create_link for a view, edit, or embed link or invite for named recipients. Defaults to create_link. |
| `roles` | array | No | Required for invite mode: read and/or write roles to grant. |
| `item_id` | string | Yes | DOCX driveItem ID. |
| `message` | string | No | Optional plain-text invite message, up to 500 characters. |
| `drive_id` | string | Yes | Drive containing the DOCX to share. |
| `link_type` | string ("view" | "edit" | "embed") | No | For create_link, create a read-only view, read-write edit, or embeddable embed link. Defaults to view. Omit this field in invite mode. |
| `link_scope` | string ("anonymous" | "organization" | "users") | No | Optional create_link audience: anonymous, organization, or specified users. Use invite mode to grant named recipients directly. When omitted, Graph uses the drive's default link scope, which can be anonymous. |
| `recipients` | array | No | Required for invite mode: recipients identified by exactly one email, alias, or directory objectId. |
| `require_sign_in` | boolean | No | Required for invite mode: whether recipients must sign in. |
| `send_invitation` | boolean | No | Required for invite mode: whether Graph should email the invitation. |
| `sharing_passcode` | string | No | Optional password sent to Graph for this sharing permission. Availability depends on tenant sharing policy and plan; personal OneDrive may require a Microsoft 365 Personal or Family paid plan. |
| `expiration_datetime` | string | No | Optional sharing permission expiration timestamp in ISO 8601 format. On personal OneDrive, this capability may require a Microsoft 365 Personal or Family paid plan. |
| `retain_inherited_permissions` | boolean | No | Whether to retain inherited permissions when sharing the item for the first time. Setting false removes all existing permissions, which is destructive; omit to use Graph's default behavior. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add SharePoint Workbook Worksheet

**Slug:** `MICROSOFT_365_SHAREPOINT_GRAPH_ADD_WORKBOOK_WORKSHEET`

Add a worksheet to an Excel workbook stored in SharePoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional name of the worksheet to add. If specified, the name should be unique. If not specified, Excel determines the name of the new worksheet. |
| `item_id` | string | Yes | Microsoft Graph list item or drive item ID. |
| `drive_id` | string | Yes | Microsoft Graph drive ID for the SharePoint document library, commonly starting with 'b!'. |
| `session_id` | string | No | Optional Excel workbook session ID sent as workbook-session-id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
