---
schema_version: "1"
id: d38531018559d0ae6d4b91f6821367f6d6ab812f5c685f6684ebf33349d38bbd
title: Define External Objects
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/external_object_define.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.external_object_define.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: b7baac5caf030f5247e07c84e6e5969b9df135a1555dc41579128fe36059e015
description: Tables in external systems map to external objects in Salesforce, combining all your data and content for users in your org.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# Define External Objects

Tables in external systems map to external objects in Salesforce, combining all your data and content for users in your org.

### 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</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Salesforce Connect is available in: <strong>Developer</strong> Edition and for an extra
                cost in: <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> Editions</p>
              <p><span id="external_object_define__files_connect_cloud_editions"><a name="external_object_define__files_connect_cloud_editions"><!-- --></a>Files Connect for cloud-based external data
                  sources is available in: <strong>Professional</strong>, <strong>Enterprise</strong>,
                  <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong>
                  Editions</span></p>
              <p style="margin-bottom:0;">Federated Search is available in: <strong>Enterprise</strong>,
                <strong>Professional</strong>, <strong>Unlimited</strong>, and <strong>Developer</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="d146705e104">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e104 ">To create or edit external objects:</td>

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

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

External objects are similar to custom objects, except that they map to data that’s stored outside your Salesforce org. Each external object relies on an external data source definition to connect with the external system’s data. Each external object definition maps to a data table on the external system. Each of the external object’s fields maps to a table column on the external system. External objects enable your users and the Lightning Platform to search and interact with the external data.

- Each org can have up to 200 external objects. External objects don’t count toward the amount for custom objects.
- If the external system allows it, we recommend that you [sync](https://help.salesforce.com/s/articleView?id=platform.ext_data_sync_database.htm&release=264.0.0&type=5 "After you configure an external data source, synchronize it to map its tables with external objects in your Salesforce org. The content and data of external objects appear in federated search, together with your Salesforce content and data.") the external data source to automatically create related external objects. You can instead choose to manually define external objects to customize the external object names and manually create the custom fields.

To create or modify an external object:

1. From Setup, enter External Objects in the Quick Find box, then select **External Objects**.
2. Click **New External Object**, or click **Edit** to modify an existing external object.
3. Enter the following:
    
    <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="d146705e196">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d146705e199">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e196 ">
                  <samp class="parmname">Label</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>A user-friendly name for the external object. The label is displayed in the
                    Salesforce user interface, such as in list views.</p>
                  <p style="margin-bottom:0;">We recommend that you make
                    object labels unique across all standard, custom, and external objects in the
                    org.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">The plural name of the external object. If you create a tab for this
                  object, this name is used for the tab.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e196 ">
                  <samp class="parmname">Starts with vowel sound</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">If it’s appropriate for your org’s default language, select to
                  precede your label with “an” instead of “a” for any automated messages.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>A unique identifier used to refer to this external object definition when
                    using the API. Object names must be unique across all standard, custom, and
                    external objects in the org.</p>
                  <p style="margin-bottom:0;">The Object Name field 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="d146705e196 ">
                  <samp class="parmname">Description</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">An optional description of the external object. A meaningful description
                  helps you distinguish among your external objects when you view them in a
                  list.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e196 ">
                  <samp class="parmname">Context-Sensitive Help Setting</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>Defines what appears when users click <strong class="uicontrol">Help for this
                      Page</strong> from the external object record home (overview) and detail pages, as well as list views and
                    related lists.</p>
                  <p>We recommend that you select <strong class="uicontrol">Open a window using a
                      Visualforce page</strong> to display custom help that you create for your
                    users. </p>
                  <p>If you instead keep the default value, your users only see
                    Salesforce Help, which doesn’t provide any information about your external
                    data.</p>
                  <p style="margin-bottom:0;">This setting doesn’t affect the <strong class="uicontrol">Help &amp;
                      Training</strong> link at the top of each page, which always opens
                    Salesforce Help.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>Select the Visualforce page that best describes the data that’s provided by
                    this external object.</p>
                  <p style="margin-bottom:0;">This field is available only when you select
                    <strong class="uicontrol">Open a window using a Visualforce page</strong>.
                  </p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">The external data source definition that contains the connection details
                  you want to use for this external object.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>Table in the external system that the external object maps to.</p>
                  <p style="margin-bottom:0;">For
                    SharePoint, the table name must match the related scope name.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>Available only for Salesforce Connect. The external object’s
                    <samp class="parmname">Display URL</samp> standard field values are automatically
                    generated from the external system. For example, with the OData 2.0 adapter for
                    Salesforce Connect, the value is based on the <code>link
                      href</code> that’s defined on the OData producer.
                  </p>
                  <p style="margin-bottom:0;">You can override the
                    default values with the values of a custom field on the same external object.
                    Select the field name, and make sure that the custom field’s values are valid
                    URLs.</p>
                </td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">Available only for Salesforce Connect.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">Indicates whether the external object is visible to other users. </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e196 ">
                  <samp class="parmname">Launch New Custom Tab Wizard after saving this external
                    object</samp>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">If selected, the custom tab wizard starts after you save the external
                  object.</td>

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

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d146705e199 ">
                  <p>If search is also enabled on the external data source, selecting this
                    option lets users find the external object’s records via SOSL and Salesforce
                    global searches.</p>
                  <p>By default, search is disabled for new external objects.
                    However, you can validate and sync an external data source to automatically
                    create external objects. Syncing always enables search on the external object
                    when search is enabled on the external data source, and vice
                    versa.</p>
                  <p style="margin-bottom:0;">However, syncing always overwrites the external object’s search
                    status to match the search status of the external data source.</p>
                </td>

              </tr>
            </tbody>
          </table>
4. Click **Save**.
5. On the external object detail page, view and modify the external object’s custom fields and relationships, page layouts, field sets, search layouts, and buttons and links.
    - To create field mappings or add fields to an external object, click **New** on the Custom Fields & Relationships related list.
    - To assign different page layouts by user profile, click **Page Layout Assignments**.

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

#### 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.")
- [Set Up Salesforce Connect to Access Data in Another Org with the Cross-Org Adapter](https://help.salesforce.com/s/articleView?id=platform.xorg_setup.htm&release=264.0.0&type=5 "Provide users with seamless access to data in your other Salesforce orgs so that they have a complete view of the business. Setting up the cross-org adapter for Salesforce Connect is quick and easy with point-and-click tools.")
- [Set Up Salesforce Connect to Access External Data with a Custom Adapter](https://help.salesforce.com/s/articleView?id=platform.apex_adapter_setup.htm&release=264.0.0&type=5 "Let users view, search, and modify any data anywhere from within their Salesforce org.")
- [Deployment Status for Custom Objects and External Objects](https://help.salesforce.com/s/articleView?id=platform.deploying_custom_objects.htm&release=264.0.0&type=5 "Use the Deployment Status setting in the object definition to control when users can see and use the object and its associated custom tab, related lists, and reports.")