Salesforce OAuth2 Account

In this article

Overview

You can use this account type to connect Salesforce Snaps with data sources that use Salesforce OAuth account.

Prerequisites

  • A Salesforce account.

  • An OAuth-connected App in Salesforce with Redirect URL (also known as call-back domain).

    The redirect URL must be set differently:

    https://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce

Limitations

None.

Account Settings

Field
Field Type
Description
Label*String

Specify a unique name for the account. Preferably update the name if your project has multiple accounts of the same type.

Default Value: N/A
ExampleSalesforceOauth2Account

Instance URL*String

Specify the instance URL to be used to access the Salesforce portal.

Salesforce now supports Enhanced Domains: https://MyDomainName.my.salesforce.com

Learn more about Salesforce Enhanced Domains.

Default Value: N/A
Example

  • https://ap15.salesforce.com

  • https://MyDomainName.my.salesforce.com

Client ID*String

Specify the identification for the client that you obtain from the API Console.

Default Value: N/A
Exampleabcd12345xyz567

Client secretString

Specify the value for user authentication that you obtain from the API Console. Client secret is not needed for clients registered as Android, iOS, or Chrome applications.

Default Value: N/A
Example: N/A

Access token*String

Auto-generated after authorization. The token that SnapLogic uses to make API requests on behalf of the user associated with the client ID.

Access tokens have limited lifetimes; you must get a new access token after it expires.

Default Value: N/A
Example: N/A

Access token expirationInteger

Auto-generated after authorization.

If there is no date of expiration, -1 is the default value. In such cases, the access token is refreshed on a regular interval, say every hour.

Default Value: N/A
Example-1

Header authenticatedCheckbox

Select this checkbox if the endpoint uses the bearer header authentication.

Default Value: Deselected
Example: N/A

OAuth2 Endpoint*String

Specify the endpoint to authorize the application.

Default Value: N/A
Example:

  • For the production environment: 
    https://login.salesforce.com/services/oauth2/authorize
  • For sandbox:
    https://test.salesforce.com/services/oauth2/authorize
OAuth2 Token*String

Specify the endpoint to get the access token. 

Default Value: N/A
Example:

  • For the production environment
    https://login.salesforce.com/services/oauth2/token
  • For sandbox:
    https://test.salesforce.com/services/oauth2/token
Token endpoint configUse this field set to define custom properties for the OAuth2 token endpoint.

Token endpoint parameterString

Specify the parameter for the token endpoint.

Default Value: N/A
Exampleredirect_uri

Token endpoint parameter valueString

Specify the value for the token endpoint parameter.

Default Value: N/A
Examplehttps://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce

Auth endpoint configUse this field set to define custom properties for the OAuth2 authentication endpoint.


Authentication parameterString

Specify the parameter for OAuth2 authentication.

Default Value: N/A
Exampleredirect_uri

Authentication parameter valueString

Specify the value for the OAuth2 authentication parameter.

Default Value: N/A
Examplehttps://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce

Auto-refresh tokenCheckbox

Select this checkbox to enable auto-refresh of the access token before it expires.

Default Value: Deselected 

Troubleshooting

Error

Reason

Resolution
403::Handshake denied; 401::Request requires authenticationClient is not authorized to access the server due to either a domain mismatch or authentication failure.Configure the Enhanced Domain in the Instance URL property to ensure authentication for successful access to the server.

Access Token Timeout Settings for Salesforce

The expiration timeout (or session timeout) in Salesforce is 14 minutes by default. To change this value:

  1. Navigate to SnapLogic Manager > Asset Search > Snaplexes and click the Snaplex on which you want to execute the Pipeline containing the Salesforce Snap. The Update Snaplex popup window appears.
  2. Click Node Properties and, at the bottom of the tab that appears, add the following entry into the Global.properties fieldset:

     
    jcc.jvm_options = -DSFDC_SESSION_TIMEOUT_MINUTES=<NUMBER_OF_MINUTES>

Example

For information about how to use this account type, see Salesforce Bulk Create.