Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

A Salesforce Query activity interacts with a Salesforce connection to query data as a source in an operation. After configuring a Salesforce connection, you can configure as many Salesforce activities as you like for each Salesforce connection.

Info

NOTE: Cloud Studio supports Salesforce API version 47 from the Salesforce Winter '20 release.

Creating a Salesforce Activity

From the design canvas, open the Connectivity tab of the design component palette:

Within the Endpoints filter, click the Salesforce connection block to display activities that are available to be used with a Salesforce connection:

To create an activity that can be configured, the activity must first be added to an operation on the design canvas. To add an activity to an operation, drag the activity block from the palette to the operation.

For more information about the parts of an operation and adding activities to operations, see Operation Creation and Configuration.

Accessing Menu Actions

After a Salesforce activity has been added to an operation, menu actions for that activity are accessible from the project pane in both the Workflows and Components tabs, and from the design canvas:

  • Project Pane: In the Workflows or Components tab of the project pane, hover over an activity name and click the actions menu icon  to open the actions menu.

  • Design Canvas: Within the operation, click an existing activity block to open the actions menu.

Each of these menu actions is available:

  • View/Edit: This opens the activity configuration screen for you to configure the activity. For details, see Configuring a Salesforce Query Activity later on this page.
  • Delete: This is used to permanently delete the activity (see Component Dependencies, Deletion, and Removal).
  • Rename: This positions the cursor on the activity name in the project pane for you to make edits.
  • View Dependencies: This changes the view in the project pane to display any other parts of the project that the activity is dependent on (see Component Dependencies, Deletion, and Removal).
  • Remove: Available only from the actions menu on the design canvas, this removes the activity as a step in the operation without deleting it from the project. When you remove an activity that is adjacent to a transformation, if schemas are provided within that activity, they will no longer be referenced by the transformation. Removed components can be accessed or permanently deleted from the project pane (see Component Dependencies, Deletion, and Removal).
  • Deploy: This deploys the activity and any components it is dependent on (see Component Deployment).
  • Configurable Deploy: This opens the deployment screen, where you can select project components to deploy (see Component Deployment).
  • Add to group: This opens a prompt to create a new custom group or to add the component to an existing group. Custom groups are an organizational tool to help organize a project (see Component Groups).
  • Duplicate: This creates a copy of the activity as a new, unreferenced component. Upon creating the component copy, the cursor is positioned on the component name within the project pane for you to rename the component.

Anchor
configuring-a-salesforce-query-activity
configuring-a-salesforce-query-activity
Configuring a Salesforce Query Activity

Follow these steps to configure a Salesforce Query activity:

Anchor
step-1-query-wizard
step-1-query-wizard
Step 1 – Enter Basic Information and Select Object(s)

  • Name: Enter a name to use to identify the Salesforce activity. The name must be unique for each Salesforce Query activity and must not contain forward slashes (/) or colons (:).
  • Select Object(s): This section displays objects available in the Salesforce endpoint:
    • View: Use the dropdown to filter the list of objects to all objects, standard objects, or custom 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 and fields from the Salesforce endpoint. This may be useful if you have recently added objects or fields to the Salesforce instance.
    • Select Object(s): The list of objects is displayed in a column on the left. Click on the object to add it to the list on the right. Only one primary object may be selected from the list on the left.

      Tip
      TIP: 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.
  • Select Related Object(s): Optionally, to include child or parent objects in the query, select the checkbox next to each related object to include. This is referred to as a relationship query.

    Info
    NOTE: Selection of related objects is limited to immediate children and ancestors up to 5 levels. This includes parent(s) of a child, but does not include a child of a child or another child of a parent.
    • Refresh: Click the refresh icon  to reload objects and fields from the Salesforce endpoint. This may be useful if you have recently added objects or fields to the Salesforce instance.

  • Preview Fields: To preview fields for a specific object, click directly on the object name under Select Related Object(s). Note that enabling the field preview is independent of which field checkboxes are selected. That is, you can preview fields for objects regardless of whether they are selected.

  • 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 Discard Changes to close the configuration without saving changes made to any step. A message will ask you to confirm that you want to discard changes.

Anchor
step-2-query-wizard
step-2-query-wizard
Step 2 – Select Fields and Create Conditions

Tip

TIP: Fields with a variable icon support using global variablesproject variables, and Jitterbit variables. Begin typing an open square bracket [ into the field or click the variable icon to display 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 will be 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 will autopopulate with the object and 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.
  • Include Deleted Rows: Select this checkbox to include rows that are marked as deleted within Salesforce.

  • 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 will be displayed in a table similar to that shown below. If the query is not valid, relevant error messages will be displayed. The query must be valid in order to enable the Next button.

  • 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
      LIKELike
      ININ
      NOT INNOT IN
      INCLUDESApplies only to multi-select picklists
      EXCLUDESApplies only to multi-select picklists
      Logical
      ANDTRUE if both left and right expressions are TRUE
      ORTRUE if either left or right expression is TRUE
      NOTTRUE if right expression is FALSE
    • Value: Enter the desired value to use with the dropdown selections. When the value is a string, enclose the value in single quotes to match the format used by Salesforce.

      Tip
      TIP: When using global variables in a WHERE clause, it is recommended to specify a default value so that script testing is possible. Otherwise, since global variables obtain their value at runtime, the syntax may be invalidated during testing or no data may be returned if no default value is specified.
    • Add: Click the  link to automatically construct the clause based on the dropdown selections and entered value. The automatically constructed clause will appear in the lower text box. 
    Tip
    TIP: 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.
  • 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 Discard Changes to close the configuration without saving changes made to any step. A message will ask you to confirm that you want to discard changes.

Anchor
step-3-query-wizard
step-3-query-wizard
Step 3 – Review Data Schema

  • Data Schema: The response data schema is displayed. If the operation uses a transformation, the data schemas will be displayed again later during the transformation mapping process, where you can map to target fields using source objects, scripts, variables, custom values, and more.

    The version of Salesforce REST API that is used depends on the Harmony Agent version you are using. See Prerequisites and Supported API Versions for links to documentation on the schema fields.

  • 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 Discard Changes to close the configuration without saving changes made to any step. A message will ask you to confirm that you want to discard changes.

Next Steps

After configuring a Salesforce Query activity, you can use it within an operation as described below. In addition, if you are running into record limits imposed by the target, you may want to use chunking.

Completing the Operation

After configuring a Salesforce Query activity, complete the configuration of the operation by adding and configuring other activitiestransformations, or scripts as operation steps (see Operation Creation and Configuration). 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 (see Operation Settings).

Salesforce Query activities can be used as a source with these operation patterns:

If a Salesforce Query is used as the source activity, then a target activity is required.

Operations that contain a Salesforce activity can have only one Salesforce activity and cannot also contain any NetSuiteSAP, ServiceMax, or SOAP activities.

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 Query activities. See the validation patterns on the Operation Validity page.

This example setup depicts one common operation setup using a Salesforce Query activity:

Within a transformation, if using the option to mirror a schema provided by a non-bulk Salesforce activity, then the resulting mirrored schema will automatically be created with an additional root node called records with the child node(s) mirroring the schema. When fields within the child node(s) are mapped to, the node becomes a loop node to allow all records to be looped through (see Loop Nodes under Nodes and Fields).

Operations that use Salesforce activities can also have operation actions configured to trigger upon 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 upon SOAP fault, refer to Operation Actions.

When ready, deploy and run the operation (see Operation Deployment and Execution) and validate behavior by checking the operation logs (see Operation Logs).

Using Chunking

When using chunking on an operation where the source is a Salesforce activity, the data will be chunked in the transformation, not when the data is retrieved. The target data will first be written to numerous temporary files (one for each chunk). These files will then be combined to one target file. 

For instructions and best practices on using chunking, see Operation Options.