Salesforce Bulk Ingest Operation Activity

The Salesforce Bulk Ingest Operation activity performs operations such as insert, upsert, update, delete, and hard delete on records provided through the Input tab or a file input and uploads all records to Salesforce as a single batch.

General

Note: Because all records are uploaded as a single batch, all the records are taken in memory at the same time; therefore you must configure Java memory accordingly.

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 Ingest 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 format of the file types from the drop-down list. Options available are CSV and Row.
Note: You can use the Row format to add records on the Input tab. Other formats are provided for specific file types.
Line Ending Yes Specifies whether line endings are read as line feeds (LFs) or as carriage returns and line feeds (CRLFs).
CSV Separator Yes Select a separator as required. The options available are Comma, Backquote, Caret, Pipe, Semicolon, and Tab.

You must select the same separator as that used in the CSV datafile you provide for the operation.

Object No

Click the Pick Object wizard to pick a Salesforce object on which the bulk operation needs to be performed. Available only when you select the CSV format.

Filename Yes

Select a file of the format selected above.

Available only when CSV format is selected on the General tab.

Description

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

Advanced

On the Advanced tab, you can configure the following options of the Salesforce Bulk Ingest 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 provided file field to sObject is allowed. This option is available only for CSV file format.

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 2.0 palette uses file column name as field name. If no column names are provided, columns are mapped to the Salesforce object as it is.

Input

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

The following table lists the input elements on the Input tab of the Salesforce Bulk Ingest 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. The formats available are CSV and Row.

filename String

Specifies the absolute path of the file.

lineEnding String Specifies whether line endings are read as line feeds (LFs) or as carriage returns and line feeds (CRLFs).
csvSeparator String Specifies the CSV separator that is used in the file. You can select any one of these separators: Comma, Backquote, Caret, Pipe, Semicolon, and Tab.
externalIdFieldName String Optional. This field is used during upsert operation to provide the external ID.

It contains the name of the field defined as an indexing field in the sObject.

sObjects Complex Substitute and map your sObjects from this field.

Available only when Row format is selected.

BulkOptional
timeout Long Specifies the number of milliseconds the activity waits before timing out.Default value: Infinite (that is, activity times out only after all records are processed)
Note: If the timeout value provided is not sufficient, the batch might not be uploaded to Salesforce.

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 Ingest Operation activity:

Output Item Data Type Description
SalesforceBulkOperationOutput
jobInfo apiVersion String The salesforce API version in which the job was created.
columnDelimiter String Column Delimiter (symbol used to separate fields in the CSV records) used in the CSV job data. Values include COMMA, CARET, PIPE, BACKQUOTE, SEMICOLON, and TAB.
concurrencyMode String For future use. Currently only parallel mode is supported in Bulk API 2.0.
contentType String The format of the data being processed. Currently only CSV is supported for Bulk API 2.0.
contentUrl String The URL to use for Upload Job requests for this job. Only provided if the job is in Open state.
createdById String The ID of the user who created the job. The batch is created by using the same user.
createdDate DateTime The date and time in the UTC time zone when the job was created.
externalIdFieldname String Optional. This field contains the name of the field defined as the key indexing field in the Salesforce object.

It is used with the upsert operation.

id String Unique ID of the job. The same can be mapped to further activities such as CheckStatus, GetResult, and CloseJob.
jobType String The job’s type. Values include:
  • BigObjectIngest: BigObjects job
  • Classic: Bulk API 1.0 job
  • V2Ingest: Bulk API 2.0 job
lineEnding String The line ending used for CSV job data. This output field can be mapped to the GetResult activity.
object String The Salesforce object type for the data being processed.
operation String The processing operation specified. This can be mapped to further activities such as CheckStatus and GetResult.
state String The current state of processing for the job. The BulkOperation and BulkQuery activities always update the job's state to UploadComplete. Other states are Open, Aborted, JobComplete, and Failed.
systemModstamp String Date and time in the UTC time zone when the job finished.

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.
SalesforceBulkException An error occurred when validating input parameters, requests, and parsing data before sending a request to Salesforce.