We have all been there. A new software system is rolled out company wide. It doesn’t do exactly what your department needs, but it is the best fit company wide so you live with it. Thankfully, times are changing. More frequently companies are allowing individual departments to select the software that will work best for them instead of buying one system and mandating it company wide. This allows for new systems to be adopted faster than ever before, and the exact needs of a department can be met. The individual systems can be connected to allow data to be shared across departments. Tomasz Tunguz’s article on SAAS Fragmentation Trends gives a clear picture of just how fragmented the SaaS landscape is today.
The Problem With Many Different Software Applications
The problem that starts to appear with many different software systems is they don’t communicate with each other. Each department has the perfect system for them, but data in one system is not available in another. Since the different systems are not sharing data people have to enter the data manually into each system. This is waste of time and opens the door to mistakes, and inconsistent data.
One of the most common scenarios is customer information. A potential customer is entered into a CRM by the sales team so they can track interactions. The sale is made! Hooray! Now the customer needs to be entered into the billing system and the customer support ticketing system. Unfortunately, none of these systems talk to each other. Someone from billing has to enter the customer in manually even though the data is already in the CRM. Then, someone in customer service has to enter the customer manually into the support ticketing system. Hopefully, the internal process is good enough to notify the other departments that the customer has come in. Let’s be honest. When everyone is so busy it is difficult to remember the 15 steps that need to be done to bring on the new customer. Things get missed.
The data will have mistakes, and not match across systems. Humans are not good a being consistent. It’s like the old-fashioned game of telephone. The original information gets mixed up quickly. Down the road when customer information changes what happens then? Maybe the customer calls billing to update their contact information. Will billing remember to notify customer service and sales about the change? That is an awful lot of people involved to update something as simple as a phone number. That is just a simple example, though. In many situations, a lot more needs to be shared than an address or phone number. Maybe it is product data, or accounting data. There might be so much data that it isn’t even possible for people to manually enter it across different systems.
APIs Bring A Better Way
There is a better way. Enter the API. An API or application programming interface allows two systems to communicate with each other. The webpage or screen that you use to interact with the software is the user interface. It is built for people to easily use the software. Ok, maybe software isn’t always easy to use, but ease is usually the intention. Just as the user interface is for people, the the application programming interface (API) is for computers. It allows one piece of software to share data with another. Not all software applications have an API, but it is becoming more and more common for software to have one. Especially in the SaaS world.
APIs are awesome. They let two software applications communicate and share data. Now when a new customer comes on board one click of a button can send the customer information from the CRM to the billing system and the support ticketing system saving the manual entry and eliminating the chance for mistakes. When a customer calls in and notifies you of a change in their contact information billing updates their system and automatically the CRM and customer support ticketing system are updated automatically. The world is a much happier place.
The Missing Link
Unfortunately, the APIs between different applications don’t automatically talk to each other. Something needs to connect the two systems. Some of the most popular applications have additional tools or features built in to make some of these connections work. For example, many business applications offer an export or synchronization to QuickBooks allowing accounting data to flow right into QuickBooks.
Services such as Zapier exist to connect different applications and synchronize data. For a monthly fee you are able to connect the applications you want to synchronize to Zapier. Then, Zapier will watch for changes in one application and push the changes to the other application. Let’s say you connect up your support ticketing system and billing system to Zapier. A customer notifies support that their office is moving. Support updates the address in the ticketing system. Zapier notices this change and then pushes it to your billing system automatically.
Let’s say the process for a new customer is to convert the customer from a prospect to a customer in the CRM. Then, you send a contract out. Once the contract is signed the customer is handed off to billing. You want your CRM to push customer information to billing only after the salesperson marks in the CRM that a contract is signed. The synchronization service may not be able to adapt itself to your process. It might only be able to synchronize when the prospect is converted to a customer. Sometimes it isn’t even possible to connect the two systems that you use with an existing service. In that case, it is time to build a custom integration between the two software applications. With so many applications it is impossible for those synchronization services to support every application out there. Also, they are trying to appeal to the widest audience possible so you may find that the data doesn’t come across exactly the way you want it.
A simple synchronization tool can be built or added on to an existing application to support synchronizing your data. In this case you have full control over exactly what data is synchronized, when it is synchronized, and what exactly is synchronized. When the contract is marked as signed the customer data can automatically go to the billing system. The salesperson checks the box to mark the contract signed and they move on to their next sale. Behind the scenes, the software automatically adds the customer to the billing system. At the same time the customer information is added to the customer service ticketing system. The software handles the data and your employees handle more important things.
Maybe you don’t want the customer’s mailing address to go to the ticketing system. No problem, with a custom integration you call the shots and say what data goes where. Your process can be matched exactly.
Data can also be transformed. Maybe the billing system requires a phone number always have an exact format such as (555) 555-5555. If the salesperson enters it in as 555.555.5555 the custom software can reformat the phone number to match the required format. The possibilities are really endless. These are simple examples, but custom integrations and synchronizations can perform really complicated processes for you quite easily. Many applications can be brought together to save you and your employees time and money.
If you have some systems that are slowing you down and causing frustration because they don’t communicate give me a call at 262-457-4707 or send me an email. We’ll set up a free needs analysis call to see how your systems can work together and serve you better.