Syncing FAQs

Frequently asked questions on linked account syncing!

Matthew Ho avatar
Written by Matthew Ho
Updated over a week ago

How do I know when a sync is complete?

We recommend using the sync-status endpoint to check when your sync has finished. By creating a set of functions in your backend that are responsible for syncing data you ensure you are getting complete data and don't hit rate-limits! An example workflow could involve:

  1. Sync periodically (aka polling)

    Configure your backend to call your sync functions periodically, such as every 24 hours.

  2. Sync when Merge emits a Sync Notification Webhook

    Merge offers a variety of webhooks for real-time events. To be alerted to when Merge may have data updates, configure Merge to notify you via webhook when Merge has completed syncing with a third-party platform for a linked account. Whenever you receive a Sync Notification Webhook, initiate the logic you configured in Step 1. We recommend using a combination of our "First Sync Notification" and "Any Sync Notification" webhooks to help you manage your sync activities at scale.

When you set up the linking flow, make sure to configure sync-status to set up a trigger so you don't make any API calls before the sync is finished.

The list of sync statuses can be found below!

  • DONE — Merge has successfully completed syncing data for all fields in this model

  • PARTIALLY_SYNCED* — Merge has failed to sync at least 1 field in this model

  • SYNCING — Merge is actively syncing data, or syncs are queued up for this model

  • FAILED — Merge has failed to sync ALL fields in this model

  • PAUSED — Syncing for this account has been paused

  • DISABLED — Disabled due to scopes

*Merge will try to sync these missing fields on the subsequent sync

How frequent are Merge syncs to third-parties?

You can find our sync frequencies for specific integrations on our docs page! Select an integration (for example BambooHR) and then select "Common Model Sync Frequencies"!

How long does a sync take?

The length of time an integration can take to sync varies across platforms.

Some integrations return a list of IDs, requiring us to make N requests for all objects, resulting in a longer sync time. Data can be pulled through a list endpoint for other platforms, so the sync time is significantly shorter!

Another factor that affects sync duration is the volume of data being pulled from the platform. Some integrations will have millions of rows of data, while others will have only a few hundred. If you're linking an account you know has a large amount of data, you should expect longer sync times.

Additionally, the type of sync will also change sync times dramatically:

  • Initial Syncs - All initial syncs (i.e., when the account is first connected) will take significantly longer than subsequent syncs because Merge pulls all data available in a platform

  • Subsequent Syncs - For most third-party platforms, all subsequent syncs only pull changes since the last sync. This means sync times will be dramatically lower than an initial sync and usually just a few seconds long.

What does the "Next Sync Start" mean?

You may have noticed a "Next Sync Start" column on the linked account page on our dashboard! This is an estimate of when the next sync will begin for that specific linked account based on a variety of factors including your sync frequency schedule!

The Next Sync Start does not always get updated in real-time and may show a date/time in the past. Merge will always complete the current sync before starting the next one so there will never be a situation where the next sync will cause the current sync to fail or start over!

Did this answer your question?