Integrate Customer Data Sources with Salesforce
After completing this unit, you’ll be able to:
- Explain the different layers at which you can integrate with Salesforce.
- Define Salesforce Identity.
- Identify the different tools you can use to integrate external data with Salesforce.
- Describe what Platform Events does.
By now you’re aware that you can extend your Salesforce CRM in a variety of ways. Now you’re probably curious as to how you can make your CRM more powerful by unlocking and integrating your back office data from any system at any time.
Well, you’ve come to the right place.
Pieces of Your Customer Data Are Everywhere
No matter what size the company you belong to is, your customers expect engaging and consistent experiences regardless of which device or channel they use. But behind the scenes, companies like yours are relying on a patchwork of systems from many companies to service those customers. Each of these systems are, by default, disconnected from each other.
This breaks the customer experience. Each system only sees a small slice of the customer and no system or department is seeing the entire customer, leading to broken and inconsistent customer experiences.
You want the complete panoramic picture of your customer, and you can create that 360-degree view with integration. Integration is the act of uniting these disparate systems and putting the customer picture back together. Unlike many other integration solutions that only address the data layer, Salesforce can integrate across four layers with the ultimate goal of building a single view of the customer.
How exactly? We’re glad you asked.
- Identity layer: Extend a single trusted identity across all your apps and devices.
- Data layer: Unify customer context across multiple systems.
- Process layer: Coordinate real-time activities and workflows across multiple systems.
- Presentation layer: Build a single view of the customer that is accessible from any device.
Let’s start with the identity layer. When systems aren’t integrated at the identity layer, employees waste time logging in over and over again for each new system. Then, on the customer side, there isn’t a shared sense of identity that enables you to reliably relate a customer’s record in one system to another system.
By contrast, when systems integrate at the identity layer, employees can log in once, then get seamless access to other systems. And on the customer side, shared identity gives customers an easy way to sign up for new accounts and enables records from one system to be related to records in another system. Salesforce provides a solution, known as Salesforce Identity, that enables you to extend a single trusted identity across all your apps and devices.
With Salesforce Identity, you can streamline user access in three ways.
Active Directory integration
You can deploy Salesforce while still using your existing, if any, investment in Active Directory. How? Salesforce can reuse those logins by providing a small bit of on-premise software called Salesforce Identity Connect that handles the automatic synchronization and provisioning of Salesforce accounts.
Single sign-on for employees
You can give your employees a one-stop shop for all the apps they use on a daily basis. At Salesforce we have a tool we call Aloha. Aloha gives us one-click access to a whole library of third-party apps, like Google Suite, Concur, Workday, and more. Once we log in to Aloha, we never see another login screen. This is powered by Employee Communities. Employee Communities also provides a template that makes it easy to re-create this “Aloha” experience if you want it.
Centralized customer and partner identity
You can plug identity services into any customer app and provide instant account registration, social login, and profile and password management. We’ve all been through the process of signing up for an account after downloading a new app. Sometimes those apps let us reuse our existing identities, like Facebook or Google, sometimes they don’t. Salesforce Identity for Customers and Partners provides customer identity and access management services to manage customer identities, helping businesses connect to all their customers, apps, and products.
Now let’s chat about the data layer…
When systems aren’t integrated at a data layer, your employees constantly waste time switching between systems to access the unique information contained in those systems. So how do you solve this? With data integration, your employees can stay inside one system (like your Salesforce CRM) and access data from other systems (like Oracle and SAP) inside the system they’re already in.
With Salesforce there are a few different ways you can integrate data into your CRM.
APIs are how computers or other systems interact with Salesforce. They are the programmatic way of integration. They make it possible to create custom apps that use Salesforce data and also give external systems a way to get data into or out of Salesforce.
Salesforce Connect is our tool for integrating with any external data system with just a few clicks. It enables you to view, search, and modify data that’s stored outside your Salesforce org inside Salesforce. To learn more, check out the Salesforce Connect trail.
Heroku Connect is our tool that allows you to get data out of Salesforce. Heroku offers trusted and scalable infrastructure for powering custom apps in the languages your developers love. It lets you establish a bidirectional sync for selective data inside Salesforce, ultimately enabling your development teams to quickly use Salesforce data in their custom apps.
Now let’s talk about the process layer…
It’s not unusual for systems to need to coordinate in specific ways to complete an action.
For example, imagine a shipment that gets cancelled. Perhaps one system handles the shipment itself, another system handles product inventory, and another handles customer invoicing. When systems aren’t integrated at a process layer, it can require employees to manually coordinate all of the activity and intervene in each system. This takes a lot of time and attention.
How do you solve this? With Process Integration. With Process Integration, when something happens, like a shipment being cancelled, employees don’t need to wander between systems. Events are published automatically to a centralized event stream, then through a series of intersystem communications and workflows, activity is automatically coordinated.
Let’s introduce the concept of an event, which is nothing more than a way systems say “Hey! Something happened!” to one another. And because it gets unwieldy for every system to listen to a dozen other systems, typically organizations establish a centralized message bus that all systems publish into and subscribe to. With Salesforce Platform Events, Salesforce can fully participate in this event stream in two ways, letting you:
You can easily notify external systems of an event that happened inside Salesforce. Custom logic can be inserted into every transaction and broadcasted using Salesforce platform events.
Respond to events
You can easily consume external events inside Salesforce, and once that event occurs, Process Builder can be used to take action.
Now the final layer, integration at the presentation layer, is where it all comes together.
Without presentation integration, when it comes time to view data from several different systems, you’re still clicking between screens. Granted, they can be screens in the same system, but they are still separate screens.
With presentation integration, you get one screen, where everything is seamlessly available, regardless of the underlying system. This is where Salesforce is exceptionally strong.
Not just when it comes to accessing data from other systems, but putting it to work to build a single view of the customer. We do this by embedding Salesforce side by side, on the same screen, with other systems.
There are a few ways you can view your Salesforce data in external systems.
Embed in-line with Lightning Out
Lightning Out is our tool that allows you to embed Salesforce inside your external systems. This feature gives IT teams a small bit code that they can copy and paste into an external system. This code creates a small secure window into Salesforce that is embedded directly in the interface of another system. This makes Salesforce available in-context in an external system.
Embed in custom apps with Heroku
Heroku gives development teams a secure and scalable environment to create custom apps that surface Salesforce data.
There are also a couple ways in which you can view your external data inside Salesforce.
Embed in-line with Canvas
Canvas does the exact opposite of Lightning Out. Instead of creating a small embedded window outside Salesforce, it creates a window inside Salesforce. External systems can then embed their interface side by side with Salesforce.
Embed in custom apps with Lightning App Builder
With Lightning App Builder, our tool that allows admins to custom craft user interfaces with drag-and-drop ease, you can place components that use external data side by side with components that use Salesforce data to create that single view of the customer.
Now you know how to integrate at every touchpoint. Great! The next step is to go do it and read on to see how you can add an additional layer of security onto this data.