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 formats 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.
|
Copyright © 2022. Cloud Software Group, Inc. All Rights Reserved.