The Excel Node lets you read, write, and manage Excel files stored in Microsoft OneDrive using Microsoft Graph.
It supports automation workflows like:
Reading spreadsheet data
Appending rows (e.g. orders, logs)
Updating ranges
Managing sheets and tables
FeatureDescriptionAuthMicrosoft OAuth (OneDrive access)Data SourceExcel files in OneDriveExecutionServer-side via Microsoft Graph APITemplatingHandlebars ({{variable}})OutputJSON ({{stepName.values}})
To use the Excel node:
Click “Connect Microsoft”
Sign in via Microsoft OAuth
Grant access to OneDrive files
Refresh and reopen the dialog
Once connected, credentials are stored and reused.
The Excel node is configured in 3 steps:
Step name
Used to reference output later
Must be a valid variable name
Example:
readOrdersMicrosoft Account
Select connected account
Excel File
Browse OneDrive files
Select .xlsx file
Sheet Name (optional)
Defaults to first sheet if empty
Supports variables:
{{sheetName}}Choose what operation to perform.
ActionDescriptionget_rangeRead a specific rangeget_used_rangeRead all used cellsupdate_rangeUpdate values in rangeclear_rangeClear values
ActionDescriptionappend_rowAdd new rowinsert_rowsInsert rows at positiondelete_rowsRemove rows
ActionDescriptionget_tablesList all tablesget_table_rowsFetch table dataadd_table_rowInsert rowupdate_table_rowUpdate rowdelete_table_rowDelete row
ActionDescriptionget_sheetsList sheetscreate_sheetCreate new sheetdelete_sheetDelete sheet
Two modes:
Structured UI inputs
Auto-generates JSON payload
Direct control of request payload
Supports dynamic expressions
Syncaut uses Handlebars for dynamic values.
{
"values": [
["{{orderId}}", "{{customerName}}", "{{total}}"]
]
}{{json someObject}}{
"range": "Sheet1!A1:D10"
}{
"range": "A1:C3",
"values": [
["Name", "Price"],
["Product A", "9.99"]
]
}{
"values": [
["{{orderId}}", "{{customerName}}", "{{total}}"]
]
}{
"row": 5,
"count": 2
}{
"row": 3,
"count": 1
}{
"tableId": "Table1",
"values": [
["{{productId}}", "{{quantity}}"]
]
}{
"name": "{{sheetName}}"
}Each step outputs structured data:
{{stepName.values}}If step name = readSheet:
{{readSheet.values}}Your executor does:
Handlebars renders payload
HTML entities decoded
Credentials decrypted before use
Uses ky to call Microsoft Graph
Routed via:
excelChannelReturns normalized JSON
Stored in workflow context
Credentials are encrypted at rest
Decrypted only during execution
OAuth tokens never exposed to client
Thrown when:
Invalid payload
Missing required params
Unauthorized access
throw new NonRetriableError("Invalid Excel payload");["{{orderId}}", "{{total}}"]Safer
Prevents malformed JSON
good: readOrders
bad: read-orders!get_used_range when unsureAutomatically detects data
Works only with OneDrive-hosted Excel files
No support for:
Local uploads
Google Sheets (separate integration)
Table operations require existing tables
Trigger → New order
Excel Node:
Action: append_row
Payload:
{
"values": [
["{{orderId}}", "{{customerName}}", "{{total}}"]
]
}Output stored for next steps
UI builds payload via:
buildPayload(action, fieldValues)Executor:
Parses payload
Applies Handlebars
Sends request via excelChannel
Supports:
Smart number parsing
JSON auto-parsing
Variable interpolation inside arrays
Navigate