SKIP AHEAD TO
Setting up your Salesforce integration
Using the Salesforce block
Find Record(s)
Update Record
File Upload
Checkbox’s Salesforce integration allows you to:
-
Automate the retrieval of data from Salesforce for usage in your Checkbox apps.
-
Automate the updating of Salesforce records based on workflows in your Checkbox apps.
This allows you to create a seamless experience for your end users, where they can start an assessment with pre-populated Salesforce data or progress a Checkbox assessment and have their activity automatically updated in Salesforce.
Setting up your Salesforce integration
To set up Salesforce integration, you will need to have a Salesforce account and a Checkbox account. Any Salesforce actions automated in Checkbox will be attributed to this Salesforce account. Multiple Salesforce accounts can be connected from a single Checkbox account, enabling Checkbox apps or blocks to use different Salesforce accounts.
OPTIONAL: Some of our customers setup a dedicated Salesforce account for their Checkbox integration. In addition, many of our customers also utilise a sandbox Salesforce account for testing purposes.
Salesforce setup
-
Click on your name, and select the ‘Account Settings’ menu item.
-
Click on ‘Integrations’ in the left sidebar.
-
Click on the Salesforce card to bring up the configuration settings.
-
Click on the ‘Add account’ button.
-
You will be prompted to choose a Salesforce environment. For most users, this will be ‘Production’. If you are using a sandbox Salesforce account, select ‘Sandbox’.
-
You will be redirected to Salesforce and prompted to "Allow" access to your Salesforce account; click the 'Allow' button (Note: If you are not logged in, you will be prompted to log in).
-
You will be redirected back to Checkbox, and your Salesforce account will be connected.
-
[OPTIONAL] Once your Salesforce account has been connected you can rename the connection as well as select a default connection.
Production vs Sandbox Salesforce accounts
Checkbox supports both production and sandbox Salesforce accounts. Connecting to a sandbox Salesforce account allows you to test your Salesforce integration without affecting your production Salesforce account. Checkbox supports multiple Salesforce account connections so that you can connect to both production and sandbox Salesforce accounts. You can then select which Salesforce account to use for each Checkbox block.
Permissions
Checkbox requires the following permissions to be granted by the Salesforce user account that is used to connect to Salesforce:
-
Access the identity URL service
-
Manage user data via APIs
-
Manage user data via Web browsers
-
Access Connect REST API resources
-
Access Visualforce applications
-
Access unique user identifiers
-
Access custom permissions
-
Access Analytics REST API resources
-
Access Analytics REST API Charts Geodata resources
-
Manage hub connections
-
Manage Pardot services
-
Access Lightning applications
-
Access content resources
-
Manage Salesforce CDP Ingestion API data
-
Manage Salesforce CDP profile data
-
Perform ANSI SQL queries on Salesforce CDP data
-
Access chatbot services
-
Perform segmentation on Salesforce CDP data
-
Perform requests at any time
Using the Salesforce block
Object agnostic approach
Checkbox’s Salesforce integration supports both standard and custom Salesforce objects. Our approach is to be "object agnostic", allowing authors to easily create workflows around the objects they use (which may be unique to their Salesforce environment). In this vein, all the functions are built around records that the user assigns to an object.
API limits
Salesforce enforces a number of API request limits in 2 ways:
-
“Concurrent” API requests
-
Total API requests within a 24-hour period
Specific details can be found in the Salesforce documentation.
If you run into these limits, there are a couple of options:
-
Upgrading to a Salesforce plan with more users and higher request limits will stop this error from occurring.
-
Reviewing your Checkbox app to reduce the number of API requests made. For example, you could reduce the number of Salesforce blocks used in your app.
Find Record(s)
The Find Record(s) function allows you to search for records in Salesforce and return them as variables to Checkbox. You can search for a single record or multiple records. The block will return the record(s) that match the search criteria.
-
Drag the Salesforce block into your studio.
-
Select the Salesforce account you would like to use. This account will be used when you click "Preview".
-
Select the "Find Record(s)" function.
-
Select Salesforce object you would like to search (e.g. Account, Lead, etc.).
-
Enter conditions that you want the retrieved records to match. Checkbox makes it easier for you to enter conditions by supporting Checkbox variables and autocomplete. You can add multiple conditions by typing AND or OR after each condition. For more advanced conditions, please refer to Salesforce's SOQL condition expression documentation.
-
Select whether you would like a single or multiple records to be returned from Salesforce. If you select "Single Record", the block will return the first record that matches the search criteria. If you choose "Multiple Records", the block will return all records that match the search criteria in list variables.
-
Choose which fields on your Salesforce object you want to return to Checkbox. Each of these fields can be mapped to a variable in Checkbox.
Example Conditions
Exact match
Checkbox supports both hard-coded values and Checkbox variables in the Conditions input on the Salesforce block.
For example, using a hard-coded value:
Id = '0019D00000QGxtFQAT'
or using a Checkbox variable:
Id = {{TXT1}}
Wildcard search
Salesforce Object Query Language (SOQL) supports wildcard and matching partial text strings through the LIKE operator.
As an example if you want to implement end user search of Accounts in Salesforce based on Name:
-
- Add a Text Input to your FORM block
- Put in COMP block:
- Reference the newly created COMP variable in your condition with the LIKE operator:
Using the "NOT" operator
SOQL expects the NOT
expression to be wrapped in parentheses for multiple conditions. Single condition will work fine without parentheses. See more details here.
As an example, this condition will work Title = 'QA Lead' AND (NOT Name = 'AAAA')
Some examples:
-
Single Condition:
-
Company = 'Company A'
-
NOT Company = 'Company A'
-
NOT Company != 'Company A'
-
-
Multiple Condition
-
Title = 'QA Lead' AND NOT Name = 'AAAA'
-
Title = 'QA Lead' AND (NOT Name = 'AAAA')
-
NOT Company = 'Company A' AND (NOT Title = 'QA Lead')
-
NOT (Company = 'Company A') AND (NOT Title = 'QA Lead')
-
Company = 'Company A' AND Title NOT IN ('QA Lead', 'B')
(NOT IN) -
Company = 'Company A' AND NOT Title IN ('QA Lead', 'B')
(NOT…IN) -
Company = 'Company A' AND (NOT Title IN ('QA Lead', 'B'))
(NOT…IN)
-
Multiple conditions
Multiple conditions are also supported via the AND or OR operators:
Example Usage
-
Finding Salesforce records based on end user input: As Checkbox variables are supported in "Find Record(s)" conditions, you can dynamically retrieve Salesforce records based on user input captured from a FORM block. Next, select "Multiple Records" and return the Salesforce fields you are interested in.
If you would like the user to select from the multiple Salesforce records, you can use a FORM block to capture their choice of a certain field (e.g. Name) and map it to another field (e.g. Id) via the FILTER block. -
Avoid re-entering data by kicking off a Checkbox app from Salesforce: Create a button in Salesforce that makes a request to Checkbox's Create Assessment REST API that passes a record ID. This record ID can then be used with "Find Record(s)" to return the data for that specific record from Salesforce.
Update Record
The Update Record function allows you to update a record in Salesforce based on a record ID. You can use the Find Record(s) block to find the record ID of the record you would like to update.
-
Drag the Salesforce block into your studio.
-
Select the Salesforce account you would like to use. This account will be used when you click "Preview".
-
Select the "Update Record" function.
-
Select Salesforce object you would like to update (e.g. Account, Lead, etc.).
-
Enter the record ID of the record you would like to update. This field also accepts Checkbox variables. You can use the Find Record(s) block to find the record ID of the record you would like to update.
-
Choose which fields on your Salesforce object you would like to update, along with the new value of each field. These fields also accept Checkbox variables.
Example Usage
-
Updating the status of a Salesforce record: Once the record ID of a Salesforce record is available in your Checkbox app (either via user input, API request, or the Find Record(s) function), any field on the Salesforce record can be updated (including status (or picklist) fields).
-
Updating a Salesforce record based on user search:
File Upload
- Drag the Salesforce block into your studio.
- Select the Salesforce account you would like to use. This account will be used when you click "Preview".
- Select the "Upload File" function.
- Select Salesforce object you would like to upload the file to (e.g. Account, Lead, etc.).
- Enter the record ID of the record you would like to upload the file to. This field also accepts Checkbox variables. You can use the Find Record(s) block to find the record ID of the record you would like to upload the file to.
- Select the Checkbox variable that contains the file you would like to upload.
- Enter a title for the file you would like to upload. This defaults to the file name
- Enter a description for the file you would like to upload.
Example Usage
- Uploading a document generated in Checkbox to Salesforce.
Create Record
The Create Record function allows you to create a record in Salesforce based on data collected in Checkbox.
-
Drag the Salesforce block into your studio.
-
Select the Salesforce account you would like to use. This account will be used when you click "Preview".
-
Select the "Create Record" function.
-
Select Salesforce object you would like to create (e.g. Account, Lead, etc.).
-
Enter the fields to set on the new record. Please ensure you have added all required fields on the Salesforce object.
-
Choose which fields on your newly created Salesforce object you would like to return to Checkbox studio and map them to a new checkbox variable .
Example Usage
-
Create new Account in Salesforce based on new FORM submissions in Checkbox.