What is a Two-Way Sync?
What is it?
A two-way synchronization (or a bidirectional sync) is all about mirroring the data between two business tools. It means all newly created records in one app should be instantly (or near-instantly) created in the other one, and all updates of already existing records should be reflected in the records of the other app.
An ideal two-way sync maps common fields in a way that ensures the maximum amount of data is synced, avoids any loop updates between the apps or record duplications.
Why don't you just keep the data in one place?
Taking advantage of modern cloud solutions has become essential for any fast-developing business nowadays. CRM and ERP systems, accounting and email marketing software, ecommerce platforms comprise only a small part of business inventory used by a small, medium or large business daily. And very often, you have to use multiple tools to achieve your daily tasks as efficiently as possible.
This is where data synchronization comes in. It reduces manual work that goes along with supporting multiple business tools and makes sure your data is always reliable and up to date.
Example
A simple example of a two-way synchronization is a very popular Google Calendar and Office 365 (Outlook) calendar meeting sync.
For example, you might have a work calendar on Office 365 (also known as Microsoft 365) cloud, while your private calendar is on Google, and you'd like to see all meetings in both calendars and have a combined availability.
The simplest version of a two-way synchronization would map some basic meeting record fields like the subject, start time, end time, location, etc. In a more complex situation, it could include HTML descriptions, meeting attendees, custom fields, etc. The ideal sync would also take into consideration recurring meetings, as well as exceptions to recurring meetings, modified or deleted occurrences, etc.
Field mapping & customizations
A field mapping is the heart of any synchronization.
It defines what fields of data records should be taken into consideration, and in what way should they be mapped between two apps or services synced.
In a simple field mapping, you just select a number of common fields that represent exactly the same information and simply copy data between the two. That works fine until there's a slight difference between the fields. For example, the fields might have different limits on the text size. Or they might have different formats or time zones. Or one field might represent a price in dollars, and another one in euros. Or they can perform some modifications to the data before being stored.
And those are just very simple examples. Often, to achieve a proper synchronization, you need to transform records that are in quite different formats. That's why you need to make sure you have the right tools to perform data transformation in a reliable way that covers all corner cases.
Any error or ambiguity in the field mapping can lead to unpredictable results. It could also lead to a loop in synchronization, which is a situation where data records jump back and forth between apps because of updates applied to it. So having a correct field mapping is essential to a useful and reliable two-way syncing process.
Sync architecture
Apart from field mapping, an important part of any synchronization is the architecture, i. e., how the syncing process is designed.
There are two popular ways to perform synchronizations:
- Data polling. A data source (e. g. Google Calendar calendar meetings API) is periodically polled for any updates. Those updates usually describe what records have been created or updated since the previous sync. In some cases, you can also get the list of records that have been removed, so you can sync removals as well.
- Webhooks. It is very similar to the previous type, but you don't check for updates with a certain time period. Instead, you get notified by the app of new updates, and only then the sync is performed. It's a more efficient way of doing synchronizations, but, unfortunately, not all apps and services provide webhook support.
Why SyncPenguin?
SyncPenguin is a cloud service that provides easy, effective, and flexible two-way syncing between contacts, meetings, products, tasks, etc. for a variety of supported third-party apps and services.
We have a library of pre-built synchronizations that you can use right away. Those include some of the most popular business apps like CRMs, ERPs, ecommerce stores, marketing automation software, etc. This library is constantly updated with new apps and synchronizations to make sure all the most popular connections are covered.
Our powerful no-code interface allows you to adjust the field mapping of the synchronization, add rules, filters, or any other customizations to ensure the integration works according to your business needs.
Get started now, or contact us if you'd like to learn more about SyncPenguin.