Microsoft Excel is the world’s most popular spreadsheet tool for organizing, analyzing, and visualizing data. The Microsoft Excel integration enables you to programmatically read from and write to Excel workbooks as part of your automation workflows, with easy selection of sheets and cell ranges.
With Microsoft Excel integration, you can:
- Read data from specific sheets: Extract table data, lists, records, or custom ranges from any sheet in your Excel files for use in downstream workflow steps.
- Write and update data: Programmatically update cells, insert new rows, or modify existing records in chosen sheets, without ever opening the file manually.
- Select cell ranges: Specify exact ranges (e.g., A1:D10) to target for read and write operations, allowing fine-grained data manipulation.
- Automate calculations and reporting: Pull in live data, perform calculations, and produce custom Excel reports automatically.
- Centralize spreadsheet tasks: Remove manual copy-pasting—the workflow can update Excel files, capture new submissions, or sync data between systems.
- Integrate seamlessly with Microsoft 365: Access and modify cloud-hosted spreadsheets, whether for finance, sales, operations, or analytics.
Excel’s integration empowers every type of user—from analysts to managers—to automate their data collection, enrich reporting, trigger actions from sheet updates, and keep important data always up-to-date.
Connect Microsoft Excel to your automations to streamline data management, reporting, and collaboration within your workflows.
Integrate Microsoft Excel into the workflow with explicit sheet selection. Can read and write data in specific sheets.
Read data from a specific sheet in a Microsoft Excel spreadsheet
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook to read from (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
sheetName | string | Yes | The name of the sheet/tab to read from (e.g., "Sheet1", "Sales Data") |
cellRange | string | No | The cell range to read (e.g., "A1:D10"). If not specified, reads the entire used range. |
| Parameter | Type | Description |
|---|
sheetName | string | Name of the sheet that was read |
range | string | The range that was read |
values | array | Array of rows containing cell values |
metadata | json | Spreadsheet metadata including ID and URL |
↳ spreadsheetId | string | Microsoft Excel spreadsheet ID |
↳ spreadsheetUrl | string | Spreadsheet URL |
Write data to a specific sheet in a Microsoft Excel spreadsheet
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook to write to (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
sheetName | string | Yes | The name of the sheet/tab to write to (e.g., "Sheet1", "Sales Data") |
cellRange | string | No | The cell range to write to (e.g., "A1:D10", "A1"). Defaults to "A1" if not specified. |
values | array | Yes | The data to write as a 2D array (e.g. [["Name", "Age"], ["Alice", 30], ["Bob", 25]]) or array of objects. |
valueInputOption | string | No | The format of the data to write |
includeValuesInResponse | boolean | No | Whether to include the written values in the response |
| Parameter | Type | Description |
|---|
updatedRange | string | Range of cells that were updated |
updatedRows | number | Number of rows updated |
updatedColumns | number | Number of columns updated |
updatedCells | number | Number of cells updated |
metadata | json | Spreadsheet metadata including ID and URL |
↳ spreadsheetId | string | Microsoft Excel spreadsheet ID |
↳ spreadsheetUrl | string | Spreadsheet URL |
Clear the values and/or formatting of a range in a Microsoft Excel worksheet
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
sheetName | string | No | The name of the worksheet (e.g., "Sheet1"). If omitted, the range must use the combined "Sheet1!A1:B2" format. |
range | string | Yes | The cell range to clear (e.g., "A1:D10" or "Sheet1!A1:D10") |
applyTo | string | No | What to clear: "All", "Formats", or "Contents". Defaults to "All". |
| Parameter | Type | Description |
|---|
cleared | boolean | Whether the range was cleared |
range | string | The range that was cleared |
applyTo | string | What was cleared (All, Formats, or Contents) |
metadata | object | Spreadsheet metadata |
↳ spreadsheetId | string | The ID of the spreadsheet |
↳ spreadsheetUrl | string | URL to access the spreadsheet |
Apply fill color and/or font formatting to a range in a Microsoft Excel worksheet
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
sheetName | string | No | The name of the worksheet (e.g., "Sheet1"). If omitted, the range must use the combined "Sheet1!A1:B2" format. |
range | string | Yes | The cell range to format (e.g., "A1:D10" or "Sheet1!A1:D10") |
fillColor | string | No | Background fill color as an HTML hex code (e.g., "#FFFF00"). |
fontBold | boolean | No | Whether the font is bold. |
fontItalic | boolean | No | Whether the font is italic. |
fontColor | string | No | Font color as an HTML hex code (e.g., "#FF0000"). |
fontSize | number | No | Font size in points (e.g., 12). |
fontName | string | No | Font name (e.g., "Calibri"). |
| Parameter | Type | Description |
|---|
formatted | boolean | Whether the formatting was applied |
range | string | The range that was formatted |
fill | object | The applied fill, or null if no fill was set |
↳ color | string | The applied fill color |
font | object | The applied font properties, or null if no font was set |
↳ bold | boolean | Whether the font is bold |
↳ italic | boolean | Whether the font is italic |
↳ color | string | The font color |
↳ name | string | The font name |
↳ size | number | The font size in points |
metadata | object | Spreadsheet metadata |
↳ spreadsheetId | string | The ID of the spreadsheet |
↳ spreadsheetUrl | string | URL to access the spreadsheet |
Create a new table over a range of cells in a Microsoft Excel workbook
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
address | string | Yes | The range address for the table data source (e.g., "Sheet1!A1:D5"). If no sheet name is included, the active sheet is used. |
hasHeaders | boolean | No | Whether the first row of the range contains column headers. Defaults to true. |
| Parameter | Type | Description |
|---|
table | object | Details of the newly created table |
↳ id | string | The unique ID of the table |
↳ name | string | The name of the table |
↳ showHeaders | boolean | Whether the header row is shown |
↳ showTotals | boolean | Whether the totals row is shown |
↳ style | string | The table style name |
metadata | object | Spreadsheet metadata |
↳ spreadsheetId | string | The ID of the spreadsheet |
↳ spreadsheetUrl | string | URL to access the spreadsheet |
Delete a worksheet (sheet) from a Microsoft Excel workbook
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
worksheetName | string | Yes | The name of the worksheet to delete (e.g., "Sheet1", "Old Data") |
| Parameter | Type | Description |
|---|
deleted | boolean | Whether the worksheet was deleted |
worksheetName | string | The name of the deleted worksheet |
metadata | object | Spreadsheet metadata |
↳ spreadsheetId | string | The ID of the spreadsheet |
↳ spreadsheetUrl | string | URL to access the spreadsheet |
Sort a range or table by a column in a Microsoft Excel worksheet
| Parameter | Type | Required | Description |
|---|
spreadsheetId | string | Yes | The ID of the spreadsheet/workbook (e.g., "01ABC123DEF456") |
driveId | string | No | The ID of the drive containing the spreadsheet. Required for SharePoint files. If omitted, uses personal OneDrive. |
tableName | string | No | The name of the table to sort. When provided, the table is sorted and range/sheetName are ignored. |
sheetName | string | No | The name of the worksheet (e.g., "Sheet1"). Used for range sorts when the range does not include a sheet name. |
range | string | No | The cell range to sort (e.g., "A1:D10" or "Sheet1!A1:D10"). Required when no table name is provided. |
sortColumn | number | Yes | The zero-based column index within the range or table to sort on (0 = first column). |
sortAscending | boolean | No | Whether to sort in ascending order. Defaults to true. |
hasHeaders | boolean | No | Whether the range has a header row that should be excluded from sorting. Only applies to range sorts. Defaults to false. |
matchCase | boolean | No | Whether casing affects string ordering. Defaults to false. |
| Parameter | Type | Description |
|---|
sorted | boolean | Whether the sort was applied |
target | string | The range or table name that was sorted |
sortColumn | number | The zero-based column index that was sorted on |
ascending | boolean | Whether the sort was ascending |
metadata | object | Spreadsheet metadata |
↳ spreadsheetId | string | The ID of the spreadsheet |
↳ spreadsheetUrl | string | URL to access the spreadsheet |