When to use this skill
Use this Skill to help the user implement Managed Sync with the Sync API and the Permissions API, using the references in the Table of Contents.
Managed Sync Overview
Managed Sync is a set of APIs for developers to spin up data pipelines that pull their users' 3rd-party integration data (like Salesforce CRM data, Google Drive file data, and ServiceNow tickets) and keep that data up-to-date. These data pipelines live in Paragon's infrastructure and are completely managed by Paragon. Developers can easily start syncs, pause syncs, and pull synced data.
When integration data is synced, that data is also normalized across that integration's category. For example, the data schema from Google Drive, Dropbox, Box, and Sharepoint are all normalized so that code/logic can be used across that category.
For file storage integration data, the Permissions API is an API to check permissions of any synced file. Paragon manages a graph database behind the scenes, so developers can get and check up-to-date permissions without managing that data.
When helping with RAG or search implementations, guide the user toward the right Permissions API pattern:
- For smaller result sets,
List Objectsis usually enough - For users with access to more than 1000 objects in one Sync, prefer
Streamed List Objects - For users with multiple Permission Syncs that should be queried together, prefer
Streamed List Objects (All Syncs) - For ranked search results,
Batch Check Accessis usually the right post-filtering step
Prerequisites
Managed Sync is built on top of Paragon's managed authentication and monitoring. When using any Sync APIs or Permissions APIs, a JWT with a unique end-user ID is required so that Paragon knows which end-users data to sync.
Managed Sync also requires the aud claim on the Paragon User Token to match the Paragon hostname and project ID.
Before helping the user implement Managed Sync, it's best to have the Paragon SDK and Connect Portal setup.
Check the user's project for "@useparagon/connect" in their
package.jsonor references ofparagon.authenticatein their frontend codebaseIf a user does not have the Paragon SDK and Connect Portal for authorization set up: Direct them to use the
paragon-setup-skillIf the user does have the Paragon SDK and authorization set up: Proceed with using the resources in the "Table of Contents" to help implement Managed Sync
Table of Contents
Using the Sync API - Basic Usage
- Overview on how the Sync API works to start syncing files, CRM records, tickets, etc.: Sync API Overview
- Enable a sync: Enable Sync
- Check sync status: Sync Status
- Pull records from a sync: Pull Synced Records
- Get metadata for a specific record: Get Synced Record
- Download a file associated with a synced record: Download Synced File
Sync Webhooks
- Receiving webhooks for when records are created, updated, or deleted from a Sync: Sync Webhooks
Sync APIs for Managing Active Syncs
- List all syncs: List Syncs
- Disable a sync: Disable Sync
- Re-enable a sync: Re-enable Sync
- Update Credential on a sync: Update Sync
- Delete a sync: Delete Sync
Permissions API (file storage integration specific)
- Overview on how the Permissions API works to check user access to synced files: Permissions API Overview
- Check if user has access to a synced object: Check Access
- Batch check multiple user object relationships: Batch Check Access
- List users that have access to a synced object: List Users
- List synced objects that a user has access to: List Objects
- Stream accessible object IDs from a single Permission Sync when result sets are large: Streamed List Objects
- Stream accessible object IDs across all of a Connected User's Permission Syncs: Streamed List Objects (All Syncs)
- Get all users and group relationships associated with an object by role: Expand Relationship