Skip to main content

Pentaho+ documentation has moved!

The new product documentation portal is here. Check it out now at


Hitachi Vantara Lumada and Pentaho Documentation

Salesforce Upsert


Parent article

The Salesforce Upsert step updates existing records and inserts new records into your Salesforce database using the Salesforce Web Service.

You can also use the following other PDI steps to modify your Salesforce database:



Enter the following information in the transformation step name field:

  • Step name: Specifies the unique name of the Salesforce Upsert transformation step on the canvas. You can customize the name or leave it as the default.



General tab in Salesforce             Upsert

The General tab contains the following sections.



Enter the connection information in the following transformation step options.

Option Description
Salesforce Webservice URL

Specify the URL to the Salesforce Webservice.

The URL specified is dependent on the API version used by PDI:


  • PDI 7.0, 7.1, and 8.0 versions use API version 37.0.
  • PDI 8.1, 8.2, and 8.3 versions use API version 41.0.
  • PDI 9.0 and later versions use API version 47.0.
Username Specify the username for authenticating to Salesforce ( for example).
Password Specify the password for authenticating to Salesforce. Enter your password followed by your security token. For example, if your password is PASSWORD and your security token is TOKEN, you would enter PASSWORDTOKEN in this field.
Test connection Click to verify the connection can be made to the Salesforce Webservice URL you specified.



Enter the upsert process settings in the following transformation step options.

Option Description
Time out Specify the timeout interval in milliseconds before the step times out.
Use compression Select to compress (.gzip) data when connecting between PDI and Salesforce.
Rollback all changes on Revert changes unless all records are processed successfully. When you select this option, records without errors are inserted and updated, while records with errors are marked as failed in the upsert results. The default behavior is to allow partial success of upserted results.
Batch Size Indicate the maximum number of records to collect before the upsert is committed.

Select the module (table) in which you want to update and insert records.

This list will be populated upon successfully authenticating to Salesforce using the Test connection button.

Upsert Comparison Field Specify the Salesforce ID of the field to use as a basis of comparison to determine if you are updating an existing record or inserting a new record.

Output Fields


Enter the output information in the following transformation step option:

  • Salesforce ID fieldname: Specifies the field to contain the Salesforce ID of the first record in the set of records (batch) you updated and inserted.



You can specify what fields to update and insert in your Salesforce database through the Fields table. Click Get fields to populate the table with input from the PDI data stream.

The table contains the following columns:

Column Description
Module field The name of the field within the Module
Stream field The name of the field in the PDI data stream
Use External id?

The flag indicating if the field links to an external ID. To resolve the ID, Salesforce needs the object type, column name, and relationship name in the following syntax:

Object name.column name/relationship

Optionally, click Edit mapping to specify custom mapping. For example, you can map a single PDI field to multiple Salesforce fields.