Salesforce Bulk Query Activity¶
A Salesforce Bulk Query activity queries a large number of records from a Salesforce endpoint and is intended to be used as a source to provide data to an operation. After configuring a Salesforce connection, you can configure as many Salesforce activities as you like for each Salesforce connection.
The Bulk Query activity is faster and scales better than a non-bulk Salesforce Query activity, but should be used only if you do not need to use a transformation to change data prior to reaching its target. (Salesforce bulk activities cannot be used with transformations.)
The Salesforce connector supports Salesforce Bulk API 2.0. For more information, see Prerequisites and Supported API Versions.
Create a Salesforce Activity¶
An instance of an activity is created from a connection using an activity type.
To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Creating an Activity Instance in Component Reuse.
An existing activity can be edited from these locations:
- The design canvas (see Component Actions Menu in Design Canvas).
- The project pane's Components tab (see Component Actions Menu in Project Pane Components Tab).
Configure a Salesforce Bulk Query Activity¶
Follow these steps to configure a Salesforce Bulk Query activity:
- Step 1: Enter a Name and Select Objects Provide a name for the activity and select the object(s) to be bulk queried.
- Step 2: Select Fields and Create Conditions Create the query statement, either automatically by selecting fields and specifying conditions, or manually by directly entering a query statement. You must test the query to ensure it is valid before you proceed.
Step 1: Enter a Name and Select Objects¶
In this step, you provide a name for the activity and select the object(s) to be bulk queried.
Name: Enter a name to use to identify the Salesforce Bulk Query activity. The name must be unique for each Salesforce Bulk Query activity and must not contain forward slashes (
/) or colons (
Select Object(s): This section displays objects available in the Salesforce connection:
View: Use the dropdown to filter the list of objects that support Bulk Query to Standard, Custom, or All Objects. By default, all objects are shown.
Search: Enter any part of the object name into the search box to filter the list of objects. The search is not case-sensitive.
Refresh: Click the refresh icon to reload objects from the Salesforce endpoint. This may be useful if you have recently added objects to Salesforce.
Select Object(s): Click an object from the list of objects to select it. Only one object can be selected.
If the list does not populate with available objects, the Salesforce connection may not be successful. Ensure you are connected by reopening the connection and retesting the credentials.
Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.
Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.
Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
Step 2: Select Fields and Create Conditions¶
In this step, you create the query statement, either automatically by selecting fields and specifying conditions, or manually by directly entering a query statement. You must test the query to ensure it is valid before you proceed to the next step.
Fields with a variable icon support the use of global variables, project variables, and Jitterbit variables. Begin either by typing an open square bracket
[ into the field or by clicking the variable icon to display a list of the existing variables to choose from.
- Select Fields & Create Conditions: This section displays fields for the selected object(s) that are available in the Salesforce endpoint. Objects that were selected in the previous step are shown in bold.
- Search: Enter any part of the field name into the search box to filter the list of fields. The search is not case-sensitive. The listed results are filtered in real time with each keystroke.
- Select All: When using the search box to filter, you can use this checkbox to select all visible fields at once (objects and collapsed fields are not selected).
- Select Fields: Select the checkboxes of the fields you want included in the query to have them automatically added to the SOQL statement on the right. Unless using the search box, you can also select an entire object to select all of its fields at once.
- SOQL Statement: As you select fields, the query statement in the upper right text box automatically populates with the object and the selected fields. To use a custom SOQL statement, make edits within this text box as necessary. For reference on how to structure a custom SOQL statement, see Salesforce's documentation on SOQL SELECT Syntax.
Test Query: Click this button to validate whether the query is valid. If the query is valid, a sample of 10 records retrieved from the query is displayed in a table similar to that shown below. If the query is not valid, relevant error messages are displayed.
![salesforce bulk query activity 2 test query](/_download/images/cs/conn/salesforce/salesforce-bulk-query-activity-2-test-query.png)
WHERE Clause (Optional): To add a WHERE clause, you can use the fields below as input to help construct the clause, or you can manually enter the clause in the lower text box.
Object: Field: Use the dropdown to select a field from the selected objects.
Operator: Use the dropdown to select the appropriate operator(s). The list of available operators depends on the data type of the selected field.
------------ -------------------------------------------------- Comparison = Equals != Not equals \< Less than \<= Less than or equals > Greater than >= Greater than or equals LIKE Like IN IN NOT IN NOT IN INCLUDES Applies only to multi-select picklists EXCLUDES Applies only to multi-select picklists Logical AND TRUE if both left and right expressions are TRUE OR TRUE if either left or right expression is TRUE NOT TRUE if right expression is FALSE
Value: Enter the desired value to use with the dropdown selections.
When using global variables in a WHERE clause, you must specify a default value in order for the query to be valid for testing (with the Test Query button), as global variables obtain their value at runtime (see Defining a Default Value in Global Variables).
Add: Click the link to automatically construct the clause based on the dropdown selections and entered value. The automatically constructed clause appears in the lower text box.
To add multiple conditions to the clause, repeat the process by adding additional selections. Note that you may need to add a logical operator such as AND or OR to account for the additional conditions.
- Back: Click to temporarily store the configuration for this step and return to the previous step.
- Finished: Click to save the configuration for all steps and close the activity configuration.
- Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
After configuring a Salesforce Bulk Query activity, complete the configuration of the operation by adding and configuring other activities or scripts as operation steps. You can also configure an operation's operation settings, which include the ability to chain operations together that are in the same or different workflows.
Once a Salesforce Bulk Query activity has been created, menu actions for that activity are accessible from the project pane in either the Workflows or the Components tabs, and from the design canvas. See Activity Actions Menu for details.
Salesforce Bulk Query activities can be used as a source with this operation pattern:
A Salesforce activity can be used as an operation step in only a single operation. That is, you cannot reference the same activity multiple times within other operations. Instead, you can make a copy of a Salesforce activity to use elsewhere (see Component Reuse).
Other patterns are not valid using Salesforce Bulk Query activities. See the validation patterns on the Operation Validity page.
A typical use case is to use a Salesforce Bulk Query activity in the Salesforce Bulk Source Pattern. In this example, the Salesforce Bulk Query activity (Bulk Query) provides data within the operation. The FTP Write activity (Write Bulk Query Response) is used as the target, receiving data within the operation which is then written to the configured FTP site and a message is then logged by the Write to Operation Log script:
In addition, the file-based target used in the operation must be using a flat file format with a header and only the following data types:
- Date formats
- Salesforce ID
Operations that use Salesforce activities can also have operation actions configured to trigger on a SOAP fault — an error resulting from an incorrect message format, header processing, or incompatibility. Operation actions can be configured to run an operation or send an email after a SOAP fault occurs. For instructions on triggering an action on SOAP fault, refer to Operation Actions.
To use the activity with scripting functions, write the data to a temporary location and then use that temporary location in the scripting function.
When ready, deploy and run the operation and validate behavior by checking the operation logs.