Salesforce Bulk Operation

The Salesforce Bulk Operation activity performs operations such as insert, upsert, update, delete, hard delete on records in batches.

General

On the General tab, you can establish a connection to the Salesforce.com server.

The following table lists the configurations on the General tab of the Salesforce Bulk Operation activity:

Field Module Property? Description
Name No The name displayed as the label of the activity in the process.
Salesforce Connection Yes The path to the Salesforce shared resource.

Click the Choose/Create Default Resource icon to select a usable connection for the activity.

Operation Yes Select one of the following operations from the drop-down list:
  • Insert: Insert records for an sObject.
  • Upsert: Update existing records; if the object ID is not present, it inserts a new record.
  • Update: Update the records.
  • Delete: Delete the records, but store them in Recycle Bin.
  • Hard delete: Delete the records from Recycle Bin too.
Format Yes
Select one of the following format of the file types from the drop-down list:
  • CSV
  • XML
  • JSON
  • ROW
  • ZIP_XML
  • ZIP_CSV
  • ZIP_JSON
Note: ROW format allows you to add records on the Input tab. Other formats are provided for specific file types.
Object No

Click Pick Object wizard to pick a Salesforce object on which the bulk operation needs to be performed.

Filename Yes

Select a file of the format selected above.

When you select ROW format on the General tab, the Filename option is disabled to substitute sObject on the Input tab.

Description

On the Description tab, you can enter a short description for the Salesforce Bulk Operation activity.

Advanced

On the Advanced tab, you can configure the following options of the Salesforce Bulk Operation activity.

The following table lists the configurations on the Advanced tab:

Field Description
Field Mapper

Field Mapper wizard maps fields from user selected files to Salesforce object fields. Only one-to-one mapping from the provided file field to sObject is allowed. This option is available only for CSV, XML, or JSON file formats.

For JSON and XML formats, Mapper refers only the first record in the file for field names. Ensure that the first record has all field names, even if they are empty.

For CSV files the record structure is defined only for the first header line.
Note: If you do not use field mapper, Salesforce Bulk API palette uses file column name as field name. If no column names are provided, columns are mapped to the Salesforce object as it is.
Batch Size Batch size is used to perform bulk operation in batches. The default value is 5000. Maximum value allowed is 10000.
Serial Processing Select this option if you prefer to process batches serially. By default, Salesforce processes batches in parallel.

Input

On the Input tab, you can specify input values for the Salesforce Bulk Operation activity.

The following table lists the input elements on the Input tab of the Salesforce Bulk Operation activity:

Input Items Data Type Description
ConnectionInfo (All fields in this section are optional.)
ServerUrl String The web address of the endpoint that is used by this operation.
SessionId String The unique ID associated with this session.
ExternalSessionIdUsed Boolean Specifies whether an external session ID is used (true) or not (false).

If the value is set to true, an external session ID is filled in the sessionId field.

In this case, when the session has to be refreshed, the refreshed operation cannot be performed, and an exception is thrown.

Bulk (All fields in this section are optional.)
operation String Specifies the operation to be invoked. You can enter one of these values: Insert, Update, Upsert, Delete, and Hard Delete.
object String Specifies the Salesforce object name for the activity operation.
format String

Specifies the format of the records file upload for the operation to be invoked. You can enter one of these formats: CSV, JSON, XML, ZIP_XML, ZIP_CSV or ZIP_JSON.

filename String

Specifies the absolute path of the file.

batchSize Integer Batch size is used to perform bulk operation in batches. The default value is 5000. Maximum value allowed is 10000.
serialProcessing Boolean Specifies if serial processing is used (true) or not (false). If value is set to false then the Salesforce processes batches in parallel.
externalIdFieldName String Optional. This field is used during upsert operation to provide the external ID.

It contains the name of the field defined as a key field in the sObject.

sObjects Complex Map your sObjects from this field.
BulkOptional (All fields in this section are optional.)
timeout Long The timeout value specifies the number of milliseconds an internal API call waits before the data returns.

Default value: Infinite (that is, activity times out only after all records are processed)

Note: If the timeout value provided is not sufficient, then only some batches are submitted, resulting in processing of partial records.
Content-Type String Specifies the format for your request and response. Content Type is applicable only for ROW format.
On the Input tab of the Salesforce Bulk Operation activity, Content Type accepts only the following values:
  • "Json" or "application/json" for JSON format
  • "Csv" or "text/csv" for CSV format
  • "Xml" or "application/xml" for XML format

For any other value, the Bulk request is sent in the default XML format.

Sforce-Disable-Batch-Retry String Specifies if retries are disabled for unfinished batches included in the operation. Field values are either True or False.
Sforce-Line-Ending String Specifies whether line endings are read as line feeds (LFs) or as carriage returns and line feeds (CRLFs).
Sforce-Enable-PK-Chunking String Enables automatic primary key (PK) chunking for a bulk query operation. This option is used for Bulk Query activity only.

Output

On the Output tab, you can find the output value.

The following table lists the output elements on the Output tab of the Salesforce Bulk Operation activity:

Output Item Data Type Description
SalesforceBulkOperationOutput
result jobId String The ID of the job that is submitted to the Salesforce server.
success Boolean Indicates whether the job was successfully queued (true) or not (false).

Fault

On the Fault tab, you can find the error code and error message of the Salesforce Bulk Operation activity. See Error Codes for more information about error codes and corrective actions to take.

Fault Thrown when..
SalesforceRestException There is a problem with REST request, response or any other REST API error.
SalesforceLoginException An error occurred when logging in to the Salesforce.com server.
SalesforceConnectionNotFoundException An error occurred when the external session ID was not used or the Salesforce connection was not configured correctly.