Microsoft Excel
Arcade.dev LLM tools for Microsoft Excel
Microsoft Excel toolkit for Arcade.dev lets LLMs operate on Excel workbooks stored in OneDrive for Business via the Microsoft Graph API. It enables creating workbooks, managing worksheets, reading workbook and worksheet metadata, and reading/updating cells and ranges using sparse formats and pagination.
Capabilities
- Manage workbook and worksheet lifecycle (create, add, rename, delete) with session_id support to mitigate Graph propagation delays.
- Inspect workbook metadata and worksheet lists including visibility and positions.
- Read sparse cell data with pagination hints and update single cells or sparse ranges (strings, numbers, booleans, formulas).
- Handle consistency and retry patterns around short propagation windows.
OAuth Provider: microsoft Scopes: Files.Read, Files.ReadWrite, User.Read
Available tools(9)
| Tool name | Description | Secrets | |
|---|---|---|---|
Add a new worksheet to the workbook.
Note: The new worksheet name may not be immediately visible to other
tools due to a brief Graph API propagation delay (up to ~10 s). Pass
the returned ``session_id`` to subsequent calls that reference the new
worksheet to mitigate this. | |||
Create a new Excel workbook (.xlsx) in OneDrive for Business.
Only .xlsx files are supported. OneDrive Consumer (personal accounts) is NOT supported. | |||
Delete a worksheet from the workbook.
Cannot delete the last worksheet in a workbook.
Note: If referencing a recently added or renamed worksheet, pass the
``session_id`` from that operation. A brief Graph API propagation delay
(up to ~10 s) may cause a WorksheetNotFoundError; retry with the
``session_id`` if this occurs. | |||
Get metadata about an Excel workbook including worksheet list.
Returns workbook name, URL, and all worksheets with their names, positions, and visibility. | |||
Read cell values from a worksheet.
Returns data in sparse dict format where data[ROW][COL] has userEnteredValue
and formattedValue for each non-empty cell. Includes pagination hints if more
data exists beyond the requested range.
Note: If referencing a recently added or renamed worksheet, pass the
``session_id`` from that operation. A brief Graph API propagation delay
(up to ~10 s) may cause a WorksheetNotFoundError; retry with the
``session_id`` if this occurs. | |||
Rename an existing worksheet in the workbook.
Note: The new name may not be immediately visible to other tools due
to a brief Graph API propagation delay (up to ~10 s). Pass the returned
``session_id`` to subsequent calls that reference the renamed worksheet
to mitigate this. If referencing a recently added worksheet as the source,
the same delay applies; retry with the ``session_id`` if a
WorksheetNotFoundError occurs. | |||
Update a single cell value in an Excel workbook.
Supports strings, numbers, booleans, and formulas (values starting with '=').
Note: If referencing a recently added or renamed worksheet, pass the
``session_id`` from that operation. A brief Graph API propagation delay
(up to ~10 s) may cause a WorksheetNotFoundError; retry with the
``session_id`` if this occurs. | |||
Update multiple cells in a worksheet using sparse dict format.
Only specified cells are updated; unspecified cells remain unchanged.
The data format is the same as Google Sheets update_cells.
Internally, a single PATCH request is sent covering the bounding box
of all specified cells. Cells within the box that are not in the
input are sent as ``null``, which the Graph API treats as "skip".
Note: If referencing a recently added or renamed worksheet, pass the
``session_id`` from that operation. A brief Graph API propagation delay
(up to ~10 s) may cause a WorksheetNotFoundError; retry with the
``session_id`` if this occurs. | |||
Get information about the current user and their Microsoft Excel environment. |
Selected tools
No tools selected.
Click "Show all tools" to add tools.
Requirements
Select tools to see requirements
MicrosoftExcel.AddWorksheet
Add a new worksheet to the workbook. Note: The new worksheet name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the new worksheet to mitigate this.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
name | string | Optional | Name for the new worksheet. If omitted, Excel generates a default name. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— The created worksheet info.MicrosoftExcel.CreateWorkbook
Create a new Excel workbook (.xlsx) in OneDrive for Business. Only .xlsx files are supported. OneDrive Consumer (personal accounts) is NOT supported.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
filename | string | Required | File name for the new workbook. The .xlsx extension is added automatically if not provided. |
parent_folder_id | string | Optional | Parent folder ID. If omitted, the workbook is created in the root of OneDrive. |
initial_data | string | Optional | Optional JSON string for initial data in the first worksheet. Format: data[ROW][COL] = VALUE where ROW is a row number as string, COL is a column letter (uppercase), VALUE is string/number/boolean/null. Type: dict[str, dict[str, str | int | float | bool | None]]. |
Requirements
Output
json— The created Excel workbook metadata with session ID.MicrosoftExcel.DeleteWorksheet
Delete a worksheet from the workbook. Cannot delete the last worksheet in a workbook. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
worksheet | string | Required | Name of the worksheet to delete. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— Confirmation of the worksheet deletion.MicrosoftExcel.GetWorkbookMetadata
Get metadata about an Excel workbook including worksheet list. Returns workbook name, URL, and all worksheets with their names, positions, and visibility.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— Workbook metadata including worksheet list.MicrosoftExcel.GetWorksheetData
Read cell values from a worksheet. Returns data in sparse dict format where data[ROW][COL] has userEnteredValue and formattedValue for each non-empty cell. Includes pagination hints if more data exists beyond the requested range. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
worksheet | string | Optional | Worksheet name to read from. If omitted, reads from the first worksheet. |
start_row | integer | Optional | Starting row number (1-indexed). Defaults to 1. |
start_col | string | Optional | Starting column letter. Defaults to A. |
max_rows | integer | Optional | Maximum rows to return. Defaults to 1000, maximum allowed is 1000. |
max_cols | integer | Optional | Maximum columns to return. Defaults to 100, maximum allowed is 100. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— Worksheet data in sparse dict format with pagination.MicrosoftExcel.RenameWorksheet
Rename an existing worksheet in the workbook. Note: The new name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the renamed worksheet to mitigate this. If referencing a recently added worksheet as the source, the same delay applies; retry with the ``session_id`` if a WorksheetNotFoundError occurs.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
worksheet | string | Required | Current name of the worksheet to rename. |
new_name | string | Required | New name for the worksheet. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— The renamed worksheet info.MicrosoftExcel.UpdateCell
Update a single cell value in an Excel workbook. Supports strings, numbers, booleans, and formulas (values starting with '='). Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
column | string | Required | Column letter or letters (e.g., 'A', 'BC'). |
row | integer | Required | Row number (1-indexed). |
value | string | Required | The value to set. Supports strings, numbers, booleans, and formulas (e.g., '=SUM(A1:A10)'). |
worksheet | string | Optional | Worksheet name to update. If omitted, updates the first worksheet. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— Confirmation of the cell update.MicrosoftExcel.UpdateRange
Update multiple cells in a worksheet using sparse dict format. Only specified cells are updated; unspecified cells remain unchanged. The data format is the same as Google Sheets update_cells. Internally, a single PATCH request is sent covering the bounding box of all specified cells. Cells within the box that are not in the input are sent as ``null``, which the Graph API treats as "skip". Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
item_id | string | Required | The ID of the Excel workbook. |
data | string | Required | JSON string where data[ROW][COL] = VALUE. ROW is a row number as string, COL is a column letter (uppercase), VALUE is string/number/boolean/null. Type: dict[str, dict[str, str | int | float | bool | None]]. |
worksheet | string | Optional | Worksheet name to update. If omitted, updates the first worksheet. |
drive_id | string | Optional | Optional drive ID for shared items. If omitted, uses the user's default OneDrive. |
session_id | string | Optional | Optional session ID from a previous operation for better performance. |
Requirements
Output
json— Confirmation of the range update with cell count.MicrosoftExcel.WhoAmI
Get information about the current user and their Microsoft Excel environment.
Parameters
No parameters required.
Requirements
Output
json— Get comprehensive user profile and Microsoft Excel environment information.