In this article

Overview

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

note

This account supports the Authorization Grant type. Learn more about OAuth Authorization flows.

This account supports the Authorization Grant type. Learn more about OAuth Authorization flows.

Prerequisites

The redirect URL must be set differently:

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

Limitations

None.

Account Settings

salesforce-oauth2-account-overview.png

Field

Field Type

Description

Label*


Default Value: N/A
ExampleSalesforceOauth2Account

String

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

Instance URL*

Default Value: N/A
Example

  • https://ap15.salesforce.com

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

String/Expression

Specify the instance URL to access the Salesforce portal.

note

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

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

Client ID*


Default Value: N/A
Exampleabcd12345xyz567

String

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

Client secret


Default Value: N/A
Example: <Encrypted>

String

Specify the value for user authentication that is obtained from the API Console.

Access token*


Default Value: N/A
Example: <Encrypted>

String

Auto-generated after authorization. 

The token that SnapLogic uses to make API requests on behalf of the user associated with the client ID.

note

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

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

Access token expiration


Default Value: N/A
Example-1

Integer

Auto-generated after authorization.

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

Header authenticated


Default Value: Deselected

Checkbox

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

OAuth2 Endpoint*


Default Value: N/A
Example:

String

Specify the endpoint to authorize the application.

OAuth2 Token*

Default Value: N/A
Example:

String

Specify the endpoint to get the access token. 

Token endpoint config

Use this field set to define custom properties for the OAuth2 token endpoint.

Token endpoint parameter


Default Value: N/A
Exampleredirect_uri

String

Specify the parameter for the token endpoint.

Token endpoint parameter value

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

String

Specify the value for the token endpoint parameter.

Authorization endpoint config

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

Authentication parameter


Default Value: N/A
Exampleredirect_uri

String

Specify the parameter for OAuth2 authentication.

Authentication parameter value


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

String

Specify the value for the OAuth2 authentication parameter.

Auto-refresh token

Default ValueDeselected 

Checkbox

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

Troubleshooting

Error

Reason

Resolution

403::Handshake denied; 401::Request requires authentication

The client is not authorized to access the server because of 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 add the following entry into the Global.properties field set:

     jcc.jvm_options = -DSFDC_SESSION_TIMEOUT_MINUTES=<NUMBER_OF_MINUTES>