---
schema_version: "1"
id: 38c60a5049dfca58efb1aaea8c1c836f1bccb521c6420fc9d4d163f086e26d33
title: Define an External Data Source for Salesforce Connect—OData 2.0 or 4.0 Adapter
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/platform_connect_add_external_data_source.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.platform_connect_add_external_data_source.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 628376376870f15a4d379053bfc44192d89194e873e3e5ce21169340f6a1164f
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 2.0 or 4.0 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="d209111e74">User
              Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e74 ">To create and edit external data sources:</td>

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

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

![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

- The external data must be exposed by a service that uses Open Data Protocol (OData) Version 2.0 or 4.0. Such a service is called an OData producer.
- The URL for reaching the OData producer must be accessible by Salesforce application servers through the Internet. You can access by adding Salesforce server IP addresses on your corporate network firewall to the allow list or by setting up a reverse-proxy XML Gateway.
- The extent to which you can customize data visibility depends on the external system. To determine the optimal settings for integration with Salesforce, consult the external system’s documentation.

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="d209111e157">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d209111e160">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e157 ">
                  <samp class="parmname">External Data Source</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>A user-friendly name for the external data source. The
                    label is displayed in the Salesforce user interface, such as
                    in list views.</p>
                  <p style="margin-bottom:0;">If you set <samp class="parmname">Identity
                      Type</samp> to Per User, this label appears when
                    your users view or edit their authentication settings
                    for external systems.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <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="d209111e157 ">
                  <samp class="parmname">Type</samp>
                </td>

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

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>The OData service root URL. Make sure that you escape all
                    special characters.</p>
                  <p>Each service endpoint requires its own
                    external data source definition, but you can have
                    multiple entities under one service root URL. For more
                    information about the service root URL and other URL
                    conventions, go to <a href="http://www.odata.org" target="_blank"><samp class="filepath">www.odata.org</samp></a>.</p>
                  <p>Examples:</p>
                  <ul>
                    <li><samp class="filepath">http://services.example.org/Warehouse.svc</samp></li>
                    <li><samp class="filepath">https://services.example.org/Payroll.svc</samp></li>
                  </ul>
                  <p>If the endpoint is defined in a named credential,
                    enter the named credential URL. <span id="platform_connect_add_external_data_source__named_credential_url"><a name="platform_connect_add_external_data_source__named_credential_url"><!-- --></a>A named credential URL
                      contains the scheme <code>callout:</code>, the name of the named
                      credential, and an optional path. For example:
                      <code>callout:</code><var>My_Named_Credential</var><code>/</code><var>some_path</var>.</span></p>
                  <p>You
                    can append a query string to a named credential URL. Use
                    a question mark (?) as the separator between the named
                    credential URL and the query string. For example:
                    <code>callout:</code><var>My_Named_Credential</var><code>/</code><var>some_path</var><code>?format=json</code>.
                  </p>
                  <p style="margin-bottom:0;">If
                    you enter a named credential URL, skip the
                    Authentication section for the external data source. To
                    access the external system, Salesforce Connect uses the
                    authentication settings that are defined in the named
                    credential.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>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="platform_connect_add_external_data_source__field_connection_timeout_max"><a name="platform_connect_add_external_data_source__field_connection_timeout_max"><!-- --></a>120</span> seconds.</p>
                  <p style="margin-bottom:0;">Depending on the availability of
                    and the connection to the external system, it can take a
                    long time to retrieve external data. Use this field to
                    limit how long to wait for external data to load into
                    your org.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">The Lightning Platform and users in this org can 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="d209111e157 ">
                  <samp class="parmname">High Data Volume</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>Salesforce enforces rate limits for retrieving and
                    viewing data from external systems. <span id="platform_connect_add_external_data_source__field_high_data_volume_when_select"><a name="platform_connect_add_external_data_source__field_high_data_volume_when_select"><!-- --></a>If your org hits
                      rate limits when accessing external objects, consider
                      selecting the <strong class="uicontrol">High Data Volume</strong>
                      option on the associated external data sources.</span>
                    Doing so bypasses most rate limits, but some special
                    behaviors and limitations apply. See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_considerations_high_data_volume.htm&amp;release=264.0.0&amp;type=5" title="If your org hits rate limits when accessing external objects, consider selecting the High Data Volume option on the associated external data sources. Doing so bypasses most rate limits, but some special behaviors and limitations apply.">High Data Volume
                      Considerations for Salesforce Connect—OData 2.0 and 4.0
                      Adapters</a>.</p>
                  <p style="margin-bottom:0;">High-data-volume external data
                    sources are still limited to 20,000 OData queries per
                    hour for Enterprise, Performance, and Unlimited
                    Editions. If you require higher limits, create a support
                    case. See callout limits in <a href="https://help.salesforce.com/s/articleView?id=platform.odata_general_limits.htm&amp;release=264.0.0&amp;type=5" title="Understand the limits for the OData 2.0, 4.0, and 4.01 adapters for Salesforce Connect.">General Limits for
                      Salesforce Connect OData
                      Adapters</a>.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">It's common for Salesforce Connect queries of external
                  data to have a large result set that's broken into smaller
                  batches or pages. To have the external system control the
                  paging behavior, select this option. 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="d209111e157 ">
                  <samp class="parmname">Request Row Counts</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>Includes one of the following system query options in
                    each OData query so that the response includes the total row
                    count of the result set.</p>
                  <ul>
                    <li><code>$inlinecount=allpages</code> for the OData 2.0
                      adapter</li>
                    <li><code>$count=true</code> for
                      the OData 4.0 adapter</li>
                  </ul>
                  <p>Some external systems don’t support these system
                    query options. If you receive errors or notice long load
                    times when you try to access their data, deselect
                    <strong class="uicontrol">Request Row Counts</strong> on the
                    external data source. If you do so, however, the
                    external data source and its associated external objects
                    can’t support the following functionality, which
                    requires the total row count.
                  </p>
                  <ul>
                    <li>SOQL <code>COUNT()</code>
                      aggregate function</li>
                    <li>Batch Apex with <code>Database.QueryLocator</code></li>
                  </ul>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">When selected, Salesforce sends compressed HTTP requests
                  to the external system. Make sure that the external system
                  is set up to receive gzip-compressed data. Salesforce
                  automatically accepts gzip-compressed responses.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <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;">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, select this
                    option.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e157 ">
                  <samp class="parmname">Custom Query Option for Salesforce
                    Search</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>Available only for the OData 2.0 adapter for Salesforce
                    Connect. If the OData producer has implemented and exposed a
                    free-text-search custom query option, enter the name of that
                    query string parameter.</p>
                  <p>Learn more about OData custom
                    query options and other URI conventions at <a href="http://www.odata.org" target="_blank"><samp class="filepath">www.odata.org</samp></a>.</p>
                  <p>This
                    field has no effect when <samp class="parmname">Enable
                      Search</samp> is deselected or when the OData
                    producer isn’t set up to correctly handle the custom
                    query option.</p>
                  <p style="margin-bottom:0;">See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_considerations_search.htm&amp;release=264.0.0&amp;type=5" title="By default, the search query string is used as the substringof value in the $filter system query option.">OData 2.0 Query Options</a>.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>Available for the OData 4.0 and 4.01 adapters for
                    Salesforce Connect. To use the <code>$search</code> system query option instead of <code>$filter</code> in search requests
                    that are sent to the external system, select this option.
                    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="d209111e157 ">
                  <samp class="parmname">Format</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>The format that the OData producer uses to represent
                    resources, such as collections of data.</p>
                  <p>Make sure that the
                    OData producer is set up to support the selected format.
                    Learn more about representation formats and operations
                    at <a href="http://www.odata.org" target="_blank"><samp class="filepath">www.odata.org</samp></a>.</p>
                  <p style="margin-bottom:0;">If
                    your external data source uses the OData 4.0 adapter and
                    JSON format, make sure that the OData producer accepts
                    headers that contain the <code>odata.metadata=full</code> format parameter.
                    Other variations, including <code>odata.metadata=minimal</code>, aren’t supported
                    for the OData 4.0 adapter.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">Select Socrata only if the URL specifies a Socrata open
                  data endpoint. See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_considerations_socrata.htm&amp;release=264.0.0&amp;type=5" title="Socrata Open Data Protocol™ is commonly used for health data and for collaboration between governments and their citizens. Salesforce Connect can access data from endpoints that are backed by Socrata Open Data Portal. To accommodate Socrata-specific requirements, set the Special Compatibility field on the external data source to Socrata.">Socrata™ Considerations for Salesforce Connect—OData 2.0 and 4.0 Adapters</a>.</td>

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

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

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">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="d209111e157 ">
                  <samp class="parmname">CSRF Protection</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>If the external system requires Cross-Site Request
                    Forgery (CSRF) protection in requests to create, edit or
                    delete its data, select this option. If you do so, your org
                    obtains an anti-CSRF token and cookie from the external
                    system and includes them in each create, edit, and delete
                    request. See <a href="https://help.salesforce.com/s/articleView?id=platform.odata_considerations_csrf.htm&amp;release=264.0.0&amp;type=5" title="Understand the special behaviors, limitations, and recommendations for Cross-Site Request Forgery (CSRF) on OData external data sources.">CSRF Considerations for Salesforce Connect—OData 2.0 and 4.0 Adapters</a>.</p>
                  <p style="margin-bottom:0;">Available only
                    when <samp class="parmname">Writable External Objects</samp> is
                    selected.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>HTTP header field that contains the anti-CSRF token. The
                    external system determines the field name. Default:
                    X-CSRF-Token</p>
                  <p style="margin-bottom:0;">Available only when <samp class="parmname">CSRF
                      Protection</samp> is selected.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">If you specify a certificate, your Salesforce org
                  supplies it when establishing each two-way SSL connection
                  with the external system. <span id="platform_connect_add_external_data_source__field_certificate_description_details"><a name="platform_connect_add_external_data_source__field_certificate_description_details"><!-- --></a>The
                    certificate is used for digital signatures, which verify
                    that requests are coming from your Salesforce
                    org.</span></td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e160 ">
                  <p>Determines whether you're using one set or multiple sets
                    of credentials to access the external system. See <a href="https://help.salesforce.com/s/articleView?id=platform.platform_connect_identity_type.htm&amp;release=264.0.0&amp;type=5" title="On the external data source configured for Salesforce Connect, the Identity Type field specifies whether your organization uses one set or multiple sets of credentials to access the external system. Each set of credentials corresponds to a login account on the external system.">Identity Type for External Data Sources</a>.</p>
                  <p style="margin-bottom:0;">Select
                    <strong class="uicontrol">Anonymous</strong> only if the
                    external system doesn’t require
                    authentication.
                  </p>
                </td>

              </tr>
            </tbody>
          </table>
4. Select the authentication protocol.
    
    - If you select **Password Authentication**, enter the username and password for accessing the external system.
    - If you select **OAuth 2.0**, complete these 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="d209111e713">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d209111e716">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e713 ">
                  <samp class="parmname">Authentication Provider</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e716 ">Choose the provider. See <a href="https://help.salesforce.com/s/articleView?id=experience.sso_authentication_providers.htm&amp;type=5&amp;language=en_US" target="_blank">Authentication
                    Providers</a>.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e716 ">
                  <p>Specifies the scope of permissions to request for the
                    access token. Your authentication provider determines the
                    allowed values. See <a href="https://help.salesforce.com/s/articleView?id=xcloud.sso_provider_addl_params_scope.htm&amp;type=5&amp;language=en_US" target="_blank">Use the Scope
                      Parameter</a>.</p>
                  <p>Keep these considerations in mind
                    when you set a scope.</p>
                  <ul>
                    <li>The value that you enter replaces the
                      <samp class="parmname">Default Scopes</samp> value that’s
                      defined in the specified authentication
                      provider.
                    </li>
                    <li>Whether scopes are defined can affect whether each
                      OAuth flow prompts the user with a consent
                      screen.</li>
                    <li>We recommend that you request a refresh token or
                      offline access. Otherwise, when the token expires,
                      you lose access to the external system.</li>
                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e713 ">
                  <samp class="parmname">Start Authentication Flow on
                    Save</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d209111e716 ">
                  <p>To authenticate to the external system and obtain an
                    OAuth token, select this checkbox. This authentication
                    process is called an OAuth flow.</p>
                  <p>When you click
                    <strong class="uicontrol">Save</strong>, the external system
                    prompts you to log in. After successful login, the
                    external system grants you an OAuth token for accessing
                    its data from this org.
                  </p>
                  <p style="margin-bottom:0;">Redo the OAuth flow when
                    you need a new token—for example, if the token
                    expires—or if you edit the
                    <samp class="parmname">Scope</samp> or
                    <samp class="parmname">Authentication Provider</samp> fields.
                    When the token expires, the external system returns a
                    401 HTTP error status.
                  </p>
                </td>

              </tr>
            </tbody>
          </table>
5. Click **Save**.
6. Click **Validate and Sync**, and confirm that the connection is successful.
7. Optionally, select tables and click **Sync** to do the following for each selected table.
    
    - Automatically create a Salesforce external object.
    - Automatically create a custom field for each table column that’s compatible with a Salesforce metadata field type.
    
    ![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 Before you sync, make sure that you understand the considerations that are described in these topics.
    
    - [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.")
    - [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.")
    
    You can instead choose to manually create the external objects and custom fields that map to the external data. Doing so lets you customize the external object names, decide which table columns to create custom fields for, and customize the custom field names. However, this approach takes longer and requires manual maintenance.

Optionally, you can associate custom HTTP headers to the external data source to retrieve or request additional data.

#### See Also

- [Set Up Salesforce Connect to Access External Data with OData Adapters](https://help.salesforce.com/s/articleView?id=platform.platform_connect_setup.htm&release=264.0.0&type=5 "Let users view and search data that’s stored outside your Salesforce org, such as data in an enterprise resource planning (ERP) system.")
- [Store Authentication Settings for External Systems](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.")
- [OData Query String Options](https://help.salesforce.com/s/articleView?id=platform.odata_query_string_options.htm&release=264.0.0&type=5 "The OData adapters for Salesforce Connect use a subset of the OData 2.0 and 4.0 and 4.01 system functions and filter expression constructs to query external systems.")
- [OData Type Mapping](https://help.salesforce.com/s/articleView?id=platform.odata_type_mapping.htm&release=264.0.0&type=5 "Salesforce Connect maps OData types to Salesforce metadata field types when syncing metadata and converting values between Salesforce and external systems.")
- [Named Credentials](https://help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&type=5&language=en_US)