IT Systems have gone from the single tier monolithic applications of the past to highly distributed multi-tier systems that cross not only geographical borders but also cross company boundaries seamlessly. Componentization is back in style with the advent of ubiquitous communication and interface protocols such as Web Services and REST API’s. The great thing is that most of these shifts are invisible to the customer. End-users gain all of the benefits in terms of bigger and better product and services brought to market faster. Providers similarly benefit as they can add a much wider set of capabilities faster and in a cost effective and scalable fashion.
Integrating systems is a smart way to leverage best of breed components while minimizing the cost. Carving out legacy systems and replacing them is costly and integrations enable you to leverage your initial investment. A legacy application with a wrapper can be accessed by other systems, extending the life of your legacy applications. With a good integration you can leverage all of your existing legacy systems again, minimizing the need for rework and rearchitecture.
Although a 100% cloud-based solution, Salesforce was designed to be integrated into other systems. With its wide range of API’s, Salesforce can be integrated with third party cloud solutions as well as in-house proprietary systems. Web-based protocols enable a seamless experience, which enhances the end-user experience. A few examples help illustrate this advantage:
- A manufacturing company wants their salespeople to know the status of an order. Rather than log into another system to get the information, an integration with the back end system enables salespeople to see the order status in real-time for a particular customer. Alerts can be created as well if there is an order status change.
- An online advertising company wants to take a customer’s order and automatically traffic an ad into their home-grown ad management solution. Without an integration, the ad traffickers would have to manually copy the data in the order which was highly inefficient but also error prone. With an integration, a proposal can turn into an order with one click which enables the ad to be trafficked quicker and more accurately.
- A product company needs to be able to create shipping labels for a return. RMA information can be passed to a third party solution to automatically generate the correct RMA/shipping label which reduces errors and enables scalability for a fast growing business
- An Internet-based company wants to be able to see end-user usage information to improve the success rate of accounts. Sales, marketing and business development teams can log into Salesforce and see usage information and be able to generate reports and alerts from the data. When a customer has signed up but has not started to use the system within 7 days, an alert can be sent for action. If data usage is trending low, accounts can be flagged for contact.
- A services company wants their salespeople to know the status from finance on invoice status. Salespeople can look at whether there are any outstanding invoices or overdue payments in order to help with the collection process. Salesforce can integrate with a variety of financial systems in order to provide up to the minute information without requiring Salespeople to login to the financial system.
- A software company has a product download site that customers can access to load different versions and patches. Entitlement information can be accessed by the software download site to ensure that people are allowed to download the software they are entitled to. Downloads can be tracked per customer so that if a bulletin needs to be sent out about a particular product, it can be targeted to only those people who have downloaded it.
- A networking company can connect Salesforce to their bug tracking system (Bugzilla or Jira) in order to pass tier three cases to engineering. Bug statuses can be passed back to cases tied to the bug and customers notified automatically when a status change occurs.
An additional benefit of a Salesforce integration is that you can have your sales and service representatives “live in Salesforce” without having to log into another system. Data that is silo’d in different systems can be difficult to reconcile. If the customer data is centralized, then all manner of information and insights can be gained. Tying together a customer’s pre-sales information with usage information and marketing information and service information with financial information provides a true 360 degree view of the customer that is consistent and accurate.
Systems can be integrated in a number of different ways depending upon the information that needs to be exchanged, volume of data and required frequency. Batch loading may be sufficient on a nightly basis in order to connect two systems together. Other systems require real-time integration.
Salesforce has a variety of technologies available as part of the base platform as well as AppExchange. These include:
|Batch updates – Passing of data in bulk on a periodic basis||Great for large volumes of data or data that is not needed in real-time. For instance, batch uploads can occur every night, every hour or even every 5 minutes.|
|There is an additional consideration for AppExchange apps that allow for data replication.|
Some apps will enable you to keep a live, up-to-date copy of external data inside of Salesforce as native data. This means that you can run reports or build dashboards on this data, or even have triggers or workflow based on external data
|Real-time updates. Transactions.|
Native access to data using Salesforce reporting as well as the ability to use native process/workflow features.
|Middleware systems that exchange information between two systems. All of these systems have pre-built connectors with Salesforce and many other tools or can interface with generic API’s||Real-time updates|
|Code||Direct API-to-API connection through code. Business logic can be applied within the code to transform data in as sophisticated manner as desired.||Real-time updates|
All of these approaches are widely used and have varying levels of effort attached to them.
When two systems connect they must tie together seamlessly. This means that records from one system must match to records in another system. If the same person exists in two systems, duplicates must not be created. Usually a customer master is established and unique identifiers are mapped so that duplicates don’t occur.
Data structures must also match. One system may have First Name and Last Name in separate fields while the system to be connected to has it all in one field. Data transformations ensure that the two systems are matching up data wise.
Some integrations may be uni-directional and some are bi-directional. Unidirectional is easiest but the data destination should be view-only as changes won’t reflect back. For bi-directional integrations coordination between the two systems must be achieved and will depend on the usage model desired. In some cases data can be changed in either system. In other cases, one system may be view-only.
Administration is always a consideration. When fields change and aren’t accounted for, the integration may break. When one system goes down, you must consider the downstream effects. Some integrations require developer level expertise to maintain and should factor in the decision-making process.
Every business organization knows the evils of silo’d organizations and silo’d systems. Integrations break those barriers down enabling businesses to center their information and processes around customers and partners. Aside from the cost advantage of leveraging existing technologies, the 360 degree view puts companies in a position to help their customers and partners succeed – an advantage well worth the cost.