Microsoft Excel (Client Credentials)
Integrate your application with the Microsoft Excel API via Microsoft Graph, using an app-only (client credentials) token
🚀 Quickstart
Connect to Microsoft Excel with Tenklo and see data flow in 2 minutes.
In Tenklo (free signup), go to Integrations -> Configure New Integration -> Microsoft Excel (Client Credentials).
Go to Connections -> Add Test Connection -> Connect, then enter your Tenant ID, Client ID, and Client Secret. Later, you'll let your users do the same directly from your app.
Let's make your first request to the Microsoft Graph API (list SharePoint sites). Replace the placeholders below with your API key, integration ID, and connection ID:
curl "https://api.tenklo.dev/proxy/v1.0/sites?search=*" \
-H "Authorization: Bearer <NANGO-API-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"Or fetch credentials with the Node SDK or API.
✅ You're connected! Check the Logs tab in Tenklo to inspect requests.
Follow our Auth implementation guide to integrate Tenklo in your app.
To obtain your own production credentials, follow the setup guide linked below.
📚 Microsoft Excel (Client Credentials) integration guides
Nango-maintained guides for common use cases.
- How do I link my account? Connect using an Entra ID app with application permissions and client credentials
Official docs: Microsoft Graph API for Excel
🧩 Pre-built syncs & actions for Microsoft Excel (Client Credentials)
Explore Nango-provided actions in your dashboard. Extend and customize them to fit your needs.
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
add-chart | Create a chart on a worksheet from a data range. | Action | 🔗 Github |
add-defined-name | Create a workbook-level defined name (named range or formula). | Action | 🔗 Github |
add-table-rows | Append one or more rows to a table. | Action | 🔗 Github |
add-table | Create a table from an existing range. | Action | 🔗 Github |
add-worksheet | Add a new worksheet to a workbook. | Action | 🔗 Github |
calculate-workbook | Force recalculation of all formulas in the workbook. | Action | 🔗 Github |
create-workbook | Upload a new .xlsx workbook to a drive folder. | Action | 🔗 Github |
delete-defined-name | Delete a workbook-level defined name. | Action | 🔗 Github |
delete-table | Delete a table (converts it back to a normal range; does not delete the underlying cell data). | Action | 🔗 Github |
delete-workbook | Delete a workbook file. | Action | 🔗 Github |
delete-worksheet | Delete a worksheet from a workbook. | Action | 🔗 Github |
get-chart-image | Render a chart as an image. | Action | 🔗 Github |
get-range | Read cell values from a specific range on a worksheet. | Action | 🔗 Github |
get-site-drive | Get the default document library (drive) for a SharePoint site. | Action | 🔗 Github |
get-used-range | Read all non-empty cells on a worksheet. | Action | 🔗 Github |
get-user-drive | Get a user's personal OneDrive (drive). | Action | 🔗 Github |
get-workbook | Retrieve driveItem metadata for a workbook. | Action | 🔗 Github |
list-defined-names | List workbook-level defined names. | Action | 🔗 Github |
list-sites | Search and list SharePoint sites accessible to the app. | Action | 🔗 Github |
list-table-columns | List the columns of a table | Action | 🔗 Github |
list-table-rows | List the data rows of a table. | Action | 🔗 Github |
list-tables | List tables in a workbook. | Action | 🔗 Github |
list-users | List/search tenant users, to resolve a user id for personal OneDrive access. | Action | 🔗 Github |
list-workbooks | List and search .xlsx files within a drive. | Action | 🔗 Github |
list-worksheets | List worksheets in a workbook. | Action | 🔗 Github |
update-range | Write cell values into a specific range on a worksheet | Action | 🔗 Github |
update-worksheet | Rename a worksheet and/or change its tab position. | Action | 🔗 Github |
workbooks | Sync .xlsx files within a drive | Sync | 🔗 Github |
worksheets | Sync the worksheets within a specific workbook. | Sync | 🔗 Github |
API gotchas
- With an app-only token there's no signed-in user, so
/me/...endpoints don't work. - The Excel workbook API (
/workbook/...under/v1.0/sites/{site-id}/drive/items/{fileId}or/v1.0/users/{id}/drive/...) does not support application permissions — Microsoft Graph requires a signed-in user for these endpoints. If you need workbook access (worksheets, ranges, tables), use the delegated Microsoft Excel integration instead. This client-credentials integration only works for app-only-compatible Graph endpoints (e.g. site/drive metadata), not workbook content. - Application permissions (not delegated) must be granted and admin-consented in Entra ID — see the connect guide for common permission names.