Reading Time: 13 minutes

Salesforce holds your customer information — but it can’t be the source of everything. You may have order management or inventory data in SAP, other systems for payment information, fleet management, and more. Much of this data needs to be exchanged between these systems to provide a seamless customer, employee, and delivery experience. 

To provide this seamless experience, organizations need to connect Salesforce to their other applications. Although each integration scenario is unique, there are common requirements and issues that developers must resolve with each Salesforce integration. 

latest report
Learn why we are the Leaders in API management and iPaaS

MuleSoft’s Anypoint Platform enables organizations to synchronize data between all of their systems. This enables them to speed up and improve the application development process, unlock siloed data for a connected customer experience, and maintain governance and security while scaling.  

Organizations typically apply integration applications based on five patterns. These patterns are the most logical sequence of steps to solve specific types of integration problems, documented from real-world use cases. This blog will review these five patterns:

Pattern #1: Migration

Data migration is the act of moving a specific set of data at a certain point in time from one system to another. Moving business data is challenging — you’ll need the right tools and methods to succeed. 

Moving data between orgs (or from no CRM to having one) can be a costly and messy endeavor. There are numerous Salesforce integration scenarios that may require a migration pattern, including migrating data from a legacy CRM system to Salesforce or from one Salesforce organization to another. Migration patterns are ideal for handling large volumes of data, processing many records in batches, and often fail gracefully in case of an error(s).

In the above scenario, we have set up a flow that listens for a successful request to our HTTP endpoint. Once the HTTP endpoint is hit, it will select values from a database, and insert each of those values as a new lead in Salesforce.

Pattern #2: Broadcast

Broadcast is the act of moving data from a single source system to many destination systems in real time, near real time, or on an ongoing basis. In contrast to migration, the broadcast pattern is transactional. A broadcast pattern should be highly reliable to avoid losing critical data in transit.

The broadcast pattern allows for the immediate transfer of customer data between systems, whether from two instances of Salesforce or between Salesforce and other systems. For instance, the pattern can broadcast updates to a customer record between Salesforce organizations or can enable an action in Salesforce to immediately translate into order fulfillment processing.

In the above example, we have a flow that executes when Salesforce detects a new lead has been added to Salesforce. When a new lead has been added, the flow will transform the message payload, and write that message to two local CSV documents.

Pattern #3: Aggregation

Aggregation is the simplest way to extract and process data from multiple systems into one application or report in real time. By using an integration template built on an aggregation pattern, developers can query multiple systems on demand and merge data sets to use data however and whenever needed. 

For example, creating a dashboard that pulls data from multiple Salesforce instances, or updating Salesforce with data from multiple back-end systems, or building APIs that report across multiple systems.

In the above example, we have a flow that will execute when our HTTP endpoint is hit with a POST request. When the flow executes, it will query two CSV files located on different servers, merge the data together, and upload those entries as a new lead in Salesforce. 

Pattern #4: Bidirectional sync

Bidirectional sync is the act of uniting two or more data sets from two or more different systems to behave as one system that recognizes the existence of different data sets. This type of integration is useful when different tools or systems, which have their own specific purpose, must accomplish different functions on the same data set. Using bidirectional sync to share the data set enables the use of both systems, while maintaining a consistent real-time view of the data across systems. 

Pattern #5: Correlation

The correlation pattern is a design that identifies the intersection of two data sets and does a bidirectional synchronization of that scoped dataset if that item occurs in both systems. 

Correlation and bidirectional sync are similar, but the patterns have one critical difference. Whereas bidirectional synchronization aims to replicate the same data elements in two locations, correlation is used to associate disparate data records without copying the data itself. 

The correlation pattern does not discern the data object’s origin. It will agnostically synchronize objects as long as they are found in both systems. This pattern is useful for cases in which two groups or systems only want to share data, but only if they both have records representing the same items or contacts.

Factors that affect integration patterns

Integration leaders must understand the different types of integration approaches and ensure the right methods are used for each implementation. Choosing the right integration pattern is key to the success of implementation. 

When it comes to integrating with Salesforce, there are several considerations, such as:

  • Staying within the API limit: Are you staying within the Salesforce API limits which shouldn’t exceed 15000 API calls/day?
  • Understanding when to move data to Salesforce: Does the solution require migration of data into Salesforce or data virtualization?
  • Synchronous vs asynchronous: Is the integration business critical and does the response need to be processed in real time or near real time?
  • Message size: Is the size of the payload small or large?
  • Guaranteed delivery needed: What if the external system is down?
  • Contract first integration possibility: Can remote systems follow Salesforce Contract?
  • Declarative preferred: Do we want to integrate without writing any code in Salesforce?

MuleSoft Connectors for Salesforce

MuleSoft’s Salesforce Connector accelerates your Salesforce integrations across Sales Cloud, Service Cloud, Salesforce Platform, and Force.com. The connector gives you access to all Salesforce entities to business process automation to maximize your investments in services and solutions, increasing revenue, and serving your customers better.

Below, you will find the list of MuleSoft connectors that are available today for integrating with Salesforce:

MuleSoft Accelerators for Salesforce clouds

MuleSoft Accelerators enable businesses to implement critical integration use cases for Salesforce clouds, faster and easier than ever before. These solutions include production-ready APIs, connectors, and integration templates that unlock critical data from external systems. They also enable you to adopt best practices synthesized from thousands of customer implementations. 

The assets include integration templates, API designs, architectural POV, documentation, Salesforce component(s), Anypoint Exchange, and demos.

Benefits include:

  • Accelerated delivery of high-impact use cases
  • Establishing best practices built into the pre-packaged implementation templates
  • Included with MuleSoft subscription, at no additional cost

We currently have the following accelerators built for Salesforce clouds:

Summary 

Salesforce integration using MuleSoft establishes an IT architecture beyond silos, enabling the achievement of business goals in a shorter payback period. Many businesses have found greater confidence in the Salesforce solution because they could bring their other systems in unison.

Learn more about our Salesforce integration solutions and patterns.