Salesforce

By default, the connector uses the production environments. Set UseSandbox to true to use a Salesforce sandbox account. If you are using user/password authentication, ensure that you specify a sandbox user name in User.

1 Salesforce Authentication

There are several authentication methods available for connecting to Salesforce including login credentials, SSO, and OAuth.

1.1 Authenticating with a Login and Token

Set the AuthScheme to Basic and set the User and Password to your login credentials. Additionally, set the SecurityToken. By default, the SecurityToken is required, but you can make it optional by allowing a range of trusted IP addresses.

To disable the security token:

  1. Log in to Salesforce and enter Network Access in the Quick Find box in the setup section.

  2. Add your IP address to the list of trusted IP addresses.

To obtain the security token:

  1. Open the personal information page on Salesforce.com.

  2. Click the link to reset your security token. The token will be emailed to you.

  3. Specify the security token in the SecurityToken connection property or append it to the Password.

1.2 Authenticating with OAuth

Set the AuthScheme to OAuth. If you do not have access to the user name and password or do not want to require them, use the OAuth user consent flow.

To obtain the OAuth client credentials, consumer key, and consumer secret:

  1. Log in to Salesforce.com.

  2. From Setup, enter Apps in the Quick Find box and then click the link to create an app. In the Connected Apps section of the resulting page, click New.

  3. Enter a name to be displayed to users when they log in to grant permissions to your app, along with a contact Email address.

  4. Click Enable OAuth Settings and enter a value in the Callback URL box. If you are making a desktop application, set the Callback URL to http://localhost:33333 or a different port number of your choice. If you are making a web application, set the Callback URL to a page on your Web app you want the user to be returned to after they have authorized your application.

  5. Select the scope of permissions that your app should request from the user.

  6. Click your app name to open a page with information about your app. The OAuth client credentials, the consumer key, and consumer secret are displayed.

After setting the following connection properties, you are ready to connect:

  • OAuthClientId: Set to the consumer key in your app settings.

  • OAuthClientSecret: Set to the consumer secret in your app settings.

  • CallbackURL: Set to the callback URL in your app settings.

  • InitiateOAuth: Set to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken connection property.

When you connect, the provider opens the OAuth endpoint in your default browser. Log in and grant permissions to the application.

1.3 Authenticating with OAuthJWT Certificate Authentication

Set the AuthScheme to OAuthJWT.

1.3.1 Authenticating with OAuthJWT

To obtain the OAuthJWT consumer key:

  1. Log in to Salesforce.com.

  2. From Setup, enter Apps in the Quick Find box and then click the link to create an app. In the Connected Apps section of the resulting page, click New.

  3. Enter a name to be displayed to users when they log in to grant permissions to your app, along with a contact Email address.

  4. Click Enable OAuth Settings and enter a value in the Callback URL box. Set this value only to create the Connected App as it is required. It will not actually be needed for this type of authentication. The Callback URL is in the format:

http://localhost:8019/src/oauthCallback.rst

  1. Enable Use digital signatures.

  2. Upload your certificate.

  3. Select the scope of permissions that your app should request from the user.

  4. Click your app name to open a page with information about your app. The OAuth consumer key is displayed.

After creating your OAuth Application, set the following connection properties:

  • AuthScheme: Set to OAuthJWT.

  • InitiateOAuth: Set to GETANDREFRESH.

  • OAuthJWTCert: Set this to the JWT Certificate store.

  • OAuthJWTCertType: Set this to the type of the certificate store specified by OAuthJWTCert.

  • OAuthJWTCertPassword: Set this to the Password of the JWT Certificate store.

  • OAuthJWTIssuer: Set this to the OAuth Client ID.

  • OAuthJWTSubject: Set this to the username (email address) to the permitteed User Profile configured in the OAuth Connected App.

Note: This flow never issues a refresh token.

1.4 Authenticating with AzureAD

Set the AuthScheme to AzureAD. The following connection properties are used to connect to AzureAD:

  • SSOExchangeUrl: The Salesforce OAuth 2.0 token endpoint for the identity provider. This can be found in the Salesforce account settings by navigating to Administration Setup > Security Controls > SAML Single Sign-On Settings and then choosing the desired organization.

Note that this configuration requires two AAD applications: the "Salesforce" application used for single sign-on, and a separate "connector" application with user_impersonation permission on the "Salesforce" application. You must also specify the OAuth connection properties:

  • OAuthClientId: The application ID of the connector application, listed in the Overview section of the app registration.

  • OAuthClientSecret: The client secret value of the connector application. Azure AD displays this when you create a new client secret.

The following SSOProperties are used to authenticate to AzureAD:

  • Resource: The application ID URI of the Salesforce application, listed in the Overview section of the app registration. In most cases this is the URL of your custom Salesforce domain.

  • AzureTenant: The ID of the Azure AD tenant where the applications are registered.

1.5 Authenticating with Okta

Set the AuthScheme to Okta. The following connection properties are used to connect to Okta:

  • User: Set this to the Okta user.

  • Password: Set this to Okta password for the user.

  • SSOLoginUrl: Set this to the login url used by the SSO provider.

  • SSOExchangeUrl: The Salesforce OAuth 2.0 token endpoint for the identity provider. This can be found in the Salesforce account settings by navigating to Administration Setup > Security Controls > SAML Single Sign-On Settings and then choosing the desired organization.

The following SSOProperties are needed to authenticate to Okta:

  • APIToken (optional): Set this to the API Token that the customer created from the Okta org. It should be used when authenticating a user via a trusted application or proxy that overrides OKTA client request context.

1.5.1 Authenticating with OneLogin

Set the AuthScheme to OneLogin. The following connection properties are used to connect to OneLogin:

  • User: Set this to the OneLogin user.

  • Password: Set this to OneLogin password for the user.

  • SSOExchangeUrl: The Salesforce OAuth 2.0 token endpoint for the identity provider. This can be found in the Salesforce account settings by navigating to Administration Setup > Security Controls > SAML Single Sign-On Settings and then choosing the desired organization.

The following SSOProperties are needed to authenticate to OneLogin:

  • OAuthClientId: Set to the OAuthClientId, which can be obtained by selecting Developers > API Credentials > Credential > ClientId.

  • OAuthClientSecret: Set to the OAuthClientSecret, which can be obtained by selecting Developers > API Credentials > Credential > ClientSecret.

  • Subdomain: Set to the subdomain of the OneLogin user accessing the SSO app. For example, if your OneLogin URL is splinkly.onelogin.com, enter splinkly as the subdomain value.

  • AppId: Set to the ID of the SSO app.

  • Region (optional): Set to the region your OneLogin account resides in. The OneLogin API operates in multiple regions and this property is used to find the correct domain. It can take one of the following values:

    • US (default)

    • EU

1.6 Authenticating with PingFederate

Set the AuthScheme to PingFederate. The following connection properties need to be set:

  • User: Set this to the PingFederate user.

  • Password: Set this to PingFederate password for the user.

  • SSOLoginUrl: Set this to the login url used by the SSO provider.

  • SSOExchangeUrl: The Salesforce OAuth 2.0 token endpoint for the identity provider. This can be found in the Salesforce account settings by navigating to Administration Setup > Security Controls > SAML Single Sign-On Settings and then choosing the desired organization.

The following SSOProperties are needed to authenticate to PingFederate:

  • AuthScheme (optional): The authorization scheme to be used for the IdP endpoint. The allowed values for this IdP are None or Basic.

Additionally, you can use the following SSOProperties to configure mutual SSL authentication for SSOLoginUrl, the WS-Trust STS endpoint:

  • SSLClientCert

  • SSLClientCertType

  • SSLClientCertSubject

  • SSLClientCertPassword

1.7 Authenticating with ADFS

Set the AuthScheme to ADFS. The following connection properties need to be set:

  • User: Set this to the ADFS user.

  • Password: Set this to ADFS password for the user.

  • SSOLoginUrl: Set this to the login url used by the SSO provider.

  • SSOExchangeUrl: The Salesforce OAuth 2.0 token endpoint for the identity provider. This can be found in the Salesforce account settings by navigating to Administration Setup > Security Controls > SAML Single Sign-On Settings and then choosing the desired organization.

The following SSOProperties are needed to authenticate to ADFS:

  • RelyingParty: This attribute is the value of the Relying Party Identifier on the ADFS server for Salesforce.

1.7.1 ADFS Integrated

The ADFS Integrated flow indicates you are connecting with the currently logged in Windows user credentials. To use the ADFS Integrated flow, simply do not specify the User and Password, but otherwise follow the same steps in the ADFS guide above.

1.8 Connection Properties

The following are the connection properties for Salesforce. Not all properties are required. Enter only property values pertaining to your Salesforce instance. Several properties will be automatically initialized with the appRules defaults.

If a connection property value has special characters such as semicolons, single quotes, spaces, etc., then you must quote the value using either single or double quotes.

Property

Description

Authentication

AuthScheme

The type of authentication to use when connecting to Salesforce.

Password

The password used to authenticate the user.

SecurityToken

The security token used to authenticate access to the Salesforce account.

User

The Salesforce user account used to authenticate.

UseSandbox

A boolean determining if the connection should be made to a Salesforce sandbox account.

BulkAPI

BulkAPIConcurrencyMode

The concurrency mode for processing bulk rows with BULK API v1.

BulkPageSize

The number of records to retrieve before returning results to the user when UseBulkAPI=true.

BulkPollingInterval

The time interval in milliseconds between requests that check the availability of the bulk query response. The default value is 500 ms.

BulkQueryTimeout

The timeout in minutes for which the provider will wait for a bulk query response. The default value is 25 minutes.

UseBulkAPI

Whether to use the synchronous SOAP API or the asynchronous Bulk API.

WaitForBulkResults

Whether to wait for bulk results when using the asynchronous API. Only active when UseBulkAPI is true.

Caching

CacheTolerance

The tolerance for stale data in the cache specified in seconds when using AutoCache .

Connection

APIVersion

The version of the Salesforce API used.

LoginURL

URL to the Salesforce server used for logging in.

Firewall

FirewallPassword

A password used to authenticate to a proxy-based firewall.

FirewallPort

The TCP port for a proxy-based firewall.

FirewallServer

The name or IP address of a proxy-based firewall.

FirewallType

The protocol used by a proxy-based firewall.

FirewallUser

The user name to use to authenticate with a proxy-based firewall.

JWT OAuth

OAuthJWTCert

The JWT Certificate store.

OAuthJWTCertPassword

The password for the OAuth JWT certificate.

OAuthJWTCertSubject

The subject of the OAuth JWT certificate.

OAuthJWTCertType

The type of key store containing the JWT Certificate.

OAuthJWTIssuer

The issuer of the Java Web Token.

OAuthJWTSubject

The user subject for which the application is requesting delegated access.

Logging

Logfile

A filepath which designates the name and location of the log file.

LogModules

Core modules to be included in the log file.

MaxLogFileCount

A string specifying the maximum file count of log files.

MaxLogFileSize

A string specifying the maximum size in bytes for a log file (for example, 10 MB).

Verbosity

The verbosity level that determines the amount of detail included in the log file.

Misc

AllOrNone

A boolean indicating if you would like all inserts, updates, or deletes to fail in a request if even a single record fails.

ArchiveMode

Boolean indicating whether to include deleted and archived records with a standard SELECT query.

ConnectionLifeTime

The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed.

ConnectionString

***

ContinueOnAlterException

Whether you want to continue after a ALTER statement has failed.

FilterScope

Optional scope to limit the records returned from queries.

IncludeMetadataDescription

Set this property to a value other than NONE if you want to retrieve the descriptions for columns, tables or both of them from the Metadata API.

MaxRows

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.

Other

These hidden properties are used only in specific use cases.

PoolIdleTimeout

The allowed idle time for a connection before it is closed.

PoolMaxSize

The maximum connections in the pool.

PoolMinSize

The minimum number of connections in the pool.

PoolWaitTime

The max seconds to wait for an available connection.

PseudoColumns

This property indicates whether or not to include pseudo columns as columns to the table.

Readonly

You can use this property to enforce read-only access to Salesforce from the provider.

ServerSideAggregation

A boolean determining if server side aggregation should be used.

SessionTimeout

The time in minutes for which a Salesforce login session is reused.

SkipFormulaFields

Set to true if formula fields should be skipped when listing columns.

SupportEnhancedSQL

This property enhances SQL functionality beyond what can be supported through the API directly, by enabling in-memory client-side processing.

Timeout

The value in seconds until the timeout error is thrown, canceling the operation.

UseConnectionPooling

This property enables connection pooling.

UseDisplayNames

Boolean determining if the display names for the columns should be used instead of the API names.

OAuth

CallbackURL

The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings.

InitiateOAuth

Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.

OAuthAccessToken

The access token for connecting using OAuth.

OAuthAccessTokenURL

The URL to retrieve the OAuth access token from.

OAuthAuthorizationURL

The authorization URL for the OAuth service.

OAuthClientId

The client ID assigned when you register your application with an OAuth authorization server.

OAuthClientSecret

The client secret assigned when you register your application with an OAuth authorization server.

OAuthExpiresIn

The lifetime in seconds of the OAuth AccessToken.

OAuthRefreshToken

The OAuth refresh token for the corresponding OAuth access token.

OAuthServerURL

The server URL to use if authenticating with OAuth.

OAuthSettingsLocation

The location of the settings file where OAuth values are saved when InitiateOAuth is set to GETANDREFRESH or REFRESH. Alternatively, this can be held in memory by specifying a value starting with memory://.

OAuthTokenTimestamp

The Unix epoch timestamp in milliseconds when the current Access Token was created.

OAuthVerifier

The verifier code returned from the OAuth authorization URL.

Proxy

ProxyAuthScheme

The authentication type to use to authenticate to the ProxyServer proxy.

ProxyAutoDetect

This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

ProxyExceptions

A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .

ProxyPassword

A password to be used to authenticate to the ProxyServer proxy.

ProxyPort

The TCP port the ProxyServer proxy is running on.

ProxyServer

The hostname or IP address of a proxy to route HTTP traffic through.

ProxySSLType

The SSL type to use when connecting to the ProxyServer proxy.

ProxyUser

A user name to be used to authenticate to the ProxyServer proxy.

Schema

BrowsableSchemas

This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

SSL

SSLServerCert

The certificate to be accepted from the server when connecting using TLS/SSL.

SSO

SSOExchangeUrl

The url used for consuming the SAML response and exchanging it with Salesforce specific credentials.

SSOLoginURL

The identity provider's login URL.

SSOProperties

Additional properties required to connect to the identity provider in a semicolon-separated list.

Last updated