Salesforce Bulk Upsert
On this page
Overview
You can use this Snap to update or insert object records in Salesforce Bulk API 2.0.
To use newer Salesforce objects, use the latest API versions where those objects are available.
Prerequisites
None.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations
- This Snap performs batch processing, that is, a batch of input documents are processed for each HTTP request sent to Salesforce. Values of all the expression-enabled fields must remain constant during the Snap execution or validation. Hence, all expression fields can support Pipeline parameters only when they are expression-enabled. The input data parameters are not supported for expression fields, for example, $serviceVersion.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| 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 |
|
| 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 |
Snap Settings
Field Name | Field Type | Description |
---|---|---|
Label* | String | Specify a unique name for the Snap instance. Default Value: Salesforce Bulk Upsert |
Service Version* | String/Expression/Suggestion | Specify the version number associated with the Salesforce service that you want to connect to. Alternatively, click the Suggestion icon to fetch the list of versions and select the desired version. |
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 |
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:
Default Value: N/A |
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 |
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 |
Display null or empty values as null | Checkbox | Select this checkbox to display empty string or null data as When you deselect this checkbox, the Snap displays empty string or null data as blank in the output preview. Default Value: Deselected For a better understanding, refer to this Example. 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 |
Polling Timeout* | Integer | Define the maximum time in seconds to wait for the query to complete. Default Value: 3000 |
Maximum Retry Attempts | Integer | Define the maximum number of retries to attempt in case of connection failure. Default Value: 5 |
Retry Interval (seconds) | Integer | Define the interval between retries in seconds. Default Value: 3 |
Snap Execution | String | Select one of the three modes in which the Snap executes. Available options are:
Default Value: Execute only |
Example
Inserting Bulk Records in Salesforce
This example demonstrates how to insert or update a new bulk record in a Salesforce object.
The JSON Generator Snap generates five new JSON documents. The output from the Snap displays the names of the documents and customized serial numbers.
The following images display the Snap configuration and output:
The Mapper Snap transforms the incoming data using the given mappings and produces new output data. The output from the Snap displays the names and customized serial numbers of the output documents. The following images display the Snap configuration and output:
The Salesforce Bulk Upsert Snap updates or inserts data in Salesforce.com. The output from the Snap displays the names, IDs, and customized serial numbers of the updated or inserted documents. The following images display the Snap configuration and output:
Downloads
Important steps to successfully reuse Pipelines
- Download and import the pipeline into the SnapLogic application.
- Configure Snap accounts as applicable.
- Provide pipeline parameters as applicable.