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.

Create the integration

In Tenklo (free signup), go to Integrations -> Configure New Integration -> Microsoft Excel (Client Credentials).

Connect Microsoft Excel

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.

Call the Microsoft Excel API

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.

Implement Tenklo in your app

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.

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 nameDescriptionTypeSource code
add-chartCreate a chart on a worksheet from a data range.Action🔗 Github
add-defined-nameCreate a workbook-level defined name (named range or formula).Action🔗 Github
add-table-rowsAppend one or more rows to a table.Action🔗 Github
add-tableCreate a table from an existing range.Action🔗 Github
add-worksheetAdd a new worksheet to a workbook.Action🔗 Github
calculate-workbookForce recalculation of all formulas in the workbook.Action🔗 Github
create-workbookUpload a new .xlsx workbook to a drive folder.Action🔗 Github
delete-defined-nameDelete a workbook-level defined name.Action🔗 Github
delete-tableDelete a table (converts it back to a normal range; does not delete the underlying cell data).Action🔗 Github
delete-workbookDelete a workbook file.Action🔗 Github
delete-worksheetDelete a worksheet from a workbook.Action🔗 Github
get-chart-imageRender a chart as an image.Action🔗 Github
get-rangeRead cell values from a specific range on a worksheet.Action🔗 Github
get-site-driveGet the default document library (drive) for a SharePoint site.Action🔗 Github
get-used-rangeRead all non-empty cells on a worksheet.Action🔗 Github
get-user-driveGet a user's personal OneDrive (drive).Action🔗 Github
get-workbookRetrieve driveItem metadata for a workbook.Action🔗 Github
list-defined-namesList workbook-level defined names.Action🔗 Github
list-sitesSearch and list SharePoint sites accessible to the app.Action🔗 Github
list-table-columnsList the columns of a tableAction🔗 Github
list-table-rowsList the data rows of a table.Action🔗 Github
list-tablesList tables in a workbook.Action🔗 Github
list-usersList/search tenant users, to resolve a user id for personal OneDrive access.Action🔗 Github
list-workbooksList and search .xlsx files within a drive.Action🔗 Github
list-worksheetsList worksheets in a workbook.Action🔗 Github
update-rangeWrite cell values into a specific range on a worksheetAction🔗 Github
update-worksheetRename a worksheet and/or change its tab position.Action🔗 Github
workbooksSync .xlsx files within a driveSync🔗 Github
worksheetsSync 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.

On this page