- Home
- Resources
- Integrations
- Microsoft Excel 365
Microsoft Excel 365 n8n integrationAutomate Microsoft Excel 365 with n8n.
A workbook can stay current without anyone opening Excel. The Microsoft Excel 365 n8n integration puts 17 operations behind 3 resources, workbooks, sheets and tables, so a workflow reads rows, appends them or wipes a range. No Excel trigger exists, so the run starts on a Schedule.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Microsoft Excel 365 n8n integration actually do?
The node speaks to the Microsoft Excel API on your behalf. It opens a workbook stored in a Microsoft account, then reads, writes or restructures what sits inside it. 17 operations hang off 3 resources, Workbook, Sheet and Table, and each one maps to a gesture somebody would otherwise do by hand: appending a row, clearing a range, looking up a value in a column, adding a sheet for the new month.
First shape, a collector feeds a workbook. An HTTP Request node pulls a page, an HTML node turns the markup into fields, and worksheet.append writes the result under the existing headers. The same run can hand the numbers to a mail step, the way a Gmail node ships a daily digest to the people who never open the file themselves.
Second shape, a workbook feeds a send. worksheet.readRows returns the rows, a model drafts copy from them, and a Microsoft Outlook node delivers it. Teams who keep a subscriber list in Excel rather than in a database get their send without a single copy and paste, and the sheet stays the place where anybody can correct a line.
Third shape, a workbook mirrors another system. A file lands in Microsoft OneDrive, a Code node parses it, and worksheet.upsert matches on a column to rewrite only the rows that moved, which is how a stock or portfolio sheet stays true without a full reimport. When the same data already lives in a real database, weigh what the sheet adds against what Postgres handles on its own, and remember that the workflow shape exists on the Google Sheets side too.
Where the node stops, HTTP Request takes over. It calls any Microsoft Excel API endpoint while reusing the same credential, the connection saved once in n8n and reused by every workflow, through predefined authentication, which covers everything outside the 17 operations. Two limits deserve a minute before building. A range has to be spelled out, A1:B5 is read and a generic A:B is not, and a list operation stops at the first page until Return All is switched on.
The last thing to plan is the start. Excel 365 has no trigger node in n8n, so the workflow begins elsewhere, on a Schedule Trigger at a fixed interval or on an n8n Webhook that another service calls. If the open question is n8n itself rather than Excel, the n8n review goes through the platform, and n8n training covers building these workflows end to end.
How do you connect Microsoft Excel 365 to n8n?
- 01
Choose the credential type
The Excel node accepts two credentials. Microsoft Excel OAuth2 API covers this node alone. The generic Microsoft OAuth2 API serves several Microsoft nodes at once, as long as it carries the scopes, the permissions an app requests, that each of them needs. Both start from a Microsoft Azure account and a user account with access to the service.
- 02
Register an application
Self hosted, setup starts in Azure. In the Microsoft Application Registration Portal, select Register an application and set Supported account types to any organizational directory plus personal accounts. Copy the OAuth Callback URL into Redirect URI, pick the Web platform, paste the Application (client) ID into Client ID.
- 03
Generate a client secret
Back on the application page, open Certificates & secrets, add one under Client secrets with a description, then copy what appears in the Value column. Paste it into n8n as Client Secret, then start the account connection from the credential. Microsoft asks to sign in and to allow the app, and the credential is saved once that consent goes through.
17 operations, one note each
The Microsoft Excel 365 node exposes 17 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Get Many | Update | Create | Add Sheet | Append | Clear | Convert to Range | Delete | Delete | Delete | Get Columns | Get Rows | Lookup | Get Rows | Append or Update |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Table | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
| Workbook | ✓ | ✓ | ✓ | ||||||||||||
| Sheet | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Operations index
Table
7 operationsAppend rows to table
table.appendWhat you see in n8n
Notes & use cases
Rows land at the bottom of an existing table object, and the table keeps its own column definitions.
Key parameters
- Workbook, Sheet and Table: three pickers, each filtered by the choice above it.
- Data: the raw values as an array of string arrays in JSON, one inner array per row.
- Data Mode:
autoMapwhen the incoming item carries the column names,defineto set each column by hand,rawto send the JSON untouched. - Index: left empty, the row goes last; a position slots it in and pushes the rows below down, first row index 0.
Convert to range
table.convertToRangeWhat you see in n8n
Notes & use cases
The table object goes away while the cells stay where they are, which turns a structured table back into ordinary cells.
Key parameters
- Workbook and Sheet: the file and the tab holding the table.
- Table: the table to unwrap, picked from the list or given as an ID through an expression.
Create a table
table.addTableWhat you see in n8n
Notes & use cases
A plain range becomes a table, which is what the other table operations need before they can do anything.
Key parameters
- Workbook and Sheet: where the new table gets created.
- Select Range:
autoconverts the whole used range of the sheet,manualhands the choice to the next field. - Range: the cells to convert, in A1 style such as
A1:B2. - Has Headers: off, Excel generates headers itself and pushes the data down by one row.
Delete a table
table.deleteTableWhat you see in n8n
Notes & use cases
One call removes the table from the sheet. Convert to range is the other way out when the values have to stay.
Key parameters
- Workbook, Sheet, Table: the same three step path as every table operation, down to the named table.
Get columns
table.getColumnsWhat you see in n8n
Notes & use cases
The structure comes back rather than the content: the list of columns the table declares.
Key parameters
- Workbook, Sheet, Table: the table to inspect.
- Return All: on, every column comes back; off, Limit caps the count.
- Fields: a comma separated list to trim the response down to what the next node reads.
Get rows
table.getRowsWhat you see in n8n
Notes & use cases
Each row of the table arrives as its own item, keyed by the header names, ready for a loop or a filter.
Key parameters
- Workbook, Sheet, Table: the source table.
- Return All: leave it off and the node stops at Limit, which is the usual cause of an export that looks truncated.
- Column Names or IDs: the subset of columns to bring back.
- RAW Data: on, the response is not parsed into keys, and Data Property names the field it lands in.
Lookup a column
table.lookupWhat you see in n8n
Notes & use cases
Instead of pulling the table and filtering afterwards, this one searches a single column and returns the rows that match.
Key parameters
- Lookup Column: the column name to search in,
Emailfor instance. - Lookup Value: what to find there, often
{{ $json.email }}coming from the node before. - Return All Matches: off by default, so only the first hit comes back; switch it on when duplicates matter.
Workbook
3 operationsAdd a sheet to a workbook
workbook.addWorksheetWhat you see in n8n
Notes & use cases
A new tab appears in the workbook, empty and ready to be written into by a later node.
Key parameters
- Workbook: the file receiving the sheet, from the list or through an expression.
- Name: optional but worth setting, since Excel names the sheet itself when the field stays empty; the name has to be unique in the workbook.
Delete workbook
workbook.deleteWorkbookWhat you see in n8n
Notes & use cases
The whole file goes, not a tab and not a range, so this one belongs behind a condition rather than in the main path.
Key parameters
- Workbook: the file to delete, chosen from the list or resolved by ID through an expression.
Get workbooks
workbook.getAllWhat you see in n8n
Notes & use cases
No picker to fill here: the operation lists the workbooks the credential can see, with their identifiers.
Key parameters
- Return All: on for the full inventory, off to stop at Limit.
- Fields: a comma separated list, useful when only the name and the ID matter downstream.
Sheet
7 operationsAppend data to sheet
worksheet.appendWhat you see in n8n
Notes & use cases
Values go straight under the used range of a sheet, with no table object involved anywhere.
Key parameters
- Workbook and Sheet: the file and the tab that receives the rows.
- Data: an array of string arrays in JSON, one inner array per row to write.
- Data Mode:
autoMapmaps input properties onto matching column names,defineexposes Values to Send to build each column,rawpasses the JSON along as it is.
Append or update a sheet
worksheet.upsertWhat you see in n8n
Notes & use cases
This one reads before it writes: an existing row gets updated, a missing one gets added, in a single node.
Key parameters
- Column to match on and Value of Column to Match On: the pair that identifies the row; the matching column is never modified.
- Select a Range and Range: a specific A1 style range whose first row holds the column names, or blank to use the whole used range.
- Update All Matches: on, every duplicate is rewritten, not only the first one.
Clear sheet
worksheet.clearWhat you see in n8n
Notes & use cases
The sheet stays in place while what it holds goes away, entirely or over a chosen range.
Key parameters
- Apply To:
Contentswipes the data,Formatswipes the font sizes and colors,Alltakes both. - Select a Range and Range: an A1 style range to limit the sweep; left blank, the whole worksheet is cleared.
Delete sheet
worksheet.deleteWorksheetWhat you see in n8n
Notes & use cases
Here the tab itself disappears from the workbook, which is the difference with Clear sheet.
Key parameters
- Workbook: the file to work in.
- Sheet: the tab to remove, picked from the list or given as an ID through an expression.
Get sheets
worksheet.getAllWhat you see in n8n
Notes & use cases
A workbook rarely holds a single tab, and this operation returns the list of sheets it contains.
Key parameters
- Workbook: the file to open.
- Return All: on, every sheet comes back; off, Limit decides how many.
- Fields: a comma separated list to keep the response small.
Get rows from sheet
worksheet.readRowsWhat you see in n8n
Notes & use cases
Reading works on a sheet that was never turned into a table, which is the case of most files people send around.
Key parameters
- Range: A1 style and specific,
A1:B5is fine andA:Bis not; blank returns the entire sheet. - Header Row: the index of the row holding the column names, counted inside the range, first row index being 0.
- First Data Row: the index where the real rows start, which saves a sheet with a title and a blank line above the table.
Update sheet
worksheet.updateWhat you see in n8n
Notes & use cases
Existing rows get overwritten with new values, either across a range or on the rows that match a column.
Key parameters
- Data: an array of string arrays that has to match the range, one inner array per row.
- Column to match on and Value of Column to Match On: how the node finds the right row when the update is targeted.
- Data Mode:
rawrewrites the whole selected range with the new values,autoMapanddefinework column by column. - Update All Matches: on to rewrite every matching row.
Need help automating Microsoft Excel 365 with n8n?
A person reads every message.
Questions people ask next
01Is the Microsoft Excel 365 n8n integration free?
02What credentials or permissions does the Excel node need?
03What are the limits of the Excel node in n8n?
04Can n8n react to a change in an Excel workbook in real time?
05n8n or Make for Microsoft Excel 365?
Get our weekly integration tips.
No spam. Unsubscribe anytime.



