What is Salesforce Connect and How to Integrate?

What is Salesforce Connect and How to Integrate?

Introduction to Salesforce Connect

Salesforce Connect is a robust Integration service natively supported by Salesforce. It allows Salesforce users to seamlessly handle and access data from a variety of external sources. It is a Cloud-based application that allows you to execute this without leaving the Salesforce Native Environment.

You can utilize Salesforce Connect to fetch data from a diverse set of Cloud as well as On-premise sources & applications. It enables your Salesforce users to use a single login account and effortlessly access external data. It further houses the ability to generate unique logins for every user if you require the same.

Ways to Link External Applications to Salesforce Connect

You can easily link the data adapters mentioned below to set up a connection between an external data source and Salesforce Connect:

  • Open Data Protocol: It is a popular REST-based protocol that users can leverage for seamless data integration. All data sources exposed by 2.0 Producers/ OData 4.0 can be linked with Salesforce Connect.
  • Salesforce Connector: In case you leverage numerous Salesforce instances, you can take advantage of this connector. It is an easy-to-use adapter that helps unify Salesforce with external applications without having to write any code.
  • Custom Adapters: Apex allows you to build low-code easy-to-use connectors. You can use these to establish a link with any Web API; however, you can’t connect with APIs that follow the OData format. You can even use the adapters to link to thousands of publicly available APIs.

Steps to Set Up Salesforce Connect

You can configure Salesforce Connect by following the steps given below:

  • Build a New External Data Source: Here, you first need to check if these sources support more than one service. If yes, then for each service, you’ll have to design a data source separately. You can also fill the fields depicted below to create this data source. You can simply click on Save and New to finalize this step.
  • Creating External Objects & Fields: To obtain the list of tables from your external data source, you’ll need to click on the Validate and Sync button (mentioned in the image below). You can do this once the external data source that you just created is up and running.

Next, you’ll have to identify and choose the tables you’d like to sync with Salesforce. Once decided, you can click on the Sync button (highlighted below) to start fetching external objects. This process is similar to how you work with Custom Objects in your Salesforce instance.

  • Build Relationship between Data Objects & External Sources: With Salesforce, you can set up 3 types of Relationships. These are Internal Lookup, External Lookup, and Lookup. The image given below depicts the possible parent-child data object relationships:

With your External Data Objects now linked to your Salesforce instance, you can start accessing data from these sources straight in your native Salesforce Environment.

In the next section, you’ll come across the steps to use Apex and build custom adapters that help you pull data from external applications. This will be achieved with the help of Lightning Connect by Salesforce.

Custom Adapters Creation for Lightning Connect

You can develop these DIY adapters for Lightning Connect by leveraging two extensively used abstract classes: DataSource.DataSourceConnection and DataSource.Provider.

DataSource.DataSourceConnection enables users to handle and access the data from an external source. DataSource.Provider, on the other hand, helps you to establish a link with the external source.

Before you begin using the DataSource.Provider application, it’s essential to understand that the Provider class has a prefix “-” and is represented as Lightning Connect: Custom-Adapter Connection in the type field.

This is the code snippet you need to write to create a custom adapter for your native environment:

global class ProviderClass extends DataSource.Provider {

            override global List getAuthenticationCapabilities() {

            List demo_capabilities = new List();

demo_capabilities.add(DataSource.AuthenticationCapability.ANONYMOUS);

            return demo_capabilities;

            }

            override global List getCapabilities() {

            List demo_capabilities = new List();

            demo_capabilities.add(DataSource.Capability.ROW_QUERY);

            demo_capabilities.add(DataSource.Capability.SEARCH);

            return demo_capabilities;

            }

            override global DataSource.Connection getConnection(DataSource.ConnectionParams connectionParams) {

            return new DataSourceConnectionClass();

            }

            }

A New Type option will now appear once your adapter from the Lightning setup is ready. This will indicate your Apex Provider class. It also helps display the Standard Lightning Connect-based adapters/connectors by Salesforce.

Critical Limitations of Using Salesforce Connect

Although Salesforce Connect helps you integrate with virtually any external data source, there are a few limitations that you must be aware of:

  • Salesforce Connect only allows connecting with sources that have API support.
  • Salesforce requires you to implement a search capability for every object you wish to search.
  • All connections supported here have a callout limit. Hence, Salesforce might only call a connector a limited number of times per hour (say 20,000). You can easily reach and even exceed the limit if you execute too many search queries and retrievals. This can often occur with numerous external objects.
  • You need to have a common link/key between the Salesforce Objects and External Objects. This will help the external data sources relate to the native Salesforce Environment and any custom objects.

Conclusion

This blog gives a brief overview of Salesforce Connect and talks about the steps you can follow to set it up. It also talks about the different ways in which you can link Salesforce Connect to external applications.

Source: soup.io

Follow and connect with us on TwitterFacebook, Instagram, and Youtube