Documentation Index
Fetch the complete documentation index at: https://docs.useparagon.com/llms.txt
Use this file to discover all available pages before exploring further.
Required Scopes
To configure a Sync for SharePoint, you need to request the following scopes from your Microsoft OAuth application:
Sites.Read.All
Files.Read.All
User.Read.All
User.Read
Group.Read.All
offline_access
Learn more about configuring scopes for your app in Adding Integrations.
If you are using Permissions API, SharePoint requires these scopes to be configured as Application Permissions (not Delegated Permissions) in your Azure AD app registration. This requires certificate-based authentication and admin consent.Follow the SharePoint: Using Application Permissions setup guide before enabling a sync.
Synced Objects
SharePoint supports the following Synced Objects:
Files
Send a request to Enable Sync to start a file sync.
Syncs for SharePoint can be created with one of the following configurations:
- Site Sync: All files in the specified SharePoint site will be synced.
- Folder Sync: Only files in the specified folder will be synced (recursively including all subfolders by default).
- Sync of specific files: Only a group of specific files will be synced.
Site Sync
Folder Sync
Sync of specific files
{
"integration": "sharepoint",
"pipeline": "files",
"configuration": {
"siteId": "contoso.sharepoint.com,12345678-1234-1234-1234-123456789012,87654321-4321-4321-4321-210987654321"
}
}
The SharePoint Site ID to sync files from. This is required and specifies which SharePoint site’s document libraries should be synced.
An optional array of MIME types to filter synced files. Only files matching the specified MIME types will be synced.
{
"integration": "sharepoint",
"pipeline": "files",
"configuration": {
"folderId": "01ABCDEF2345GHIJKL/XYZ1234567890!123"
}
}
Configuration options:The SharePoint Folder ID to sync files from.
The SharePoint Site ID that this folder belongs to. If not specified, the Sync will use the site that the user selected when connecting their SharePoint account.Warning: If the folder does not belong to the site specified, the Sync will fail.
Set to true to sync only the direct children of the specified folder, without recursing into subfolders. Defaults to false.
An optional array of MIME types to filter synced files. Only files matching the specified MIME types will be synced.
{
"integration": "sharepoint",
"pipeline": "files",
"configuration": {
"fileIds": ["01ABCDEF2345GHIJKL/XYZ1234567890!456"]
}
}
Configuration options:A list of SharePoint File IDs to limit the Sync scope to.
An optional array of MIME types to filter synced files. Only files matching the specified MIME types will be synced.
Choosing Files and Folders
You can allow your user to select files from their SharePoint account in your app with the SharePoint File Picker provided by the Paragon SDK.
Showing the File Picker
Use the Paragon SDK in your frontend application to show the File Picker in your app.
The SDK provides an ExternalFilePicker class to load SharePoint’s JavaScript into your page and authenticate with your user’s connected SharePoint account.
let picker = new paragon.ExternalFilePicker("sharepoint", {
onFileSelect: (files) => {
// Handle file selection
}
});
// Loads external dependencies and user's access token
await picker.init();
// Open the File Picker
picker.open();
You can configure the File Picker to listen for additional callbacks or to restrict allowed file types. Learn more about configuring File Picker options in the SDK Reference.