đź“Ł Attention Salesforce Certified Trailblazers! Link your Trailhead and Webassessor accounts and maintain your credentials by December 14th. Learn more.
close
trailhead

Introduction to Salesforce Connect

Learning Objectives

After completing this unit, you’ll be able to:
  • Explain what Salesforce Connect is.
  • Describe two typical use cases for Salesforce Connect.
  • Explain how Salesforce Connect differs from extract, transform, and load (ETL) tools.
  • Explain how external objects differ from standard and custom objects.

Overview of Salesforce Connect

Salesforce Connect is a framework that enables you to view, search, and modify data that’s stored outside your Salesforce org. For example, perhaps you have data that’s stored on premises in an enterprise resource planning (ERP) system. Instead of copying the data into your org, you can use external objects to access the data in real time via web service callouts.

Salesforce Connect lets your Salesforce org access data from a wide variety of external systems. You can integrate tables from SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, and many other data sources in real time without writing a single line of code. Previously, the only way to integrate external data with Salesforce was to use extract, transform, and load (ETL) tools. That process is time consuming and requires you to copy data into your org that you might never use or quickly becomes stale. In contrast, Salesforce Connect maps data tables in external systems to external objects in your org.

External objects are similar to custom objects, except that they map to data located outside your Salesforce org. External object data is always up to date. Salesforce Connect provides a live connection to external data rather than a copy that consumes storage and must be regularly synced. Accessing an external object fetches the data from the external system in real time.

We recommend that you use Salesforce Connect if most of these conditions apply.
  • You have a large amount of data that you don’t want to copy into your Salesforce org.
  • You need small amounts of data at any one time.
  • You need real-time access to the latest data.
  • You store your data in the cloud or in a back-office system, but want to display or process that data in your Salesforce org.

External Objects vs. Custom Objects

External objects share much of the same functionality as custom objects. For example, you can:

  • Access external objects via list views, detail pages, record feeds, custom tabs, and page layouts.
  • Define relationships between external objects and standard or custom objects to integrate data from different sources.
  • Enable Chatter feeds on external object pages for collaboration.
  • Enable create, edit, and delete operations on external objects.

If you need frequent access to large amounts of external data, ETL might still be your best option for optimal performance. External objects are not a replacement for ETL. They are a complementary approach for accessing external data that provide great benefits, including seamless integration with the Salesforce Platform, including our APIs, mobile, Chatter, and more. For example, external objects are available to standard Salesforce tools such as the Salesforce app, global search, SOSL and SOQL queries, Apex, Visualforce, APIs, change sets, and packages.

Here is a quick comparison of the features supported in external objects and custom objects.

Feature Custom Objects External Objects
Data is stored in your Salesforce org Yes No
Read Yes Yes
Write Yes Yes (limited)
Tabs, layouts Yes Yes
Visualforce Yes Yes
Field-level security Yes Yes
Sharing Yes No
REST and SOAP API Yes Yes
SOQL Yes Yes (limited)
Search and SOSL Yes Yes (pass-through)
Formula fields Yes Not Yet
Workflow, triggers Yes Not Yet
Reports and analytics Yes Yes (limited)
Chatter Yes Yes (no field tracking)

A Salesforce Connect Example

Suppose you have product order information stored in an external database, and you want to view those orders as a related list on each account record in Salesforce. Salesforce Connect enables you to set up a relationship between the parent account object and the child external object for orders. Then you can set up the page layouts for the parent object to include a related list that displays child records.

The figure below shows how Salesforce Connect can provide a seamless view of data across system boundaries. A record detail page for the Business_Partner external object includes two related lists of child objects.
  • Account standard object (1)
  • Sales_Order external object (2)
External objects example

In this example, external lookup relationships and page layouts enable users to view related data that’s stored both inside and outside the Salesforce org on a single page.

Types of External Connections

To connect to data that’s stored on an external system, Salesforce Connect uses one of these specially designed adapters.

  • OData 2.0 adapter or OData 4.0 adapter—Connects to data exposed by any OData 2.0 or 4.0 producer on the Internet. OData (Open Data Protocol) is a modern, REST-based protocol for integrating data. Vendors such as SAP and Microsoft have already implemented OData support, so products such as NetWeaver and SharePoint are directly accessible. Integration products from Salesforce partners extend the reach of Salesforce Connect to a much wider range of back-office systems.
  • Cross-org adapter—Connects to data that’s stored in another Salesforce org. The Cross-org adapter uses the standard Lightning Platform REST API. It directly connects to the other org without the need of an intermediary web service, as is the case with OData.
  • Custom adapter created via Apex—If the OData and cross-org adapters aren’t suitable for your needs, develop your own adapter with the Apex Connector Framework.
retargeting