When should you use syncs?
- You want to store a copy of the external API’s data in your app and keep this copy up to date
 - You want to know when data in the external API changes, but the API offers no webhooks for this
 - You want to combine polling syncs and webhooks to get a reliable, real-time stream of changes from the external API
 
- Syncing contacts, companies, or deals from a CRM (HubSpot, Salesforce, Attio, etc.)
 - Syncing files from drives (Google Drive, SharePoint, Box, etc.)
 - Syncing call transcripts from video recorders (Gong, Fathom, Zoom, etc.)
 
Key facts
- Syncs run in Nango’s infrastructure, powered by Functions
- You control the code of the sync: which data to fetch, transformations, data models, etc.
 - All platform features, like data validation, per-customer config, retries, and rate-limit handling, are available for syncs
 
 - Syncs are defined once and run in the context of each Connection (API key or access token of your user)
 - Syncs can be incremental (only fetch changed data) or full refresh (always fetch all data)
 - Synced data is cached in Nango (encrypted at rest and in transit)
 - Nango detects changes to synced data (additions, updates, and deletes) and sends a webhook to your app
 - You set the frequency at which the sync polls for new data (15 seconds minimum interval)
 - Syncs handle rate limits, retries, and pagination
 - All sync runs and API requests are logged in Nango’s logs
 
How syncs work

Overview of Syncs in Nango