Salesforce Bulk Upsert

Salesforce Bulk Upsert

This page is no longer maintained (August 12, 2026). To access the most current content, go to https://docs.snaplogic.com/snaps/sp-salesforce/salesforce-bulk-upsert.html

On this page

Overview

You can use this Snap to update or insert object records in Salesforce Bulk API 2.0.

MultiExcerpt Include

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Pipelines.

Limitations

MultiExcerpt Include

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 1

  • Max: 1

  • Mapper

This Snap has exactly one input view and receives documents in the view. Each document contains Map data for a record ID and key-value pairs for fields to be updated. or inserted

Output

Document

  • Min: 0

  • Max: 1

  • JSON Formatter and File Writer

This Snap has at most one output view and produces documents in the view.

Error

The error view contains error, reason, resolution and stack trace. For more information, see Handling Errors with an Error Pipeline.

Because of the potentially large size of the error messages, the Reason for the Salesforce error message in the error document field may be truncated.



The complete error is available in the field full_error under the original object containing copies of the failed input records or in the logs.

Snap Settings

Field Name

Field Type

Description

Field Name

Field Type

Description

Label*

String

Specify a unique name for the Snap instance.

Default Value: Salesforce Bulk Upsert
Example: Salesforce Bulk Upsert

Service Version*

String/Expression/Suggestion

MultiExcerpt Include

Object Type*

String

Specify the name of the Salesforce object or select one from the suggested list.

This Snap does not support Net Zero Cloud Salesforce objects.

Default Value: Account
Example: Account

External-ID Field*

String

Specify the name for the External ID field. Use this field to define the unique externalized key of the object. The Snap operates exclusively on the external ID field, and not on the Salesforce-generated record ID. The external ID is useful when you want to synchronize an external system to Salesforce.com.

If a record for a given external ID exists, the record is updated with the input record data. If no record exists for a given external ID, create a new record with the input record data. Use the external ID as the unique record identifier from an external system. 

To create an external ID field for an Account object:

  1. Log in to your Salesforce account.

  2. Go to App Setup > Customize > Account > Fields > New.

  3. Follow the instructions and create a new custom field.

Default Value: N/A
Example: external_Id_c__c

Related Object

String

Enter or select a related parent object. This property does not affect the Snap operation on records in Salesforce. It is provided for the property suggestion and the input schema suggestion only.

Default Value: N/A
Example: Account

Related External ID

String

Enter or select an external ID of the related parent object. This property does not affect the Snap operation on records in Salesforce. It is provided for the property suggestion and the input schema suggestion only.

Default Value: N/A
Example: AccountNumber__c

Display null or empty values as null



Checkbox

This checkbox controls how empty strings or null data coming from Salesforce are displayed in the output preview.

When you select this checkbox, the empty strings or null data from Salesforce is displayed as null in the output preview. Refer to this example.

When you deselect this checkbox, the Snap displays an empty string or null data as blank in the output preview. The null/empty-string values are always displayed as empty ('') string in the output preview.

Default Value: Deselected

The output in the Salesforce application remains unaffected. Whether the checkbox is selected or deselected, the Salesforce record and its corresponding output continues to appear empty, as shown below: 

Polling Interval*

Integer

Define polling interval in seconds.

Default Value: 5
Example: 5

Polling Timeout*

Integer

Define the maximum time in seconds to wait for the query to complete.

Default Value: 3000
Example: 300

Maximum Retry Attempts

Integer

Define the maximum number of retries to attempt in case of connection failure.

Default Value: 5
Example: 5

Retry Interval (seconds)

Integer

Define the interval between retries in seconds.

Default Value: 3
Example: 3

Snap Execution

String

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default Value: Execute only
Example: Execute only