Microsoft Excel
Service domainSPREADSHEETS
Arcade Optimized
Arcade.dev LLM tools for Microsoft Excel
10tools
The Microsoft Excel toolkit for Arcade provides LLM-ready tools for reading, writing, auditing, and managing Excel workbooks stored in OneDrive for Business via the Microsoft Graph API.
Capabilities
- Discovery & navigation: Search OneDrive for workbooks by keyword or folder, retrieve workbook metadata (worksheets, named ranges, tables, charts, extents, protection state), and identify the current user's environment.
- Reading & analysis: Read worksheet ranges with filtering, column projection, pagination, and optional annotations (formulas, types, number formats, styles); aggregate data by group with sum/average/count/min/max in a single call.
- Writing & editing: Create new
.xlsxworkbooks or edit existing ones with a rich operation set — write/clear cells, apply formatting, resize rows/columns, sort, manage tables and charts, handle worksheets and named ranges, protect sheets, and recalculate. - File-level upload: Upload a complete
.xlsxfile byte-for-byte (with automatic resumable upload for large files), bypassing cell-by-cell reconstruction. - Data quality scanning: Audit a worksheet or entire workbook for formula errors, type outliers, inconsistent columns, accidental duplicates, and blank cells — results are severity-ordered so critical issues are never truncated first.
- Comments & collaboration: List comment threads (or replies on a specific thread) and post plain-text replies to existing threads.
OAuth
This toolkit uses OAuth 2.0 via Microsoft. Arcade manages the OAuth flow; see the Microsoft auth provider docs for setup details.
Available tools(10)
10 of 10 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Summarize a worksheet by grouping rows and computing per-group aggregates in one call.
Use this instead of reading and paginating raw rows when you need totals, averages, counts,
or min/max broken down by one or more columns (e.g. revenue by region). Columns can be
referenced by letter (group_by) or by header name (group_by_headers) — use whichever is
more convenient. Groups are returned in first-seen order and capped by ``limit``.
Always check each aggregate's ``numeric_count`` field: non-numeric and formula-error cells
are silently skipped for sum/average/min/max, so a clean-looking total may exclude rows —
the ``warnings`` list will name every column and group where this occurred. | |||
Create a new .xlsx workbook or edit an existing one in OneDrive for Business.
Omit `item_id` to create (an empty workbook is created from `filename`, then the
operations are applied); provide `item_id` to edit. To create a populated workbook, pass
`filename` plus set_values operations; name the target tab via `worksheet` (or reference
one consistent sheet name in the operations) and the new workbook's initial sheet is
renamed to match. For a finished file with formatting/charts intact, upload the bytes
instead of rebuilding cell-by-cell.
Each entry in `operations` selects a behavior via its `type`: write/clear cells, format
cells (font, fill, borders, alignment, wrap, row height), size rows and columns,
sort, add/restyle tables (style, totals, banding, filter), add/move/restyle charts (anchor
cell, size, title, legend, axis titles), manage worksheets and named ranges, protect a
sheet, and recalculate. See the `operations` parameter for the per-type fields. | |||
Get a workbook's structure: worksheets, named ranges, and optionally extents and objects.
Call this first when exploring an unfamiliar workbook: it surfaces hidden worksheets and
workbook-scoped named ranges. Use `include_used_ranges` to also learn where data lives
(used ranges, protection state, and worksheet-local named ranges) before reading, and
`include_objects` to enumerate tables and charts. Both add a per-worksheet fan-out, so leave
them off for a quick worksheet listing. | |||
List a workbook's comments, or the replies on a specific comment thread.
Provide a comment ID to retrieve that thread's replies instead of the top-level comments. | |||
Read a worksheet range with the detail you choose, with guardrails for large sheets.
Request `annotations` for formulas, cell types, number formats, or the range's
fill/font/borders; `filter_column` + `filter_contains` to keep matching rows; `columns` to
project a subset; `export` for csv/tsv. Reads are bounded to the used range and capped by a
row limit and cell budget, paginating via `next_range` rather than returning a whole large
sheet at once.
Set `row_format="records"` (with `has_header=true`) to get a `record` dict on each data
row, keying cell values by the header row (the top row of the worksheet's used range) —
useful when agents need to map values to named columns without tracking positional indices.
The header is carried across pages, so paginated reads via `next_range` stay correctly
keyed. Each row still includes `values`.
To verify formulas, types, or number patterns in the returned cells, pass `annotations`
(e.g. `["formulas", "types"]`); annotation values land under `annotations` keyed by A1
address alongside the displayed values. | |||
Post a plain-text reply to an existing comment thread on a workbook.
The reply is appended to the end of the thread. | |||
Scan a worksheet (or the whole workbook) for data-quality problems as a structured list.
Each issue carries a ``severity`` field (``"high"``, ``"medium"``, or ``"low"``) and the
list is ordered high → low before any truncation cap is applied, so critical findings are
never dropped in favour of lower-priority ones.
By default the scan is sheet-scoped (the named worksheet, or the first sheet when
``worksheet`` is omitted). Pass ``worksheet='*'`` for a workbook-wide audit: every sheet
is scanned in one call and each issue carries its own ``worksheet`` field.
Detects formula-error cells (``severity="high"``), type outliers within a column —
a column mostly one type with a few cells of another — (``severity="medium"``),
inconsistent_column for a column that mixes cell types without a strong majority
(``severity="medium"``), accidental duplicate values in mostly-unique columns
(``severity="medium"``), and blank cells inside an otherwise-populated region
(``severity="low"``). Categorical columns (where repetition is expected) are not flagged
as duplicates, and the header row is excluded from type-outlier and duplicate checks.
A clean sheet returns an empty issues list. Detection is deterministic.
Results are capped; when the cap is reached ``truncated`` is True and a warning is added.
Merged cells are a known limitation: Microsoft Graph reports only the merge anchor as
populated and every covered cell as empty, so cells hidden under a merge may be flagged as
blanks. A worksheet cannot be scanned when its used range exceeds an internal cell limit
(this tool takes no range argument): a single-sheet scan raises an error asking you to
reduce the data, while a whole-workbook scan skips the oversized sheet and names it in a
warning so the rest of the workbook is still scanned. | |||
Find Excel workbooks in OneDrive by keyword or folder, returning their item_ids.
Provide `query` to search the whole drive by name/content, or leave it empty and pass
`parent_folder_id` to list one folder; only .xlsx files are returned. Use a returned
`item_id` to read, edit, scan, or comment on a workbook you did not create this session. | |||
Upload a complete .xlsx file into OneDrive for Business, preserving it byte-for-byte.
Use this instead of rebuilding a finished file cell-by-cell. Large files are uploaded
via a resumable upload session automatically. | |||
Get information about the current user and their Microsoft Excel environment. |
Get Building
Last updated on