Newer Version Available
ExternalDataSource
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExternalDataSource components are stored in the dataSources directory of the corresponding package directory. ExternalDataSource components have the suffix .dataSource, and the prefix is the name of the external data source.
Version
ExternalDataSource components are available in API version 28.0 and later.
Fields
| Field Name | Field Type | Description |
|---|---|---|
| apiKey | string | Reserved for future use. |
| authProvider | string | The authentication provider that is represented by the AuthProvider component. |
| certificate | string | If you specify a certificate, your Salesforce org supplies it when establishing each two-way SSL connection with the external system. The certificate is used for digital signatures, which verify that requests are coming from your org. |
| customConfiguration | string | A string of configuration parameters that are specific to the external data source’s type. |
| endpoint | string |
The URL of the
external system, or if that URL is defined in a named
credential, the named credential URL.
A named
credential URL contains the scheme callout:, the name of
the named credential, and an optional path. For example: callout:My_Named_Credential/some_path. Corresponds to URL in the user interface. |
| isWritable | boolean |
Allows users to create, update, or delete external object records for this data source from within Salesforce. By default, external objects are read-only. Corresponds to Allow Create, Edit, and Delete in the user interface. Writable external objects aren’t supported with the Salesforce adapter for Lightning Connect. |
| label | string |
A user-friendly name for the
external data source. The label is displayed in the Salesforce user
interface, such as in list views. Examples include Acme Team Marketing Site, or Acme SharePoint. |
| oauthRefreshToken | string | The OAuth refresh token. Used to obtain new access tokens for an end user when old tokens expire. |
| oauthScope | string | Specifies the scope of permissions to request for the access token. Corresponds to Scope in the user interface. |
| oauthToken | string | The access token issued by the external system. |
| password | string | The password to be used by your org to access the external system. Ensure that the credentials you use have adequate privileges to access the external system, perform searches, return data, and return information about the external system’s metadata. |
| principalType | ExternalPrincipalType (enumeration of type string) |
Determines whether
you're using one set or multiple sets of credentials to access
the external system. Corresponds to Identity Type in the user interface. The valid values are:
|
| protocol | AuthenticationProtocol (enumeration of type string) | The authentication protocol that’s required to access the external system. The
valid values are:
For cloud-based Files Connect external systems, select Oauth 2.0. For on-premises systems, select Password Authentication. For Simple URL data sources, select No Authentication. |
| repository | string | Used for SharePoint Online. If metadata is not accessible, use this field to create tables and default table fields. |
| type | ExternalDataSourceType (enumeration of type string) | For Lightning Connect, specifies the adapter that connects to the external system. The valid values are:
For Files Connect, specifies the data source type. The valid values are:
If Chatter is enabled, you can also specify SimpleURL to access data hosted on a web server that doesn’t require authentication. The Identity and Wrapper types are reserved for future use. |
| username | string | The username to be used by your org to access the external system. Ensure that the credentials you use have adequate privileges to access the external system, perform searches, return data, and return information about the external system’s metadata. |
| version | string | Reserved for future use. |
customConfiguration for Lightning Connect—Salesforce Adapter
1{"apiVersion":"32.0","environment":"CUSTOM",
2"searchEnabled":"true","timeout":"120"}- apiVersion—API Version
- environment—Connect to
- searchEnabled—Include in Salesforce Searches
- timeout—Connection Timeout
customConfiguration for Lightning Connect—OData 2.0 or 4.0 Adapter
1{"compatibility":"DEFAULT","noIdMapping":"false",
2"inlineCountEnabled":"true","searchEnabled":"true",
3"format":"ATOM","requestCompression":"false",
4"pagination":"SERVER","timeout":"120"}- compatibility—Special Compatibility
- format—Format
- inlineCountEnabled—Request Row Counts
- noIdMapping—High Data Volume
- pagination—Server Driven Pagination
- requestCompression—Compress Requests
- searchEnabled—Include in Salesforce Searches
- searchFunc—Custom Query Option for Salesforce Search
- timeout—Connection Timeout
customConfiguration for Lightning Connect—Custom Adapter
1{"noIdMapping":"false"}The noIdMapping parameter corresponds to the High Data Volume field in the user interface.
Declarative Metadata Sample Definition
1<?xml version="1.0" encoding="UTF-8"?>
2<ExternalDataSource xmlns="http://soap.sforce.com/2006/04/metadata">
3 <authProvider>FacebookAuth</authProvider>
4 <customConfiguration>{"compatibility":"DEFAULT",
5 "noIdMapping":"false","inlineCountEnabled":"true",
6 "searchEnabled":"true","format":"ATOM",
7 "requestCompression":"false","pagination":"SERVER",
8 "timeout":"120"}</customConfiguration>
9 <endpoint>http://myappname.herokuapp.com/DataHub.svc</endpoint>
10 <label>DataHub</label>
11 <principalType>NamedUser</principalType>
12 <protocol>Oauth</protocol>
13 <type>OData</type>
14</ExternalDataSource>