Microsoft Excel Block
Read, write, and update data
The Microsoft Excel block integrates with Excel spreadsheets to manage data via OAuth. Use it to read cell ranges, write new data, update existing cells, and append rows to Excel tables within your workflows.
Overview
| Property | Value |
|---|---|
| Type | microsoft_excel |
| Category | tools |
| Color | #E0E0E0 |
When to Use
- Read data from a specific cell range in a spreadsheet to feed into downstream blocks.
- Write new rows or a block of values into a sheet at a given range.
- Update existing cells in place with fresh values.
- Append rows to a named Excel table using the
table_addoperation. - Build reporting or data-sync workflows that move data into or out of Excel.
- Parse formulas or store raw values using the value input option.
Configuration
Operation
Dropdown (operation) that selects the action to perform. Defaults to read.
| Label | ID |
|---|---|
| Read Data | read |
| Write Data | write |
| Update Data | update |
| Add to Table | table_add |
Microsoft Account
OAuth credential sub-block (credential) for the microsoft-excel provider. Required. Requests the following Microsoft Graph scopes:
https://graph.microsoft.com/Files.ReadWrite.Allhttps://graph.microsoft.com/Sites.ReadWrite.All
Select Sheet / Spreadsheet ID
Two mutually exclusive modes for identifying the target spreadsheet:
- Basic mode —
spreadsheetId: a file-selector UI that browses the authenticated user's OneDrive for.xlsxfiles. - Advanced mode —
manualSpreadsheetId: a text field for pasting the spreadsheet's Drive item ID directly.
At least one must be provided; spreadsheetId takes precedence when both are present.
Range
Short-text field (range). Required for Read Data, Write Data, and Update Data operations. Not shown for Add to Table. Enter the sheet name and cell address separated by ! (e.g., Sheet1!A1:D10). If omitted for a read, the tool defaults to Sheet1!A1:Z1000.
Table Name
Short-text field (tableName). Required only for the Add to Table (table_add) operation. Enter the exact name of the Excel table to append rows to.
Values (Write)
Long-text field (values). Required for the Write Data operation. Enter a JSON array of arrays or an array of objects, for example:
[["A1", "B1"], ["A2", "B2"]][{"name":"John","age":30},{"name":"Jane","age":25}]
When an array of objects is provided, the block automatically extracts headers and converts to row arrays before sending.
Value Input Option (Write)
Dropdown (valueInputOption). Controls how literal strings are interpreted when writing. Only shown for the Write Data operation.
| Label | ID |
|---|---|
| User Entered (Parse formulas) | USER_ENTERED |
| Raw (Don't parse formulas) | RAW |
Values (Update)
Long-text field (updateValues). Required for the Update Data operation. Accepts the same JSON format as the write values field.
Value Input Option (Update)
Dropdown (updateValueInputOption). Same options as the write Value Input Option but applies to the Update Data operation.
| Label | ID |
|---|---|
| User Entered (Parse formulas) | USER_ENTERED |
| Raw (Don't parse formulas) | RAW |
Values (Add to Table)
Long-text field (tableValues). Required for the Add to Table operation. Accepts the same JSON format as the other values fields. Each object or inner array becomes one new row in the named Excel table.
Inputs & Outputs
Inputs:
operation(string) — Operation to perform (read,write,update, ortable_add)credential(string) — Microsoft Excel OAuth access tokenspreadsheetId(string) — Spreadsheet identifier selected via the file pickermanualSpreadsheetId(string) — Manually entered spreadsheet Drive item IDrange(string) — Cell range inSheetName!A1:Z100format (read, write, update)tableName(string) — Name of the Excel table (table_add only)values(string) — JSON-encoded cell values for write operationsupdateValues(string) — JSON-encoded cell values for update operationstableValues(string) — JSON-encoded cell values for table_add operationsvalueInputOption(string) — Value input option for write operations (USER_ENTEREDorRAW)updateValueInputOption(string) — Value input option for update operations (USER_ENTEREDorRAW)
Outputs:
data(json) — Excel range data with sheet information and cell values (read operations)metadata(json) — Spreadsheet metadata including ID, URL, and sheet detailsupdatedRange(string) — The range that was updated (write/update operations)updatedRows(number) — Number of rows updated (write/update operations)updatedColumns(number) — Number of columns updated (write/update operations)updatedCells(number) — Total number of cells updated (write/update operations)index(number) — Row index of the first row added (table_add operations)values(json) — Cell values array for the rows added (table_add operations)
Tools
- Read from Microsoft Excel (
microsoft_excel_read) — Fetches cell values and formatted text from a named range (or the defaultSheet1!A1:Z1000) via the Microsoft Graph API. Returns both rawvaluesand displaytextarrays. - Write to Microsoft Excel (
microsoft_excel_write) — Writes a 2-D array of values to a specified range using a PATCH request. Accepts arrays of objects and auto-converts them to header+row format. - Update Microsoft Excel (
microsoft_excel_update) — Updates existing cells at a specified range using a PATCH request. Behaves identically to the write tool but is semantically distinct for update workflows. - Add to Microsoft Excel Table (
microsoft_excel_table_add) — Appends one or more rows to a named Excel table via the Graph APIrows/addendpoint. Accepts arrays of objects or arrays of arrays.
YAML Example
excel_read:
type: microsoft_excel
name: "Microsoft Excel"
inputs:
operation: "read"
credential: "{{MICROSOFT_EXCEL_ACCESS_TOKEN}}"
spreadsheetId: "{{start.spreadsheetId}}"
range: "Sheet1!A1:D10"
connections:
outgoing:
- target: next-block-id