---
schema_version: "1"
id: 0c3131d2152edd2df14296a36c973639d9603106708a0f429478493baeb49102
title: Set Up Salesforce Connect to Access External Data with OData Adapters
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/platform_connect_setup.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.platform_connect_setup.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 5fcefd2c845fb3958d792da7cec5a45d69cd23262918020bc86aaf39426174d3
description: Let users view and search data that’s stored outside your Salesforce org, such as data in an enterprise resource planning (ERP) system.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# Set Up Salesforce Connect to Access External Data with OData Adapters

Let users view and search data that’s stored outside your Salesforce org, such as data in an enterprise resource planning (ERP) system.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
        <colgroup>
          <col>
        </colgroup>
        <tbody>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic and Lightning Experience (not for
              high-data-volume external objects)</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Available in: <strong>Developer</strong> Edition</p>
              <p style="margin-bottom:0;">Available for an extra
                cost in: <strong>Enterprise</strong>, <strong>Performance</strong>, and
                <strong>Unlimited</strong> Editions
              </p>
            </td>

          </tr>
        </tbody>
      </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d88209e74">User
              Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To create and edit external data sources:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Customize Application</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To create and edit external objects:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Customize Application</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To define or change object-level help:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Customize Application</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To create and edit custom fields:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Customize Application</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To edit permission sets and user profiles:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Manage Profiles and Permission Sets</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">To edit another user’s authentication settings for external
              systems:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d88209e74 ">Manage Users</td>

          </tr>
        </tbody>
      </table>

Setting up Salesforce Connect with an OData 2.0, 4.0, or 4.01 adapter involves these high-level steps.

1. [Define an external data source of type `Salesforce Connect: OData 2.0` or `Salesforce Connect: OData 4.0`.](https://help.salesforce.com/s/articleView?id=platform.platform_connect_add_external_data_source.htm&release=264.0.0&type=5 "Connect your Salesforce org to data that’s stored in an external system, such as SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, or IBM WebSphere®.") or [Define an external data source of type `Salesforce Connect: OData 4.01`](https://help.salesforce.com/s/articleView?id=platform.odata_add_external_data_source.htm&release=264.0.0&type=5 "Connect your Salesforce org to data that’s stored in an external system, such as SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, or IBM WebSphere®.").
    
    If your external system hosts multiple services, create an external data source for each service endpoint. Each service endpoint points to an OData service root URL and can expose collections of entities. For example, you’d create a separate external data source for each of these service endpoints.
    
    - http://services.example.org/Warehouse.svc
    - https://services.example.org/Payroll.svc
2. [Create the external objects.](https://help.salesforce.com/s/articleView?id=platform.external_object_define.htm&release=264.0.0&type=5 "Tables in external systems map to external objects in Salesforce, combining all your data and content for users in your org.")
    
    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.
3. [Add custom fields and relationships to the external objects.](https://help.salesforce.com/s/articleView?id=adding_fields.htm&language=en_US)
    
    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.
4. [Verify access to external object data.](https://help.salesforce.com/s/articleView?id=platform.external_object_validate.htm&release=264.0.0&type=5 "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. Validator is available for external objects from Apex and Odata data sources.")
    
    Check that expected user and code interactions with the external objects work, including sorting and filtering search and query results.
    
    ![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_click-264-0-0-production-enus/5f7d9219-b7b1-4552-8891-f1aba9b289fc/images/icon_tip.png)
    
    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.
5. Enable user access to external objects.
    
    Grant object permissions through permission sets or profiles.
6. Enable user access to the fields on the external objects.
    
    Grant field permissions through permission sets or profiles.
7. If the external data source uses per-user authentication:
    1. [Let users authenticate to the external system.](https://help.salesforce.com/s/articleView?id=platform.external_permsets_profiles.htm&release=264.0.0&type=5 "For external data sources that use per-user authentication, grant users access through permission sets and profiles, so users can set up and manage their own authentication settings for accessing 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.](https://help.salesforce.com/s/articleView?id=platform.external_authentication.htm&release=264.0.0&type=5 "You or your administrator can set up and manage your authentication settings for external systems. With valid authentication settings, you can access external systems from within your Salesforce org.")
        
        You or your users can perform this task.
        
        ![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_click-264-0-0-production-enus/5f7d9219-b7b1-4552-8891-f1aba9b289fc/images/icon_tip.png)
        
        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.

- **[Define an External Data Source for Salesforce Connect OData 4.01 Adapter](https://help.salesforce.com/s/articleView?id=platform.odata_add_external_data_source.htm&release=264.0.0&type=5)**  
    Connect your Salesforce org to data that’s stored in an external system, such as SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, or IBM WebSphere®.

#### See Also

- [OData Adapters for Salesforce Connect](https://help.salesforce.com/s/articleView?id=platform.odata_adapter_about.htm&release=264.0.0&type=5 "Connect to your back office for a complete view of your business. With the OData 2.0, 4.0, or 4.01 adapter, Salesforce Connect uses Open Data Protocol Version 2.0, Version 4.0, or Version 4.01 to access data that’s stored outside Salesforce.")
- [Salesforce Platform Features Supported by Salesforce Connect](https://help.salesforce.com/s/articleView?id=platform.platform_connect_considerations.htm&release=264.0.0&type=5 "Salesforce Connect provides seamless integration with the Salesforce Platform and enables users to view, search, and modify external object data.")
- [Developer Guide: _Visualforce Developer Guide_](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro.htm)
- [External Object Relationships](https://help.salesforce.com/s/articleView?id=platform.external_object_relationships.htm&release=264.0.0&type=5 "External objects support standard lookup relationships, which use the 18-character Salesforce record IDs to associate related records with each other. However, data that’s stored outside your Salesforce org often doesn’t contain those record IDs. Therefore, two special types of lookup relationships are available for external objects: external lookups and indirect lookups.")