Salesforce Connect is an integration tool that allows Salesforce to display and use data in an external system, as if it were stored in Salesforce. In this article, we’ll take a close look at Salesforce Connect, discuss its uses and limitations, and examine alternatives.
The Basics of Salesforce Connect
Salesforce Connect uses a Salesforce feature called external objects, which are very similar to custom objects, except that the data in external objects resides in another system. External objects are defined in the same kind of simple interface as custom objects, except that part of an external object definition includes the external connection to the system where the object data is stored.
Salesforce Connect support three kinds of adapters to access external objects:
- Cross-Org allows access to data in another Salesforce org via the Salesforce API.
- OData connects to any system that supports the OData protocol, which is a REST API for data interchange.
- Apex Custom Adapter is code written in Salesforce’s Apex language using their Apex Connector Framework to obtain data from a data source.
Once an external object has been defined and connected, the object can be rendered in context in Salesforce, and data from that object can appear in searches. Data in the external object is also available for use in SOQL queries and for use in the Salesforce API.
Using Salesforce Connect
Salesforce recommends using Salesforce Connect to address a limited set of data integration issues. Generally, these are integrations with large volumes of data that you don’t want to copy into your org, with small amounts of data that needs to be presented at any given time, or data for which a real-time connection is strictly required.
A good example is integration with some kind of external order and fulfillment system for complex orders. Using Salesforce Connect, you could define external objects that are mapped onto the order and order detail objects in that system, using the customer id as a common identifier between Salesforce and the external system. Then, when a Salesforce user retrieves a customer record, they can view the order history of that customer, and even potentially look at order detail, in context with the rest of their customer information stored in Salesforce. This data would be as fresh as the data in the order system, and Salesforce administrators do not need to supervise complex synchronization processes
Salesforce Connect Limitations and Considerations
Though almost any data source can be connected to Salesforce using Salesforce Connect, those connections have a number of limitations and considerations that should be studied carefully before implementation. Also, you can see from the above list of supported connectors, data sources are limited to those with API support, or those for which a developer has written code to connect to those objects. Keep in mind that the API must not just support simple object retrieval if search is going to work - Salesforce requires implementation of a search capability for each external object that will be searched.
Connections are also subject to callout limits, meaning that a Salesforce org may only call the connector 20,000 times per hour. This may seem like a lot, but if you have a number of external objects, many users using those objects, or both, that limit could be easily reached by a combination of search and retrieval queries. Salesforce will raise that limit on request, but smart planning should take limits into account to make sure that Salesforce Connect is the right solution for the contemplated integration.
In addition to the technical considerations, one needs to remember that external objects require a common key between Salesforce and the external system to relate Salesforce native and/or custom objects to the external object. To put it in terms of our ordering system example, Salesforce and the ordering system need to share a customer id.
How is that customer id generated and shared?
Does Salesforce generate it when the customer is sold, or does Salesforce get it from the ordering system once the customer starts ordering?
Either way, there can be no integration without another process that synchronizes the customer id between the two systems.
Salesforce Connect Alternatives
The most obvious alternative to Salesforce Connect is an integration which pushes external data into a Salesforce custom object. There are a variety of integration strategies for Salesforce, and we have a short overview to help you decide which strategy is best. Your Salesforce Connect vs integration decision will be driven by a number of factors - among them:
- Is the volume of your external system so large that you’ll use up your data storage limit? There’s no point in saving money by not purchasing Salesforce Connect, and then spending it on increasing data limits.
- Can your integration solution populate your custom objects at a rate that will satisfy your business requirements? In other words, is your external system updated so frequently that your integration won’t keep up -- or will hourly, daily, or even weekly updates satisfy the needs of your Salesforce users?
- Does your external system have connectivity supported by Salesforce, or are you willing to expend resources to implement that connection? If connector development is necessary, what’s the scale of that effort compared to integration? Your organization may already have built a Salesforce integration that you can leverage to populate custom objects, or perhaps you have a team of Apex developers ready to tackle the complexity of a custom connector.
- Do you have a synchronization solution to maintain a durable key between Salesforce and your external system?
Related reading: 4 Salesforce Best Practices for Data Migration
Salesforce Connect is a powerful solution that provides a seamless connection between your external system and Salesforce - if your use case meets the narrow set of criteria that make it a good candidate for Salesforce Connect. If not, we encourage you to look at Xplenty, which has a much broader set of applications than Salesforce Connect. Also, Xplenty can help you implement your integration without using developer resources. Even if you do choose Salesforce Connect, Xplenty’s ability to connect Salesforce to dozens of disparate systems will allow you to build a key synchronization system with minimum hassle and coding.
If you’re interested in learning more about Xplenty as a complement or alternative to Salesforce Connect, we’re happy to provide a demo, a seven-day free trial, and a free setup session with our implementation team. Just contact us here or give us a call at +1-888-884-6405.