Today's blog post was written by Kyle Dreyer, Principal Architect at Sonoma Partners.
Today we’re going to discuss a feature in Salesforce that we find is drastically underutilized. Salesforce Connect (formerly Lightning Connect) is a feature within Salesforce that allows companies to display external data without having to build a robust, complicated integration. Additionally, the data isn’t technically stored in Salesforce and therefore does not count against your data storage! The evolution of Salesforce Connect now allows the data to be editable (if desired) in Salesforce and can also be reported on. Let’s walk through how to set up the connection:
1. The first step is that the data from the external system needs to be available via an OData (V2 or V4) endpoint. You can also connect to a different Salesforce Org if desired. Note that this endpoint needs to be publicly available to the Salesforce servers.
In this scenario, I am using an endpoint that is located here.
Running a GET in a REST utility shows the following data:
After configuring the External data source, we will have external objects for People, Photos, Airlines, and Airports.
2. Go to Setup -> Develop -> External Data Sources. Click New External Data Source.
3. Populate the appropriate fields. In this example, I configured the information as follows:
There are a couple important things to note here:
- If enabled, there is an option called “Writable External Objects.” Selecting this is required if you wish to allow the data to be editable in Salesforce. Note that the OData service must allow data to be updated through it.
- Authentication – In this example, the service is “wide open,” so no authentication is available; however, Salesforce Connect allows for Anonymous, Per User, and Named Principal authentication mechanisms.
4. Click Save! You have now finished configuring your external data source.
5. After Saving, the option to “Validate and Sync” will appear. This will allow you to select which external objects to create.
6. After selecting the object(s) you want to create, click “Sync.”
7. You will now notice that you have several External Objects in your org.
8. Unfortunately, these objects are not automatically Deployed, and they are not currently available for reports. In order to fix this, you must click into each one and change the settings as shown below.
9. After this step, you may choose to create a Tab for the object(s). Once that is complete, you can start viewing the data!
10. Let’s take a look at our Airlines data from the service.
You’ll notice that this is the same data returned by the OData service.
Displaying this data is useful (and in some cases may be all that is required), but what if we want to manage the data in our back-end systems through Salesforce? Can we create a new Airline or update an existing one? Since we allowed our External Data Source to be Writable, we can absolutely do that. Let’s start by creating a new airline, called “Sonoma Airlines.”
1. Click “New” on the Airline page and input the data.
2. Clicking Save saves the record, but let’s make sure that we can view it directly through the service. I created another GET call to see if we can find this airline.
You can see that the airline has been created in the back-end system. The same concept would apply to update the data as well.
Now that you have (hopefully!) seen the value of Salesforce Connect, it would be prudent to consider whether this is a valid option for future integrations within your Salesforce org. It is very simple to configure (this demo took about 15 min) and has relatively robust features. And of course, if you need any more information or have any questions, never hesitate to contact us.