Often when businesses use software (SaaS products), they need to sync their data with other SaaS products – this is referred to as a SaaS integration. For example, a business using an email marketing tool like Mailchimp may want to sync their contact lists with a CRM like Salesforce.
But how does that sync actually occur? This article explains the use cases for and differences between batch based syncing and trigger based syncing.
What is a sync?
In any SaaS integration, one party has to initiate the syncing of data. This can either be the main system (the system that we are linking integrations to), or the third party system (the system we are integrating with).
Batch Method
Batch syncs are initiated by the main system. The main system will make requests to the third party system in order to sync data.
This method is best suited for cases where:
- historical data is required
- higher data volume is expected
- data does not need to arrive in real-time
Sample use cases:
- Syncing all orders from Shopify
- Syncing all contacts from Salesforce
Batch syncs are often scheduled by the main system. For example, the main system could poll the third party system every 10 minutes to check for new or updated records.
Additionally, batch syncs can be incremental. Incremental syncs poll the third party system for new or updated records since the last sync. This allows the main system to stay in sync with the third party system over time.
Trigger Method
Trigger syncs are initiated by the third party system. The main system “listens” to the third party system for certain actions – this is usually achieved using webhooks. The actions that are used as triggers are usually: creations, updates, or deletions.
This method is best suited for cases where:
- historical data is not required
- lower data volume is expected
- data must arrive in real-time
Sample use cases:
- Listening for updated orders in Shopify
- Listening for newly created contacts in Salesforce
Trigger syncs tend to be incremental, and only bring in the data relevant to the action that occurred in the third party system. For example, if you were listening for new contacts in Salesforce, a trigger sync will only provide you with the new contact.
Note that workflow integrations (like those offered by Zapier), are based on a trigger sync model.
Next Steps
Now that you have learned about the differences between batch based and trigger based syncs, you can choose which best fits your use case!
However, there are some cases where your ideal integration has both batch based and trigger based syncs involved. For example, you may want to sync all historical contacts from Salesforce and be notified in real-time of any newly created contacts. This is possible to achieve but can require more sophisticated architecture.
Offering SaaS integrations can be a difficult process with lots of pitfalls and edge cases. With hotglue you can leverage our catalog of pre-built connectors which support both batch based and trigger based syncing.
To learn more about how hotglue can help with integrations, book a demo: https://hotglue.com/demo