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).
Note |
---|
The redirect URL must be set differently: https://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce
|
Limitations
None.
Troubleshooting
...
Error | Reason | Resolution |
---|
403::Handshake denied; 401::Request requires authentication | Client 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. |
Account Settings
Label* | String | Specify the name for the account. Preferably update the name if your project has more than one account of the same type. Default Value: N/A Example: SalesforceOauth2Account |
Instance URL* | String | Specify the instance URL to be used to access the Salesforce portal. Default Value: N/A Example: |
Client ID* | String | Specify the identification for the client that you obtain from the API Console. Default Value: N/A Example: abcd12345xyz567 |
Client secret | String | 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 expiration | Integer | Auto-generated after authorization. Note |
---|
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 authenticated | Checkbox | Select this checkbox if the endpoint uses 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 config | Use this field set to define custom properties for the OAuth2 token endpoint.
|
Token endpoint parameter | String | Specify the parameter for the token endpoint. Default Value: N/A Example: redirect_uri |
Token endpoint parameter value | String | Specify the value for the token endpoint parameter. Default Value: N/A Example: https://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce |
Auth endpoint config | Use this field set to define custom properties for the OAuth2 authentication endpoint.
|
Authentication parameter | String | Specify the parameter for OAuth2 authentication. Default Value: N/A Example: redirect_uri |
Authentication parameter value | String | Specify the value for the OAuth2 authentication parameter. Default Value: N/A Example: https://elastic.snaplogic.com/api/1/rest/admin/oauth2callback/salesforce |
Auto-refresh token | Checkbox | Select this checkbox to enable auto-refresh of the access token before it expires. Default Value: Deselected |
Access Token Timeout Settings for Salesforce
The expiration timeout (or session timeout) in Salesforce is 14 minutes by default. To change this value:
- 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.
Click Node Properties and, at the bottom of the tab that appears, add the following entry into the Global.properties fieldset:
Code Block |
---|
jcc.jvm_options = -DSFDC_SESSION_TIMEOUT_MINUTES=<NUMBER_OF_MINUTES> |
Example
For information about how to use this account type, see Salesforce Bulk Create.