---
schema_version: "1"
id: 88fdc77c7c3e933ccaf869ba09b83a8e448d9c9451e843c87a7afe3dfaaba1de
title: Define an External Data Source for Salesforce Connect OData 4.01 Adapter
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/odata_add_external_data_source.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.odata_add_external_data_source.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 2aaa4160f00fd9f8fc23df14c5ffd92dc20457aa1411b3aa696c961bf3c627b7
description: Connect your Salesforce org to data that’s stored in an external system, such as SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, or IBM WebSphere®.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# Define an External Data Source for Salesforce Connect OData 4.01 Adapter

Connect your Salesforce org to data that’s stored in an external system, such as SAP® NetWeaver Gateway, Microsoft Dynamics® NAV, or IBM WebSphere®.

### 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="d120181e74">User
              Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e74 ">To create and edit external data sources:</td>

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

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

1. From Setup, enter External Data Sources in the Quick Find box, then select **External Data Sources**.
2. Click **New External Data Source**, or click **Edit** to modify an existing external data source.
3. Complete the fields.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:25%">
              <col style="width:75%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d120181e139">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d120181e142">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">External Data Source</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">A user-friendly name for the external data source. The
                  label is displayed in the Salesforce user interface, such as
                  in list views.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Name</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">
                  <p>A unique identifier that’s used to refer to this external
                    data source definition through the API.</p>
                  <p style="margin-bottom:0;">The name can
                    contain only underscores and alphanumeric characters. It
                    must be unique, begin with a letter, not include spaces,
                    not end with an underscore, and not contain two
                    consecutive underscores.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Type</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select <strong class="uicontrol">Salesforce Connect: OData
                    4.01</strong>.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Named Credential</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Enter the named credential URL defined for the data
                  source exposed via OData 4.01. To know how to create an
                  external credential and named credential, see <a href="https://help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&amp;type=5&amp;language=en_US" target="_blank">Named
                    Credentials</a>.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Connection Timeout (Seconds)</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Number of seconds to wait for a response from the
                  external system before timing out. By default, the value is
                  set to the maximum of <span id="odata_add_external_data_source__field_connection_timeout_max"><a name="odata_add_external_data_source__field_connection_timeout_max"><!-- --></a>120</span> seconds.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Writable External Objects</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Lets the Lightning Platform and users in this org create,
                  update, and delete records for external objects associated
                  with the external data source. The external object data is
                  stored outside the org. By default, external objects are
                  read only.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Server Driven Pagination</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select this option to have the external system control
                  the paging behavior. See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_paging.htm&amp;release=264.0.0&amp;type=5" title="It's common for Salesforce Connect queries of external data to have a large result set that's broken into smaller batches or pages. You can decide whether to have the paging behavior controlled by the external system (server-driven) or by the OData adapter for Salesforce Connect (client-driven).">Client-Driven and Server-Driven Paging for Salesforce Connect OData Adapters</a>.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Enable Search</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">
                  <p>Determines whether SOSL and Salesforce global searches
                    also query the external objects that are associated with
                    this external data source.</p>
                  <p>When selected, you can control
                    which external objects are searchable by selecting or
                    deselecting <strong class="uicontrol">Allow Search</strong> on each
                    external object.</p>
                  <p>Only text, text area, and long
                    text area fields on external objects can be searched. If
                    an external object has no searchable fields, searches on
                    that object return no records.</p>
                  <p style="margin-bottom:0;">Select this option
                    to allow the external data source’s associated external
                    objects to appear in Salesforce for iOS and Salesforce
                    mobile web when used on iOS devices.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Use Free-Text Search
                    Expressions</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">
                  <p>Available for the OData 4.0 and 4.01 adapters for
                    Salesforce Connect. Select this option to use the <code>$search</code> system query option
                    instead of <code>$filter</code> in
                    search requests that are sent to the external system. Make
                    sure that the OData producer is set up to support the
                    <code>$search</code> system
                    query option.
                  </p>
                  <p>This field has no effect when
                    <samp class="parmname">Enable Search</samp> is
                    deselected.
                  </p>
                  <p style="margin-bottom:0;">See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_considerations_search_v4.htm&amp;release=264.0.0&amp;type=5" title="By default, the search query string is used as the contains value in the $filter system query option.">OData 4.0 and 4.01 Query Options</a>.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Eligible for External Change Data
                    Capture</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select to track changes to external data. See <a href="https://help.salesforce.com/s/articleView?id=platform.external_object_change_tracking_intro.htm&amp;release=264.0.0&amp;type=5" title="With External Change Data Capture, you can track changes to data that is stored outside your Salesforce org when using the OData 4.0 and 4.01 adapters. You can then build automation in response to the changes to increase productivity or provide a better customer experience.">Use External Change
                    Data Capture to Track Data Changes on External
                    Objects</a>.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Batch DML</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select this option to be able to send multiple DML
                  requests to the external data source in JSON batch format.
                  See <a href="http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_BatchRequests" target="_blank">batch
                    requests</a>.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Metadata Control Information</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_metadatafullodatametadatafull" target="_blank"><kbd>Full</kbd></a> or <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_metadataminimalodatametadataminimal" target="_blank"><kbd>Minimal</kbd></a> as per your
                  client application and device requirements.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e139 ">
                  <samp class="parmname">Display Server Errors</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d120181e142 ">Select to specify whether to display error messages from
                  an external system in the user interface.</td>

              </tr>
            </tbody>
          </table>
4. Click **Save**.
5. Click **Validate and Sync**, select the tables, and click **Sync**. Before you sync, make sure that you understand the considerations described in [Sync an External Data Source for Salesforce Connect](https://help.salesforce.com/s/articleView?id=platform.platform_connect_considerations_sync.htm&release=264.0.0&type=5 "When you validate and sync an external data source, it creates or overwrites Salesforce external objects that map to the external system’s schema. Syncing doesn’t copy any data into your Salesforce org or write data from your org to the external system.") and [Sync Considerations for Salesforce Connect OData Adapters](https://help.salesforce.com/s/articleView?id=platform.odata_considerations_sync.htm&release=264.0.0&type=5 "When you validate and sync an external data source of type OData 2.0, 4.0, or 4.01, some special behaviors and limitations apply.")
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_click-264-0-0-production-enus/5f7d9219-b7b1-4552-8891-f1aba9b289fc/images/icon_note.png)
    
    Note To leverage [Named Credentials](https://help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&type=5&language=en_US) and [Private Connect](https://help.salesforce.com/s/articleView?id=xcloud.private_connect_overview.htm&type=5&language=en_US) with OData 4.0 data sources, use the OData 4.01 adapter for Salesforce Connect.