# Excel 365

Your Toolhouse AI Worker can connect to Excel 365 using 54 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=excel).

## Tools (54)

### `Excel Add Chart`

Integration name: **EXCEL\_ADD\_CHART**

Add a chart to a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

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

***

### `Excel Add Sharepoint Worksheet`

Integration name: **EXCEL\_ADD\_SHAREPOINT\_WORKSHEET**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                                                              | Description                                                                     |
| ------------ | ------ | :------: | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `name`       | string |     ✅    | —                                                                                                    | The name of the new worksheet to add.                                           |
| `item_id`    | string |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) to add a worksheet to.                    |
| `site_id`    | string |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                        |
| `session_id` | string |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers. |

***

### `Excel Add Table`

Integration name: **EXCEL\_ADD\_TABLE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                                                                     |
| ------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `address`    | string  |     ✅    | —       | 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  |     ✅    | —       | The ID of the Excel workbook (drive item) where the table will be created.                                                                                                                                                                                      |
| `drive_id`   | string  |          | —       | 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  |          | —       | 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 |     ✅    | —       | Whether the first row of the range contains column headers (True) or not (False).                                                                                                                                                                               |
| `session_id` | string  |          | —       | Workbook session ID controlling persistence.                                                                                                                                                                                                                    |

***

### `Excel Add Table Column`

Integration name: **EXCEL\_ADD\_TABLE\_COLUMN**

Add a column to a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                        |
| ------------ | ------- | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `index`      | integer |     ✅    | —       | The index at which to insert the column.                                                                                                                                           |
| `values`     | array   |     ✅    | —       | 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  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                                                        |
| `drive_id`   | string  |          | —       | 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  |     ✅    | —       | The ID of the table to add a column to.                                                                                                                                            |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                    |

***

### `Excel Add Table Row`

Integration name: **EXCEL\_ADD\_TABLE\_ROW**

Add a row to a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                         |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `index`      | integer |          | —       | The 0-based index at which to insert the row. Use null or omit to append to the end (recommended).                                                                                                                  |
| `values`     | array   |     ✅    | —       | 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  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                                                                                         |
| `drive_id`   | string  |          | —       | 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  |     ✅    | —       | The ID of the table to add a row to.                                                                                                                                                                                |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                     |

***

### `Excel Add Workbook Permission`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example                                                                                              | Description                                                                                                                         |
| ---------------------------- | ------- | :------: | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `roles`                      | array   |     ✅    | —                                                                                                    | Roles to grant: read or write.                                                                                                      |
| `item_id`                    | string  |     ✅    | —                                                                                                    | The ID of the drive item (Excel file) to share.                                                                                     |
| `message`                    | string  |          | —                                                                                                    | Plain-text message included in the invitation (max 2000 characters).                                                                |
| `site_id`                    | string  |          | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | 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  |          | —                                                                                                    | The ID of the document library (drive) containing the Excel file. If not provided, the site's default drive is used.                |
| `password`                   | string  |          | —                                                                                                    | Password for the invite (OneDrive Personal only).                                                                                   |
| `recipients`                 | array   |     ✅    | —                                                                                                    | Collection of recipients to grant access and send the invitation.                                                                   |
| `requireSignIn`              | boolean |          | —                                                                                                    | If true, recipients must sign in to view the shared item.                                                                           |
| `sendInvitation`             | boolean |          | —                                                                                                    | If true, sends an email invitation; otherwise grants permission silently.                                                           |
| `expirationDateTime`         | string  |          | —                                                                                                    | DateTime when the granted permission will expire (ISO 8601).                                                                        |
| `retainInheritedPermissions` | boolean |          | —                                                                                                    | If true, existing inherited permissions remain; if false, existing permissions are removed on first share.                          |

***

### `Excel Add Worksheet`

Integration name: **EXCEL\_ADD\_WORKSHEET**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

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

***

### `Excel Apply Table Filter`

Integration name: **EXCEL\_APPLY\_TABLE\_FILTER**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                    |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                |
| `criteria`   | object |     ✅    | —       | The filter criteria as a dictionary.                                                                                                                           |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The ID of the table.                                                                                                                                           |
| `column_id`  | string |     ✅    | —       | The ID of the column to filter.                                                                                                                                |
| `worksheet`  | string |     ✅    | —       | The name or ID of the worksheet (must be URL-encoded if using ID).                                                                                             |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                |

***

### `Excel Apply Table Sort`

Integration name: **EXCEL\_APPLY\_TABLE\_SORT**

Apply a sort to a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

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

***

### `Excel Clear Range`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                     |
| -------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `address`      | string |     ✅    | —       | The A1-style address of the range to clear (e.g., 'A1:B2').                                                                                                                                                                                                     |
| `applyTo`      | string |          | `"All"` | Optional. The type of clear action. Possible values: All, Formats, Contents.                                                                                                                                                                                    |
| `item_id`      | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                                                                 |
| `site_id`      | string |          | —       | 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 |          | —       | 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 |          | —       | 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 |     ✅    | —       | The name or ID of the worksheet (URL-encoded if necessary).                                                                                                                                                                                                     |

***

### `Excel Clear Table Filter`

Integration name: **EXCEL\_CLEAR\_TABLE\_FILTER**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                    |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The ID of the table.                                                                                                                                           |
| `column_id`  | string |     ✅    | —       | The ID of the column to clear filter from.                                                                                                                     |
| `worksheet`  | string |     ✅    | —       | The name or ID of the worksheet (must be URL-encoded if using ID).                                                                                             |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                |

***

### `Excel Close Session`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                              |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) to close the session for.                                                                          |
| `drive_id`   | string |          | —       | Optional drive ID. Required for application-level permissions (s2s\_oauth). If not provided, uses /me/drive endpoint for delegated auth. |
| `session_id` | string |     ✅    | —       | The workbook session ID to close. Must be a valid session ID format obtained from EXCEL\_GET\_SESSION.                                   |

***

### `Excel Convert Table To Range`

Integration name: **EXCEL\_CONVERT\_TABLE\_TO\_RANGE**

Convert a table to a range using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                          |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                                                                                          |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The ID of the table to convert to a range.                                                                                                                                                                           |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                      |

***

### `Excel Create Workbook`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description                                                                                                                                                                                         |
| ----------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `path`            | string |     ✅    | —       | Path including folder structure and file name, ending with .xlsx, e.g., 'Documents/newWorkbook.xlsx'                                                                                                |
| `drive_id`        | string |          | —       | ID of the drive (use 'me' for the user's default drive)                                                                                                                                             |
| `worksheet_data`  | object |          | —       | 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  |          | —       | List of worksheet names to create in the workbook. If not provided, a single worksheet named 'Sheet1' will be created.                                                                              |

***

### `Excel Delete Table Column`

Integration name: **EXCEL\_DELETE\_TABLE\_COLUMN**

Delete a column from a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                        |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                        |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The ID of the table to delete a column from.                                                                                                       |
| `column_id`  | string |     ✅    | —       | The ID of the column to delete.                                                                                                                    |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                    |

***

### `Excel Delete Table Row`

Integration name: **EXCEL\_DELETE\_TABLE\_ROW**

Delete a row from a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                   |
| ------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                   |
| `drive_id`   | string  |          | —       | 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  |     ✅    | —       | The ID of the table to delete a row from.                                                                                                     |
| `row_index`  | integer |     ✅    | —       | The index of the row to delete.                                                                                                               |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                               |

***

### `Excel Delete Worksheet`

Integration name: **EXCEL\_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."

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example    | Description                                                                                                                                        |
| ------------ | ------ | :------: | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —          | The ID of the Excel file (drive item) containing the worksheet.                                                                                    |
| `drive_id`   | string |          | —          | 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 |     ✅    | `"Sheet1"` | The name or ID of the worksheet to delete. If using ID, it must be URL-encoded.                                                                    |
| `session_id` | string |          | —          | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                    |

***

### `Excel Export Workbook To Pdf`

Integration name: **EXCEL\_EXPORT\_WORKBOOK\_TO\_PDF**

Tool to export an Excel workbook to PDF via Microsoft Graph's format conversion. Use when you need a PDF version of an Excel file for sending, storing, or attaching.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                  | Type    | Required | Example                                                                | Description                                                                                                                                                                      |
| -------------------------- | ------- | :------: | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`                  | string  |     ✅    | `"01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K"`                                 | ID of the Excel file (DriveItem) to convert to PDF.                                                                                                                              |
| `drive_id`                 | string  |          | `"b!-RIj2DuyvEyV1T4NlOaMHk8XkS_I8MdFlUCq1BlcjgmhRfAj3-Z8RY2VpuvV_tpd"` | Required when drive\_scope is 'drives' or 'sites'. The drive ID or site ID.                                                                                                      |
| `drive_scope`              | string  |          | `"me"`                                                                 | The drive scope type: 'me' for user's OneDrive, 'drives' for specific drive ID, 'sites' for SharePoint site.                                                                     |
| `save_pdf_to_path`         | string  |          | —                                                                      | 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 |          | —                                                                      | If true, only return the preauthenticated download URL. If false, fetch additional metadata about the source item.                                                               |

***

### `Excel Get Chart Axis`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example              | Description                                                                                                                                                                                                       |
| ------------ | ------ | :------: | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | `"format"`           | OData $expand query option to expand related entities (format).                                                                                                                                                   |
| `select`     | string |          | `"minimum,maximum"`  | OData $select query option to specify which properties to return.                                                                                                                                                 |
| `item_id`    | string |     ✅    | `"0123456789abcdef"` | The ID of the Excel file (drive item) containing the workbook.                                                                                                                                                    |
| `drive_id`   | string |          | —                    | 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"`        | The type of axis to retrieve. Allowed values: 'valueAxis', 'seriesAxis', 'categoryAxis'.                                                                                                                          |
| `worksheet`  | string |     ✅    | `"Sheet1"`           | The name or ID of the worksheet (must be URL-encoded if using ID).                                                                                                                                                |
| `chart_name` | string |     ✅    | `"Chart1"`           | The name or ID of the chart (must be URL-encoded).                                                                                                                                                                |
| `session_id` | string |          | —                    | Optional workbook session ID. If provided, will be sent in the headers.                                                                                                                                           |

***

### `Excel Get Chart Data Labels`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example              | Description                                                                                       |
| -------------- | ------ | :------: | -------------------- | ------------------------------------------------------------------------------------------------- |
| `item_id`      | string |     ✅    | `"0123456789abcdef"` | The ID of the Excel file (drive item) containing the workbook.                                    |
| `chart_id`     | string |     ✅    | `"chart1"`           | The ID or name of the chart (must be URL-encoded if using special characters).                    |
| `drive_id`     | string |          | —                    | Optional drive ID. If not provided, defaults to 'me' (user's default drive).                      |
| `session_id`   | string |          | —                    | Optional workbook session ID. If provided, will be sent in the headers to maintain session state. |
| `worksheet_id` | string |     ✅    | `"Sheet1"`           | The ID or name of the worksheet (must be URL-encoded if using special characters).                |

***

### `Excel Get Chart Legend`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example              | Description                                                                                                                                                                                                          |
| -------------- | ------ | :------: | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`       | string |          | `"format"`           | OData $expand query option to expand related entities, such as format.                                                                                                                                               |
| `select`       | string |          | `"visible,position"` | OData $select query option to specify which properties to return (comma-separated).                                                                                                                                  |
| `item_id`      | string |     ✅    | `"0123456789abcdef"` | The ID of the Excel file (drive item) containing the workbook.                                                                                                                                                       |
| `drive_id`     | string |          | —                    | 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 |     ✅    | `"Chart1"`           | The name or ID of the chart (URL-encoded if necessary).                                                                                                                                                              |
| `session_id`   | string |          | —                    | Optional workbook session ID. If provided, will be sent in the headers to maintain session state.                                                                                                                    |
| `worksheet_id` | string |     ✅    | `"Sheet1"`           | The ID or name of the worksheet (URL-encoded if necessary).                                                                                                                                                          |

***

### `Excel Get Range`

Integration name: **EXCEL\_GET\_RANGE**

Get a range from a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                       |
| -------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `address`      | string |     ✅    | —       | 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 |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                   |
| `drive_id`     | string |          | —       | 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 |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                   |
| `worksheet_id` | string |     ✅    | —       | 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.       |

***

### `Excel Get Session`

Integration name: **EXCEL\_GET\_SESSION**

Create a session for an Excel workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example | Description                                                                                                                                                                                                                             |
| ----------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`         | string  |     ✅    | —       | The OneDrive drive item ID of the Excel file (.xlsx). Valid OneDrive item IDs are alphanumeric strings at least 10 characters long (e.g., '01LLJYZ3EAWWGPCTABGZALJJUKANV2PRLI'). Get valid item IDs from the EXCEL\_LIST\_FILES action. |
| `drive_id`        | string  |          | —       | Optional drive ID. Required for application-level permissions (s2s\_oauth). If not provided, uses /me/drive endpoint for delegated auth.                                                                                                |
| `persist_changes` | boolean |          | —       | Whether changes should be persisted after the session. If false, a nonpersistent session is created.                                                                                                                                    |

***

### `Excel Get Sharepoint Range`

Integration name: **EXCEL\_GET\_SHAREPOINT\_RANGE**

Get a range from a worksheet in SharePoint using Microsoft Graph Sites API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                                                                              | Description                                                                     |
| -------------- | ------ | :------: | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `address`      | string |     ✅    | —                                                                                                    | The address of the range (e.g., 'A1:B2').                                       |
| `item_id`      | string |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) containing the worksheet.                 |
| `site_id`      | string |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                        |
| `session_id`   | string |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers. |
| `worksheet_id` | string |     ✅    | —                                                                                                    | The ID of the worksheet.                                                        |

***

### `Excel Get Sharepoint Worksheet`

Integration name: **EXCEL\_GET\_SHAREPOINT\_WORKSHEET**

Get a worksheet by name or ID from a SharePoint Excel workbook using Microsoft Graph Sites API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                                                              | Description                                                                       |
| ------------ | ------ | :------: | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) to get the worksheet from.                  |
| `site_id`    | string |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                          |
| `worksheet`  | string |     ✅    | —                                                                                                    | The name or ID of the worksheet to retrieve. If using ID, it must be URL-encoded. |
| `session_id` | string |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers.   |

***

### `Excel Get Table Column`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                                                                                                                |
| `site_id`    | string |          | —       | Optional SharePoint site ID. Required when using application permissions (s2s\_oauth). Format: 'hostname,spSiteId,spWebId'                                                                                                                 |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The ID or name of the table containing the column.                                                                                                                                                                                         |
| `column_id`  | string |     ✅    | —       | The ID or name of the column to retrieve.                                                                                                                                                                                                  |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                                            |

***

### `Excel Get Workbook`

Integration name: **EXCEL\_GET\_WORKBOOK**

Tool to retrieve the properties and relationships of a workbook. Use when you need to inspect comments, names, tables, or worksheets.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                | Description                                                                                                                                                                                                                                                                                     |
| ------------ | ------ | :------: | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | array  |          | `["comments","worksheets"]`            | OData relationships to expand in the response.                                                                                                                                                                                                                                                  |
| `item_id`    | string |     ✅    | `"01RWIO2VKO5Q4ECCKUL5BYFHITS5UOQPBH"` | 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 |     ✅    | `"me"`                                 | ID of the drive (use 'me' for the user's default drive).                                                                                                                                                                                                                                        |
| `session_id` | string |          | —                                      | Optional workbook session ID. If provided, will be sent in headers.                                                                                                                                                                                                                             |

***

### `Excel Get Worksheet`

Integration name: **EXCEL\_GET\_WORKSHEET**

Get a worksheet by name or ID from an Excel workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                                    |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) to get the worksheet from.                                                                                                                                                                                               |
| `drive_id`   | string |          | —       | 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 |     ✅    | —       | The name or ID of the worksheet to retrieve. If using ID, it must be URL-encoded.                                                                                                                                                                              |
| `session_id` | string |          | —       | 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. |

***

### `Excel Get Worksheet Used Range`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example                                | Description                                                                                                                                                   |
| -------------- | ------- | :------: | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`      | string  |     ✅    | `"01RWIO2VKO5Q4ECCKUL5BYFHITS5UOQPBH"` | The ID of the Excel file (drive item) containing the worksheet.                                                                                               |
| `drive_id`     | string  |     ✅    | `"me"`                                 | The ID of the drive (e.g., 'me' for the user's default OneDrive, or a specific drive ID for SharePoint).                                                      |
| `session_id`   | string  |          | —                                      | 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 |          | `false`                                | If true, only returns cells with values (ignores formatting-only cells). Maps to valuesOnly parameter in the API.                                             |
| `worksheet_id` | string  |     ✅    | `"Sheet1"`                             | The ID or name of the worksheet. Can be the worksheet name (e.g., 'Sheet1') or its unique ID.                                                                 |

***

### `Excel Insert Range`

Integration name: **EXCEL\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example  | Description                                                                                                                                        |
| -------------- | ------ | :------: | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shift`        | string |     ✅    | `"Down"` | Direction to shift cells to make space: 'Down' or 'Right'.                                                                                         |
| `address`      | string |     ✅    | —        | The address of the range (e.g., 'A1:B2').                                                                                                          |
| `item_id`      | string |     ✅    | —        | The ID of the Excel file (drive item) containing the worksheet.                                                                                    |
| `drive_id`     | string |          | —        | 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 |          | —        | Optional workbook session ID. If provided, changes persist in that session.                                                                        |
| `worksheet_id` | string |     ✅    | —        | The ID or name of the worksheet.                                                                                                                   |

***

### `Excel List Charts`

Integration name: **EXCEL\_LIST\_CHARTS**

List charts in a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                          |
| ------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                                                                                                                             |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                                                                                                                                |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                      |
| `drive_id`   | string  |          | —       | 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  |     ✅    | —       | 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  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                      |

***

### `Excel List Chart Series`

Integration name: **EXCEL\_LIST\_CHART\_SERIES**

Tool to list all data series in a chart. Use when you need to enumerate chart series for further analysis.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                          |
| ------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                                                                                                                             |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                                                                                                                                |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                      |
| `drive_id`   | string  |          | —       | 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  |     ✅    | —       | The name or ID of the worksheet (must be URL-encoded if using ID).                                                                                                                                                   |
| `chart_name` | string  |     ✅    | —       | The name or ID of the chart (must be URL-encoded).                                                                                                                                                                   |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                      |

***

### `Excel List Comments`

Integration name: **EXCEL\_LIST\_COMMENTS**

Tool to list comments in an Excel workbook. Use when you need to retrieve all workbook comments via Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                         |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                            |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                               |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) to list comments for.                                                         |
| `drive_id`   | string  |          | —       | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                     |

***

### `Excel List Drive Item Children`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                | Description                                                                                                                                                                 |
| ------------ | ------- | :------: | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —                                      | Maximum number of children to return per page (maps to $top OData query parameter).                                                                                         |
| `item_id`    | string  |     ✅    | `"01RWIO2VKO5Q4ECCKUL5BYFHITS5UOQPBH"` | 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  |     ✅    | `"me"`                                 | ID of the drive containing the folder (use 'me' for the user's default drive).                                                                                              |
| `skip_token` | string  |          | —                                      | Opaque pagination token from a previous response's odata\_next\_link URL ($skiptoken value). Pass this to fetch the next page of results.                                   |

***

### `Excel List Files`

Integration name: **EXCEL\_LIST\_FILES**

List files and folders in a drive root or specified path.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                    |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `top`        | integer |          | —       | Maximum number of items to return per page (maps to $top OData query parameter).                                               |
| `path`       | string  |          | —       | Optional folder path under root to list. E.g., 'Documents'. Must be a folder path, not a file path.                            |
| `drive_id`   | string  |          | —       | ID of the drive (use 'me' for the user's default drive)                                                                        |
| `skip_token` | string  |          | —       | Opaque pagination token from a previous response's next\_link ($skiptoken value). Pass this to fetch the next page of results. |

***

### `Excel List Named Items`

Integration name: **EXCEL\_LIST\_NAMED\_ITEMS**

List named items in a workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                          |
| ------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                                                                                                                             |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                                                                                                                                |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the workbook.                                                                                                                                                       |
| `drive_id`   | string  |          | —       | 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  |          | —       | Optional session ID for the workbook. If not provided, a new session will be created automatically.                                                                                                                  |

***

### `Excel List Sharepoint Tables`

Integration name: **EXCEL\_LIST\_SHAREPOINT\_TABLES**

List tables in a SharePoint worksheet using Microsoft Graph Sites API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                                                                              | Description                                                                     |
| ------------ | ------- | :------: | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `top`        | integer |          | —                                                                                                    | Maximum number of items to return per page (OData $top).                        |
| `skip`       | integer |          | —                                                                                                    | Number of items to skip for pagination (OData $skip).                           |
| `item_id`    | string  |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) containing the worksheet.                 |
| `site_id`    | string  |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                        |
| `worksheet`  | string  |     ✅    | —                                                                                                    | The name or ID of the worksheet (must be URL-encoded if using ID).              |
| `session_id` | string  |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers. |

***

### `Excel List Sharepoint Worksheets`

Integration name: **EXCEL\_LIST\_SHAREPOINT\_WORKSHEETS**

List worksheets in an Excel workbook stored in SharePoint using Microsoft Graph Sites API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                                                                              | Description                                                                                                                                                                              |
| ------------ | ------- | :------: | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —                                                                                                    | Maximum number of items to return per page (OData $top).                                                                                                                                 |
| `skip`       | integer |          | —                                                                                                    | Number of items to skip for pagination (OData $skip).                                                                                                                                    |
| `item_id`    | string  |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) to list worksheets for.                                                                                                                            |
| `site_id`    | string  |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                                                                                                                                 |
| `drive_id`   | string  |          | —                                                                                                    | 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  |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                          |

***

### `Excel List Table Columns`

Integration name: **EXCEL\_LIST\_TABLE\_COLUMNS**

List columns in a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                            |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------ |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                               |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                  |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                            |
| `drive_id`   | string  |          | —       | The ID of the drive containing the item. If not provided, will attempt to use 'me' for delegated auth. |
| `table_id`   | string  |     ✅    | —       | The ID of the table to list columns from.                                                              |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                        |

***

### `Excel List Table Rows`

Integration name: **EXCEL\_LIST\_TABLE\_ROWS**

List rows in a table using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                 |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | 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 |          | —       | Number of rows to skip before returning results (maps to $skip OData query parameter). Use with 'top' for offset-based pagination.          |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                                 |
| `drive_id`   | string  |          | —       | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions.                         |
| `table_id`   | string  |     ✅    | —       | 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  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                             |

***

### `Excel List Tables`

Integration name: **EXCEL\_LIST\_TABLES**

List tables in a worksheet using Microsoft Graph API. This action retrieves information about all tables present in a specified worksheet of an Excel file. It requires the file ID and worksheet name or ID, and can optionally use a session ID for workbook operations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                  |
| ------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                                                     |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                                                        |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                              |
| `drive_id`   | string  |          | —       | Optional drive ID. Required for application-level permissions (s2s\_oauth). If not provided, uses /me/drive endpoint for delegated auth.     |
| `worksheet`  | string  |     ✅    | —       | The name or ID of the worksheet (e.g., 'Sheet1', '工作表', or '{00000000-0001-0000-0000-000000000000}'). URL encoding is handled automatically. |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                              |

***

### `Excel List Workbook Permissions`

Integration name: **EXCEL\_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'."

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                            |
| ------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of permission objects to return.                                                                                        |
| `skip`       | integer |          | —       | Number of permission objects to skip.                                                                                                  |
| `expand`     | string  |          | —       | Comma-separated list of related entities to expand.                                                                                    |
| `select`     | string  |          | —       | Comma-separated list of permission properties to include in the response.                                                              |
| `item_id`    | string  |     ✅    | —       | The ID of the DriveItem representing the workbook.                                                                                     |
| `drive_id`   | string  |     ✅    | —       | The ID of the drive containing the workbook file. Use 'me' for the current user's default OneDrive.                                    |
| `skip_token` | string  |          | —       | Opaque pagination token from a previous response's next\_link URL ($skiptoken value). Pass this to fetch the next page of permissions. |

***

### `Excel List Worksheets`

Integration name: **EXCEL\_LIST\_WORKSHEETS**

List worksheets in an Excel workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                         |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | —       | Maximum number of items to return per page (OData $top).                                                            |
| `skip`       | integer |          | —       | Number of items to skip for pagination (OData $skip).                                                               |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) to list worksheets for.                                                       |
| `drive_id`   | string  |          | —       | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                     |

***

### `Excel Merge Cells`

Integration name: **EXCEL\_MERGE\_CELLS**

Merge cells in a worksheet range using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example    | Description                                                                                                                |
| ------------ | ------- | :------: | ---------- | -------------------------------------------------------------------------------------------------------------------------- |
| `range`      | string  |     ✅    | `"A1:B2"`  | The A1-style address of the range to merge (e.g., 'A1:B2').                                                                |
| `across`     | boolean |          | —          | 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  |     ✅    | —          | The ID of the Excel file (drive item) containing the worksheet.                                                            |
| `drive_id`   | string  |          | —          | Optional drive ID. If not provided, will use 'me' for delegated permissions. Required for application permissions.         |
| `worksheet`  | string  |     ✅    | `"Sheet1"` | The name or ID of the worksheet containing the range to merge.                                                             |
| `session_id` | string  |          | —          | Optional session ID for the workbook. If provided, will be sent in the headers.                                            |

***

### `Excel Protect Worksheet`

Integration name: **EXCEL\_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."

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example    | Description                                                                                                         |
| ------------ | ------ | :------: | ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string |     ✅    | —          | The ID of the Excel file (drive item) containing the worksheet.                                                     |
| `options`    | object |          | —          | Sheet protection options. If omitted, default protection is applied.                                                |
| `drive_id`   | string |          | —          | The ID of the drive containing the Excel file. If not provided, will attempt to use 'me' for delegated permissions. |
| `worksheet`  | string |     ✅    | `"Sheet1"` | The name or ID of the worksheet to protect. If using ID, it must be URL-encoded.                                    |
| `session_id` | string |          | —          | Optional session ID for the workbook. If provided, will be sent in the headers.                                     |

***

### `Excel Search Files`

Integration name: **EXCEL\_SEARCH\_FILES**

Tool to search OneDrive drive items by query to discover Excel workbook IDs. Use when you need to find Excel files by name before performing workbook operations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example             | Description                                                                                                                               |
| ----------------- | ------- | :------: | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `top`             | integer |          | `10`                | Maximum number of items to return. Uses $top query parameter if supported.                                                                |
| `query`           | string  |     ✅    | `"budget.xlsx"`     | 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"`           | Search scope: 'drive' searches entire drive including items shared with current user; 'root' searches within user's drive hierarchy only. |
| `drive_id`        | string  |          | `"me"`              | 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  |          | —                   | 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   |          | `[".xlsx",".xlsm"]` | Optional list of file extensions to filter results (e.g., \['.xlsx', '.xlsm']). Applied as client-side filter to results.                 |

***

### `Excel Sort Range`

Integration name: **EXCEL\_SORT\_RANGE**

Sort a range in a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `fields`     | array  |     ✅    | —       | List of sort fields (e.g., \[{ 'key': 0, 'ascending': true }]).                                                                                                                                                                            |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                                            |
| `site_id`    | string |          | —       | Optional SharePoint site ID. Required for application-level authentication (s2s\_oauth). Format: 'hostname,spSiteId,spWebId'.                                                                                                              |
| `drive_id`   | string |          | —       | 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. |
| `worksheet`  | string |     ✅    | —       | The name or ID of the worksheet (must be URL-encoded if using ID).                                                                                                                                                                         |
| `range_type` | string |     ✅    | —       | The type of range to sort (e.g., 'usedRange').                                                                                                                                                                                             |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                                            |

***

### `Excel Update Chart`

Integration name: **EXCEL\_UPDATE\_CHART**

Update a chart in a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                             |
| ------------ | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------- |
| `top`        | number |          | —       | The new top position for the chart.                                                                                     |
| `left`       | number |          | —       | The new left position for the chart.                                                                                    |
| `name`       | string |          | —       | The new name for the chart.                                                                                             |
| `width`      | number |          | —       | The new width for the chart.                                                                                            |
| `height`     | number |          | —       | The new height for the chart.                                                                                           |
| `item_id`    | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                         |
| `chart_id`   | string |     ✅    | —       | The ID of the chart (must be URL-encoded).                                                                              |
| `drive_id`   | string |          | —       | The ID of the drive containing the Excel file. Optional for delegated auth, required for application auth (s2s\_oauth). |
| `worksheet`  | string |     ✅    | —       | The name or ID of the worksheet (must be URL-encoded if using ID).                                                      |
| `session_id` | string |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                         |

***

### `Excel Update Chart Legend`

Integration name: **EXCEL\_UPDATE\_CHART\_LEGEND**

Tool to update formatting or position of a chart legend. Use when adjusting legend settings after confirming chart and worksheet exist.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example              | Description                                                                                                           |
| ------------ | ------- | :------: | -------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | string  |     ✅    | `"0123456789abcdef"` | The ID of the Excel file (drive item) containing the workbook.                                                        |
| `overlay`    | boolean |          | `false`              | Set to true to make the legend overlap the chart body, or false otherwise.                                            |
| `visible`    | boolean |          | `true`               | Set to true to show the chart legend, or false to hide it.                                                            |
| `chart_id`   | string  |     ✅    | `"chartName"`        | The name or ID of the chart (must be URL-encoded).                                                                    |
| `drive_id`   | string  |          | —                    | Optional drive ID. If not provided, will attempt to use /me/drive (requires delegated auth) or auto-detect from item. |
| `position`   | string  |          | `"Top"`              | The position of the legend on the chart. Possible values: Top, Bottom, Left, Right, Corner, Custom.                   |
| `worksheet`  | string  |     ✅    | `"Sheet1"`           | The name or ID of the worksheet (must be URL-encoded if using ID).                                                    |
| `session_id` | string  |          | —                    | Optional workbook session ID. If provided, will be sent in the 'workbook-session-id' header.                          |

***

### `Excel Update Range`

Integration name: **EXCEL\_UPDATE\_RANGE**

Update a range in a worksheet using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                       |
| -------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `values`       | array  |     ✅    | —       | The values to update in the range.                                                                                                                                                                                |
| `address`      | string |     ✅    | —       | The address of the range (e.g., 'A1:B2').                                                                                                                                                                         |
| `item_id`      | string |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                   |
| `drive_id`     | string |          | —       | 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 |          | —       | Optional session ID for the workbook, obtained from the createSession API (GET\_SESSION action). Must be a valid, active session ID. Leave blank if not using sessions.                                           |
| `worksheet_id` | string |     ✅    | —       | The ID of the worksheet.                                                                                                                                                                                          |

***

### `Excel Update Sharepoint Range`

Integration name: **EXCEL\_UPDATE\_SHAREPOINT\_RANGE**

Update a range in a SharePoint worksheet using Microsoft Graph Sites API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                                                                              | Description                                                                     |
| -------------- | ------ | :------: | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `values`       | array  |     ✅    | —                                                                                                    | The values to update in the range.                                              |
| `address`      | string |     ✅    | —                                                                                                    | The address of the range (e.g., 'A1:B2').                                       |
| `item_id`      | string |     ✅    | —                                                                                                    | The ID of the Excel file (drive item) containing the worksheet.                 |
| `site_id`      | string |     ✅    | `"contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"` | The ID of the SharePoint site containing the Excel file.                        |
| `session_id`   | string |          | —                                                                                                    | Optional session ID for the workbook. If provided, will be sent in the headers. |
| `worksheet_id` | string |     ✅    | —                                                                                                    | The ID of the worksheet.                                                        |

***

### `Excel Update Table`

Integration name: **EXCEL\_UPDATE\_TABLE**

Update a table in a workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                                                                                              |
| ------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string  |          | —       | The new name for the table.                                                                                                              |
| `style`       | string  |          | —       | The style of the table.                                                                                                                  |
| `item_id`     | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the table.                                                                              |
| `drive_id`    | string  |          | —       | Optional drive ID. Required for application-level permissions (s2s\_oauth). If not provided, uses /me/drive endpoint for delegated auth. |
| `table_id`    | string  |     ✅    | —       | The ID of the table to update.                                                                                                           |
| `session_id`  | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                          |
| `showTotals`  | boolean |          | —       | Whether the table shows totals.                                                                                                          |
| `showHeaders` | boolean |          | —       | Whether the table shows headers.                                                                                                         |

***

### `Excel Update Worksheet`

Integration name: **EXCEL\_UPDATE\_WORKSHEET**

Update worksheet properties (name, position) in an Excel workbook using Microsoft Graph API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                                                |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`       | string  |          | —       | The new name for the worksheet.                                                                                                                                                                                                            |
| `item_id`    | string  |     ✅    | —       | The ID of the Excel file (drive item) containing the worksheet.                                                                                                                                                                            |
| `site_id`    | string  |          | —       | The ID of the SharePoint site containing the Excel file. Required when using application permissions (s2s\_oauth). Not needed for delegated authentication.                                                                                |
| `drive_id`   | string  |          | —       | 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. |
| `position`   | integer |          | —       | The new position for the worksheet.                                                                                                                                                                                                        |
| `worksheet`  | string  |     ✅    | —       | The name or ID of the worksheet to update. If using ID, it must be URL-encoded.                                                                                                                                                            |
| `session_id` | string  |          | —       | Optional session ID for the workbook. If provided, will be sent in the headers.                                                                                                                                                            |

***

### `Excel Upload Workbook`

Integration name: **EXCEL\_UPLOAD\_WORKBOOK**

Tool to upload an external Excel file from a URL into OneDrive/SharePoint. Downloads the file server-side and uploads it to the specified drive location, returning the driveItem metadata for subsequent Excel operations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                           | Description                                                                                                                                                                                                 |
| ------------------- | ------ | :------: | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `drive_id`          | string |          | `"me"`                            | ID of the target drive. Use 'me' for the user's default OneDrive.                                                                                                                                           |
| `source_url`        | string |     ✅    | `"https://example.com/file.xlsx"` | URL of the Excel file to download and upload. Must be a publicly accessible URL or authenticated URL.                                                                                                       |
| `destination_path`  | string |          | `"Documents/report.xlsx"`         | Full path including folder and filename where the file should be uploaded in OneDrive/SharePoint, e.g., 'Documents/report.xlsx'. If not provided, file will be uploaded to /Uploads/{timestamp}-{filename}. |
| `conflict_behavior` | string |          | —                                 | What to do if a file already exists at the destination path. 'rename' creates a new file with a number suffix, 'replace' overwrites the existing file, 'fail' returns an error.                             |

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/excel-365.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
