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