# How to Keep Your SaaS Tools in Sync
# The problem
In the modern world, businesses of all sizes rely on software to carry out their day-to-day work. Things like customer management, enterprise processes, billing or marketing are all handled by the apps. And web-based business software as a service (SaaS) is as accessible and low-cost as it has never been. For this reason, companies take advantage of as many tools as possible to boost their productivity and revenue.
Sometimes a company can use multiple business tools to cover different aspects of their business. Or in other cases, they might switch from a tool they used before to a new or better one. In both cases, it might be quite hard to make sure your data is synced or migrated automatically and consistently. So unless you're willing to spend hours to transfer data manually, you have to be equipped with tools that help you perform all of the routine work that comes up.
That's where integration, synchronization and migration platforms come to play. They leverage APIs that SaaS tools provide to help you perform your tasks quickly and effectively.
# Migration of existing data
In most cases data migration is needed in the following situations:
- You just now start using a SaaS and would like to fill it up with your existing data (in whatever format it is)
- You switch between tools and would like to migrate all of the data from one to another. For instance, if you switch your CRM from Salesforce to Freshsales, you want to be able to migrate as much data as possible and to keep it as consistent as possible to continue your work seamlessly.
- You need real-time sync of two business apps, but before that, you need to migrate existing data between sources
The key to migration is to make sure all the data is fully transferred, saved and consistent. This might be tricky in cases when there are dependencies between entries, and you have to ensure the data is migrated in the right order while preserving all references.
# One-way real-time sync
One-way sync ensures that any new or changed data in one place is instantly mirrored and updated in another. A proper synchronization ensures that no data is duplicated or incorrectly overwritten. Real-time factor enables data to be updated instantly or near-instantly, depending on the capabilities of the corresponding APIs.
In the case of one-way sync, one app is considered the primary data source and directly influences data in another. If you update data in the other source it might lead to inconsistent results, or lead to the latest data being overwritten. To ensure that doesn't happen, you might consider to have two-way sync instead of one-way.
# Two-way synchronization
Two-way sync is similar to one-way except that updates from both apps need to be reflected in the other one. It is the best way to keep similar data sources fully synced and avoid any data inconsistencies.
At first glance, a two-way sync might look the same as having two one-way syncs. Unfortunately, it's ofter much trickier as some unexpected things may occur. You need to make sure that no data gets duplicated, the newer data gets overwritten by the older, or sync gets stuck in an infinite loop of updates.
The bottom line is - two-way sync is quite tricky to get done right, and you need to be careful and mindful while developing it.
# Task automation
Task automation is also used to avoid some routine work many people do. But there's a difference between task automation and one-way sync. Task automation is more process-driven, while the sync is data-driven. The difference can be explained by providing some of the most popular uses cases. For task automation, those are:
- When a new order is placed, send an email to an email address with the order details
- When an email is received, upload attachments to Dropbox
- When a customer signs up, add a contact to your CRM
And for one-way sync they could be:
- When a contact is created or updated in CRM, make sure it's up-to-date in MailChimp
- When the products list is updated in ERP, updated it accordingly in CRM
So you can see that task automation is mostly about 'when something happens in one place, do something else in another place', and sync is more about 'make sure that data in one place is always reflected and up to date in another place'.
Some of the most popular task automation tools are:
- Zapier (https://zapier.com)
- IFTTT (https://ifttt.com)
- Tray (https://tray.io)
- Microsoft Flow (https://flow.microsoft.com)
# What SyncPenguin provides
SyncPenguin is a company that creates and runs two- or one-way synchronizations and data migrations for businesses. Under the hood, it's a platform that allows simple development and deployment of sync and migration jobs with high customization capabilities.
You can order a custom-designed sync to be created by our experts and developers, or develop it on your own. In any case, we ensure all of your business requirements are met and all the data is transferred or synced in the best way possible and with all corner cases covered.
Once created, you can manage and monitor your job through our dashboard. Scalable pricing ensures you only pay for what you use.
Contact us if you'd like to learn more.