Salesforce users require seamless data exchange from external sources to make fast and insightful business decisions. This requires merging data and functionality of Salesforce with other platforms via integration. Since a large number of business apps are decentralized and hosted on disparate platforms, integrating systems may seem to be a daunting task.
“Mulesoft’s 2020 Connectivity Benchmark report suggests that an average business integrates only 28 percent of their work applications. This lack of connectivity between departments is a major cause for gaps in data collaboration in companies”.
Thankfully in Salesforce, there are ample ways by which you can import/export data from third-party systems to/from Salesforce. While some of these methods involve simple data loading/extraction, others can be complex and may require sophisticated API development or code modification. Many times the code modifications you do while integrating systems impact system workflow — causing difficulties in configuring updates and future integrations.
To connect your ERP systems, supply chain management tools, email marketing solution, and social media apps seamlessly with Salesforce, you need the right set of integration tools and strategies. In this blog, we will cover integration types, their usage, limitations, and other crucial information that will guide you for your future integration needs.
1. Data Loading
As the name suggests, data loading is used to push data into Salesforce. It is used to add, delete, and modify thousands of records from one format to another in one go. To push data into Salesforce, you can use the platform's built-in data loaders — Data Import Wizard or Salesforce Data Loader. After Mulesoft’s acquisition, Dataloader.io has also become a part of the Salesforce platform. Apart from these two tools, you can leverage third-party data solutions on AppExchange like XL Connector, Prodly, and Dataimporter.io as well.
Source - Fig 1: Data Loader vs Data Import Wizard
Let’s discuss two of the main Data Loaders, their use scenarios, and functionality in brief:
a) Data Import Wizard: This easy-to-use tool is highly popular among non-technical users. It allows data import (up to 50,000 records) into custom objects and supports data load in many standard objects. While it is a good tool for simple data load and import, it is not recommended to carry out complex data load operations.
b) Data Loader: Data Loader is another built-in tool that can be used for large data loads into standard and custom objects. You can select a batch size and run migration operations in serial or parallel. The Data Loader tool can be automated and configured depending on your data size and migration needs. Before you load a large amount of data into Salesforce, check if the data is clean and accurate.
2. Salesforce Connect
Salesforce Connect is a powerful app cloud integration service that allows Salesforce application users to access and manage data stored in external sources (on-premise and cloud both) without leaving the Salesforce native environment. You can search data of external objects, and create reports and dashboards using Salesforce Connect. However, external objects do have integration limitations and hence this method should not be seen as a replacement for standard or custom objects.
If you plan to use Salesforce Connect, be prepared to buy two separate licenses. Since Salesforce Connect takes into account organizational growing data needs, making it your integration method can help you save licensing and database extension costs in the long run.
Don't forget to check out: Integration using Salesforce Connect
3. Inbound into Salesforce
Integration is inbound when the data flow is coming exclusively from a tech partner. Automatic sending of newsletters via MailChimp and auto-sync of Typeform answers with your Google sheet are two credible examples of this integration method.
Let’s talk specifically about inbound Salesforce integration. To carry out inbound integration in Salesforce, you will need to use the platform's REST and SOAP API endpoints. By connecting these endpoints with external systems, you will be able to perform CRUD operations (create, read, update, and delete) on data residing in Salesforce.
Salesforce Integration Partners connect these endpoints by creating a connected app inside the Salesforce environment. The connected app can use various authentication mechanisms such as password or JWT and the information can be exchanged using JSON, XML, and other data formats.
If you are looking for real-time or batched inbound integration, you can consider this method. However, since this integration method is synchronous, a loss in connectivity can result in losing the request or the response message. Hence, before you deploy solutions in the production environment, conduct extensive testing and exception handling.
4. Outbound from Salesforce
In outbound integration, data is exclusively pushed from Salesforce to an external application to complete specific actions.
To retrieve data from Salesforce, you will need to use REST Endpoints and make GET calls. You can also use Salesforce outbound message which is a no-code solution used to post standard or custom fields on the object of a URL. Outbound messages are used as workflow actions and can send information in an XML format which is suitable for SOAP endpoints.
Tip: While you use this method, do configure the external endpoints and create a listener for the messages using SOAP API.
5. Publish-Subscribe IntegrationSource - Fig 2: The Importance of Pub/Sub API
The Publish-Subscribe API integration is something you must consider as a Salesforce user. It can revamp the way you interact with customers and add to the convenience of users. To understand Publish-Subscribe API integration, you need to first understand what the Publish-Subscribe is.
It is a messaging pattern where senders of messages (also called publishers) do not program the messages to be sent to receivers (subscribers) for a particular event. Instead of programming, they categorize messages into classes without the knowledge of subscribers. Similarly, subscribers can express interest in one or more classes without the knowledge of publishers.
Now to carry out various events in your CRM (platform events, data capture events, real-time monitoring events, etc.), you use particular APIs as depicted in the image above. Managing these APIs requires maintenance support and custom coding. Additionally, users need to switch to another API to carry out a particular event in their CRM which takes a lot of time away from them.
However, in Salesforce you have access to the Publish-Subscribe API that lets you access the functionality of various APIs in one comprehensive API. With this, users can publish events, subscribe to events, request schema, and publish topic info without requiring to build a custom CometD Streaming API client — something not easy for developers without CometD experience.
6. Third-Party Integration Tools
When you can’t accomplish your data goals with built-in tools and native APIs, you have so many third-party Salesforce CRM Integration tools to look at. One such tool is Mulesoft which is now owned by Salesforce. Mulesoft AnyPoint platform offers various connectors and accelerators using which you can start your integration with third-party solutions.
You can design, run & analyze all of your APIs, deploy applications on the cloud, modify application networks, develop integrations using XML, debug with XML & Java, customize built-in applications, and do much more with it. Besides Mulesoft there are other third-party tools such as Informatica, Dell Boomi, Jitterbit, etc., which integration partners prefer. You can choose the right integration platform by looking at its data mapping, versioning, pricing model, development simplicity, and other factors.
Source - Fig 3: Dell Boomi vs Mulesoft Comparison
Note: Consider the points in the above comparison to select the right integration platform (iPaaS).
Check out another amazing blog by Alok here: Overcome Integration Mistakes With Salesforce Partners
7. Virtual Integration
If you want your employees to use a single software platform with little to no switching, then virtual integration can be a considerable method for system connection. Under this method, your Salesforce users can freely interact with data residing in external systems without requiring to replicate the same data in Salesforce.
You can leverage the platform's built-in connector “IFrames’ to connect with browser-based external systems and establish a one-stop system for data CRUD (create, read, update, and delete). For other types of systems, Visualforce pages and lightning components can be used to extract information and enable users to perform tasks within Salesforce.
If you are a Salesforce developer, make use of the Canvas app. Canvas is a set of components that enables developers to make a canvas app that can be integrated with a third-party solution. Before you avail of this method, check in with a tech architect or product consultant as many external apps have complex sharing and security requirements.
Data communication and business performance go hand in hand. The more accessible your enterprise data becomes for users, the better will be the business process execution. In Salesforce, there are lots of ways to load, synchronize, and extract data. By selecting the right tools, methods, and Salesforce Integration Services, you can have a convenient and complexity-proof data integration.