Loading
Prepare for Email to Become the Default Login ExperienceRead More
Extend Salesforce with Clicks, Not Code
Set Up Salesforce Connect to Access External Data with a Custom Adapter

Set Up Salesforce Connect to Access External Data with a Custom Adapter

Let users view, search, and modify any data anywhere from within their Salesforce org.

Required Editions

Available in: both Salesforce Classic and Lightning Experience (not for high-data-volume external objects)

Available in: Developer Edition

Available for an extra cost in: Enterprise, Performance, and Unlimited Editions

User Permissions Needed
To create Apex classes: Author Apex
To configure remote settings: Modify All Data
To create and edit external data sources: Customize Application
To create and edit external objects: Customize Application
To define or change object-level help: Customize Application
To create and edit custom fields: Customize Application
To edit permission sets and user profiles: Manage Profiles and Permission Sets
To edit another user’s authentication settings for external systems: Manage Users

Setting up Salesforce Connect with a custom adapter involves these high-level steps.

  1. Develop the custom adapter for Salesforce Connect.
    Using the Apex Connector Framework, create the DataSource.Connection and DataSource.Provider classes that comprise the custom adapter.
  2. Define remote sites for Apex callouts.
    If the custom adapter involves any Apex callouts, define each callout endpoint as a remote site in your organization. However, you don’t need to define a remote site for a callout whose endpoint is specified as a named credential instead of a URL.
  3. Define an external data source of type Salesforce Connect: Custom.
    If you created multiple custom adapters, make sure that the external data source’s Type field specifies the correct DataSource.Provider class.
  4. Create the external objects.
    Perform this task only if you don’t sync to automatically create the external objects. Create an external object for each external data table that you want to access from your Salesforce org.
  5. Create help content for the external objects.
    Create Visualforce pages that describe the external data. When your users click Help for this Page on an external object, they read your custom help content. Remember, your users can’t find information about the external data in Salesforce Help.
  6. Add custom fields and relationships to the external objects.
    Create relationships between objects. If you didn’t sync to automatically create the external objects and their fields, create a custom field for each external table column that you want to access from your Salesforce org.
  7. Verify access to external object data.
    Check that expected user and code interactions with the external objects work, including sorting and filtering search and query results.
    Tip
    Tip After you configure an external data source, run the validator tool on each external object to test and troubleshoot its connections. The tool tests for ID uniqueness and the ability to sort and filter results.
  8. Enable user access to external objects.
    Grant object permissions through permission sets or profiles.
  9. Enable user access to the fields on the external objects.
    Grant field permissions through permission sets or profiles.
  10. If the external data source uses per-user authentication:
    1. Let users authenticate to the external system.
      Grant users access to authentication settings for the external data source through permission sets or profiles.
    2. Set up each user’s authentication settings.
      You or your users can perform this task.
      Tip
      Tip Train your users on how to set up their authentication settings for external systems. Make sure that they know which credentials to enter for each external system. If you’re using OAuth 2.0, test the OAuth flow for potentially confusing prompts or redirects, and train your users as needed. OAuth flows vary, depending on your external system, authentication provider, and specified scopes.
 
Loading
Salesforce Help | Article