Read and write worksheets, ranges and tables of Excel workbooks stored in OneDrive or SharePoint from any Windmill script, flow or app.
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick Microsoft Excel under Instance-configured OAuth APIs. Click Connect and sign in with your Microsoft account, then name the resource and save it.
Run your first script
Fork the get range or add row script below and pick a workbook and a worksheet from the dropdowns, or give the workbook as a path such as /Reports/budget.xlsx.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
New Row Added
Update Table Row
Update Range
List Worksheets
List Tables
Get Table Rows
Get Table
Get Range
Find Row
Create xlsx from JSON
Add Worksheet
Add Table Rows
Add Row
Trigger flows from Microsoft Excel
Microsoft Excel is not only a destination. These inbound paths are supported today.
New row added (scheduled poll)
In a flow, add a trigger, choose Scheduled Poll, pick the New Row Added script and an interval. Each run emits the rows added at the bottom of the worksheet since the previous one.
Resource type
The shape of the credential every script on this page expects.
ms_excel
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | Yes | Microsoft Graph access token. Filled in and refreshed by Windmill when you connect with OAuth. |
Questions
A script fails on a missing permission
Each script's description names the permission it needs. The default covers workbooks in your own OneDrive; one in a SharePoint library or someone else's drive, passed with drive_id, needs Files.ReadWrite.All. Tick it when connecting, or reconnect an existing resource.
Which files are supported?
Excel workbooks in the .xlsx format stored in OneDrive or SharePoint, not .xls or .csv. Microsoft documents the workbook API for work or school accounts; personal accounts are best-effort.
Worksheet rows or table rows?
Add Row and Find Row work on any worksheet's used cells. For data formatted as an Excel table, the table scripts are more robust: they address rows by index and keep the table's formatting and formulas.
How do I create a workbook?
Microsoft Graph cannot create an empty workbook. Build one with the Create xlsx from JSON script, upload it with the OneDrive or SharePoint integration, then write to it.
There is no Connect button on my instance
An instance admin registers an app in Microsoft Entra ID with the redirect URI <your instance>/oauth/callback/ms_excel, then adds Microsoft Excel under Instance settings → Auth/OAuth/SAML → OAuth with its client id, secret and tenant. The tenant is set once for the whole instance, and one Entra app can serve Outlook, OneDrive, SharePoint and Excel.