Salesforce Module Basics
  • 06 Jun 2022
  • 5 Minutes to read
  • Dark
    Light
  This documentation version is deprecated, please click here for the latest version.

Salesforce Module Basics

  • Dark
    Light

Article summary

Overview

The Salesforce Module allows users to integrate Decisions with Salesforce to automate their Sales processes through pre-built Flow steps. Sales teams will be able to create and manage accounts, campaigns, contacts, sales leads, and contracts. Salesforce uses two primary API systems for developers to interact with Salesforce data called SOAP and REST. The Decisions Salesforce Module uses the REST API because the Salesforce SOAP API is unique for each customer. 

The Salesforce Module has pre-built steps that use the Salesforce REST API and OAuth for security to communicate with Salesforce.  The following data types can be found, accessed, edited, and saved using the pre-built steps.

AccountCaseLeadProduct
AssetContactOpportunityQuote
CampaignContractOpportunityProductUser
CampaignMemberIdeaPriceBookEntryTask


Prerequisites
  • Existing Salesforce Account.
  • Access to Salesforce API. 
  • Installation of Salesforce Module in Decisions. To learn how to install a module, see Installing Modules in Decisions. Upgrading to Salesforce API v48+ is preferred, the default Salesforce API version is v32.0.
  • Decisions hosted on HTTPS
  • Setting Salesforce as an OAuth Provider and Salesforce Token. To learn more, see Establishing an OAuth Provider and Creating OAuth Tokens.

SOAP

Integrating with the SOAP API is the same process for any SOAP-based WebService, to learn more see Integration with External Web Service .
For instructions on a custom WSDL, please refer to the Salesforce Developer documentation at https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/.

REST

The Decisions Salesforce Module has prebuilt steps that use the Salesforce REST API and OAuth for security to communicate with Salesforce.  The following data types can be found, accessed, edited, and saved using the prebuilt steps.

AccountCaseLeadProduct
AssetContactOpportunityQuote
CampaignContractOpportunityProductUser
CampaignMemberIdeaPriceBookEntryTask


Using the Salesforce Steps

Using any of the pre-built salesforce steps requires a set up of an OAuth Provider and OAuth token. OAuth is a standard mechanism for providing security to communicate with a web service.

To learn how to set up an OAuth Provider, see Establishing an OAuth Provider. The information to complete the required fields for Salesforce can be located by navigating to SETUP > Apps > Connected Apps > Manage Connected Apps in the Salesforce platform. Click Edit next to the desired connected app.

The Token and Authorize URLs are both "https://login.salesforce.com/services/oauth2/token" and the Callback URL is "BaseURL]/HandleTokenResponse.aspx".

In Decisions, a user must also establish an Oauth token which represents a user that will be used to run the REST API and interact with the data in Salesforce. There are two types of tokens for interacting with Salesforce: Authorization Token and Access Token.

Authorization Token

This token can be set up one time and requires communication between Decisions and Salesforce with a user signing into the Salesforce page and retrieving a token to store in Decisions. Once it is set up, the authorization token should not expire.

Access Token

The access token is created using the authorization token, but will expire periodically and needs to be refreshed. This can be done automatically in Flows using Flow steps

Example

This example will demonstrate how to configure Salesforce in Decisions using the Salesforce Module.

  1. Navigate to System > Integrations > OAuth > Providers. Right-click on SalesForce.com and select Edit Provider Settings.
    The OAUth Providers contain provider configurations. Create an application in Salesforce to customize the application definition for the Decisions installation and Salesforce then modify the provider data


  2. Enter the correct configuration parameters and enter the Default Consumer Key and Default Consumer Secret Key. Click SAVE.
  3. Navigate to System > Integrations > OAuth > Tokens. Click CREATE TOKEN. Provide a name for the Token and select Salesforce.com from the Providers dropdown list. Under OAuth Flow, click the dropdown list and select Password. Enter the User Name and Password and click Request Token. If successful the Status message will display Authorization Received. Click OK to close the dialog window.

    OptionDescriptionAccess Token StepRefresh Data Steps
    Token Name
    Desired Name of Token that will be used in Flow to selectN/AN/A
    ProviderOAuth Provider
    N/AN/A
    OAuth Flow
    Authentication CodeRequires interaction by the Resource Owner. A browser window takes the user to authenticate with the Authorization Server, after which the browser returns a HandleTokenResponse endpoint with a code. The server then exchanges the code for a token at the token endpoint. The Flow returns a token and refresh data.
    Refresh Access TokenManually needs to be reset
    PasswordThe username and password entered into the platform are sent to the Authorization Server to get a token. Since the username and password are saved, no user interaction is required, making it possible to obtain new tokens in a Decisions Flow automatically. The Flow returns a token only.
    Refresh Access Token
    Reset Password Grant Token
    Client CredentialsSimilar to a Password OAuth Flow except uses the client ID (consumer key) and client secret (consumer secret key) instead of username and password. It also does not require user interaction and returns a token only.
    Refresh Access Token
    Reset Client Credentials Token
    OIDC HybridUses parts of the OpenID Connect protocol to obtain a token. It can be configured to return a token only or a token and refresh data.
    Refresh Access Token
    Manually needs to be reset
    User NameEmail/username used to log into chosen OAuth provider
    N/AN/A
    PasswordPassword and Token (from Salesforce)
    N/AN/A


    If refresh data is provided to the user, use Authentication Code.
    Clicking CREATE TOKEN may display a warning if the BaseURLToPortal is not configured to an externally addressable IP or FQDN. This will NOT prevent token creation but will have a manual step because Salesforce will not be able to redirect traffic back to Decisions installation. This warning can safely be ignored.


Using the Steps

Using the Salesforce steps is like using any other step in Decisions. One of the properties in all Salesforce steps provided by Decisions is the Token Id.  Changing the input mapping to Constant will display a dropdown list of tokens as shown below.


Mapping Data with Custom Fields

The Salesforce data types that are provided by Decisions have simple properties that users can map data into or specify. For custom fields, there is a property called CustomFields which is an array of custom fields.

In the screenshot below, the Mapping Editor for a Create Case step is opened. The CustomFields property is set to Build Array which lets the workflow Designer create a new custom field array to send to Salesforce. The Field Name is empty. In Salesforce, a custom field can be used for the value by inputting the Salesforce API name for the custom field.


Finding Salesforce API Field Name

The Develop Menu in Salesforce lists all data types. Selecting a data type will display the custom fields with the API name of the field. Below, the Decisions Folder Id field label is given the Salesforce API Name of Decisions_Folder_Id__c. This will be the name to use in Decisions when editing or setting the custom field.

Below is the completed mapping in the Decisions Mapping Editor for the custom field.


Was this article helpful?