Microsoft Excel
Service domainSPREADSHEETS
Arcade Optimized
Arcade.dev LLM tools for Microsoft Excel
10tools
The Microsoft Excel toolkit connects Arcade to a user's OneDrive for Business account, enabling agents to create, read, edit, audit, and comment on .xlsx workbooks through Microsoft Graph.
Capabilities
- Workbook discovery & metadata — search OneDrive by keyword or folder to locate workbooks by
item_id; inspect structure (worksheets, named ranges, used ranges, tables, charts, protection state) before operating. - Reading & querying data — paginated range reads with optional column projection, row filtering, record-keyed output, formula/type/format annotations, and CSV/TSV export.
- Writing & formatting — create or edit workbooks with a rich operation set: set values, format cells (font, fill, borders, alignment, wrap), resize rows/columns with autofit, sort, add/style native Excel tables and charts, manage worksheets and named ranges, protect sheets, and recalculate.
- Aggregation — group-and-aggregate a worksheet in one call (sum, average, count, min, max) by column letter or header name, with warnings for non-numeric cells that were skipped.
- Data quality auditing — scan a single sheet or an entire workbook for formula errors, type outliers, inconsistent columns, accidental duplicates, and blank cells; results are severity-ranked (high → low) and never truncate critical findings.
- Comments & identity — list comment threads and replies, post replies, and resolve the current authenticated user's Microsoft context.
OAuth
This toolkit uses OAuth 2.0 via Microsoft. Arcade handles the OAuth flow; see the Microsoft auth provider docs for configuration 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.
By default, when creating a workbook for a person to read, build a clean,
professional-looking table rather than a bare value dump: preserve typed numbers and dates,
apply appropriate number formats, turn tabular data into a native Excel table (add_table),
and ALWAYS resize columns (format_columns with autofit=true over every used column —
agents usually omit this and labels get truncated). If autofit still clips a long label,
set an explicit column_width. Keep sheet names and headers plain text (no emojis). Only
skip the polish when the user asks for raw data or a specific style.
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 per-type fields and examples.
For a workbook you already have as a complete .xlsx file, upload its bytes rather than
rebuilding it cell-by-cell. | |||
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 to store a workbook you already have as a complete file — one the user provided,
or one produced elsewhere with formatting, formulas, and charts intact. To build and format
a workbook from data, apply formatting operations when creating it rather than uploading
bytes. 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