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 maps data tables in external systems to
external objects in your org.
- 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 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.
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) |
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.
Sa Salesforce Cross Org Connector - Share data across Salesforce orgs.
·
Custom adapter created via Apex—If the OData
aren’t suitable for your needs, develop your own adapter with the Apex
Connector Framework.
Example External Data Source:
Example Sync.
Syncing creates the external objects corresponding to the
tables that you selected
After synching
You can use Salesforce Connect to reports, dashboard and also in Einstein Analytics.
You can also do external data change tracking.
There is also a batch apex support to process large volumes of data.
You can perform search in external object.
Apex Connector Framework : For building custom adapter
1. Override getAuthenticationCapabilities
2. Override getCapabilities to describe what capabilities we want to support. You can create/update/delete/search/query
3. After you write a inherited class from DataSource.Provider it gets listed in "Type" while creating an external data source.
4. Define the schema. Control comes here when user validate and sync. Inherit from DataSource.Connection
5. Implement sync. Create columns and tables.
6. Query the data following way:
7. Populate a row based on value from external sourceAvailable at an extra cost.