> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Excel

> Connect Microsoft Excel to your Atako agents — 7 read and 3 write actions.

Let your agents read and write Excel workbooks stored in OneDrive: list worksheets, read used ranges, manage tables and named items, add worksheets and table rows.

## Connection

* **Authentication**: OAuth 2.0 — you authorize Atako via Microsoft Excel's consent screen; no key to copy.
* **Scopes requested**:
  * `offline_access`
  * `User.Read`
  * `Files.Read`
  * `Files.ReadWrite`

<Note>
  Nothing to paste: click Connect and sign in with your Microsoft 365 work or school account. The workbook is identified by its OneDrive drive item id — obtain it via the OneDrive connector (list\_root\_children / list\_children). Prerequisite on the Atako side — same Microsoft Entra app as Outlook, Teams and OneDrive: an administrator sets INTEGRATION\_OAUTH\_EXCEL\_CLIENT\_ID / \_CLIENT\_SECRET to the same values as INTEGRATION\_OAUTH\_OUTLOOK\_CLIENT\_ID / \_CLIENT\_SECRET, and adds the delegated permission Files.ReadWrite in Entra → App registrations → Atako → API permissions → Microsoft Graph → Delegated.

  See [Microsoft Excel's documentation](https://learn.microsoft.com/en-us/graph/api/resources/excel).
</Note>

## Read actions (7)

| Action             | Description                                                                                                                                                                                                                                                                        |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_table`        | Get metadata for a single table (id, name, showHeaders, showTotals, style, worksheet). The table can be a name or id from list\_tables.                                                                                                                                            |
| `get_used_range`   | Get the used range of a worksheet (the smallest rectangle that contains all cells with data). Returns address, values (2D array of rows, each row = array of cell values), formulas, numberFormat, rowCount, columnCount. The worksheet can be a name or id from list\_worksheets. |
| `list_charts`      | List charts in a worksheet. Returns id, name, height, width, top, left for each chart. Does not return chart images (binary, excluded).                                                                                                                                            |
| `list_named_items` | List named items (defined names / named ranges) in the workbook. Returns name, type, value (formula or range address), visible for each item.                                                                                                                                      |
| `list_table_rows`  | List rows of a table. Each row contains index and values (2D array: each row = array of cell values). Optional: top (page size, default 200), skip (offset).                                                                                                                       |
| `list_tables`      | List all tables in the workbook. Returns id, name, showHeaders, showTotals, style for each table.                                                                                                                                                                                  |
| `list_worksheets`  | List all worksheets in the workbook. Returns id, name, position and visibility for each sheet. The item\_id is the OneDrive drive item id of the workbook.                                                                                                                         |

## Write actions (3)

| Action           | Description                                                                                                                                                                                                                                                                     |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `add_table`      | Create a table in the workbook. address is the cell range in A1 notation (e.g. "Sheet1!A1:D5"). hasHeaders indicates whether the first row contains column names (boolean). Returns the created table (id, name, showHeaders, showTotals, style).                               |
| `add_table_rows` | Add rows to a table. values is a 2D array: each inner array is one row, each element is a cell value (string or number). The number of values per row must match the table column count. index (integer, 0-based) specifies where to insert; omit or null to append at the end. |
| `add_worksheet`  | Add a new worksheet to the workbook. The name parameter is the sheet name (string, 1–31 characters, must not contain \ / \* \[ ] : ?). Returns the created worksheet (id, name, position, visibility).                                                                          |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
