✅ Authorization
✅ Read & write data
Tools | Status |
---|---|
Pre-built integrations | ✅ |
API unification | ✅ |
2-way sync | ✅ |
Webhooks from Nango on data modifications | ✅ |
Real-time webhooks from 3rd-party API | 🚫 (time to contribute: <48h) |
Proxy requests | ✅ |
✅ Observability & data quality
Tools | Status |
---|---|
HTTP request logging | ✅ |
End-to-type type safety | ✅ |
Data runtime validation | ✅ |
OpenTelemetry export | ✅ |
Slack alerts on errors | ✅ |
Integration status API | ✅ |
✅ Customization
Tools | Status |
---|---|
Create or customize use-cases | ✅ |
Pre-configured pagination | 🚫 (time to contribute: <48h) |
Pre-configured rate-limit handling | 🚫 (time to contribute: <48h) |
Per-customer configurations | ✅ |
Others
Endpoint | Description | Readme |
---|---|---|
GET /list-sites | This action will be used to display a list of sites to the end-user, who will pick the ones he wants to sync. The connection metadata should be set based on the file selection. | 🔗 |
GET /fetch-file | This action will be used to fetch the latest file download_url which can be used to download the actual file. | 🔗 |
GET /user-files | Fetch all files from the user’s drive and sync the metadata for each file. | 🔗 |
GET /user-files/selected | Fetch all selected files from a user’s drive | 🔗 |
GET /shared-files/selected | This sync will be used to sync file metadata from SharePoint site based on the ones the user has picked. | 🔗 |
Pre-Requisites | Status | Comment |
---|---|---|
Paid dev account | ✅ Not required | Free, self-signup for a Microsoft account and Azure account. |
Paid test account | ✅ Not required | Free Microsoft account can be used for testing. |
Partnership | ✅ Not required | |
App review | ⚠️ Conditional | Required only if you want to publish your app to the Microsoft commercial marketplace or if your app needs admin consent for certain permissions. |
Security audit | ✅ Not required |
Create a Microsoft account and Azure account
Register an application in Microsoft Entra ID
Note your application (client) ID
Add a redirect URI
https://api.nango.dev/oauth/callback
as the Redirect URI.Add API permissions
Create a client secret
Configure token settings (optional)
Configure app visibility (optional)
Next
Scope | Description |
---|---|
Sites.Read.All | Read SharePoint sites and lists across the organization |
Sites.ReadWrite.All | Read and write SharePoint sites and lists across the organization |
Sites.Manage.All | Full control of all site collections without a signed-in user |
Sites.FullControl.All | Have full control of all site collections (includes manage, read/write) |
Files.Read | Read user files and file properties |
Files.Read.All | Read all files the user can access |
Files.ReadWrite | Read and write user files |
Files.ReadWrite.All | Read and write all files the user can access |
offline_access | Access to refresh tokens for offline access |
User.Read.All | Read user profiles in the organization (useful if mapping users to files) |
https://<your-tenant>.sharepoint.com/_api/
, and it supports basic SharePoint operations. However, v1 lacks modern features such as delta queries for incremental sync and deep integration with Microsoft 365.https://graph.microsoft.com/v1.0/sites/...
, and it offers advanced capabilities like delta queries for incremental sync, enhanced performance, and seamless integration with Microsoft 365 services.offline_access
scope to get a refresh token and keep access with your integration..default
scope documentation to ensure the permissions remain the same as those granted at the organization level..default
scope can’t be combined with the scopes registered in the Azure portal. So either just use the .default
scope or remove it to list out explicit parameters that are required. If you attempt to combine them you’ll receive the following errorauthorization_params
: