Salesforce Update
In this article
Overview
Salesforce Update is a Write-type Snap that enables you to update object records in Salesforce in Bulk API 1.0 or REST API mode. Salesforce Poller Snap checks the result of the batch job when in Bulk API mode Snap submits the batch job and writes the batch job information to the output view. In the REST API mode, the Snap updates record to the Salesforce object and returns results synchronously without the need for the Salesforce Poller Snap.
- The ID field is required. This Snap updates records only by record ID and not by its external ID.
- To use newer Salesforce objects, use the latest API versions where those objects are available.
Prerequisites
None.
Support for Ultra Pipelines
Works in Ultra Task 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 |
|
| Each document contains Map data for an object ID and records of field and value pairs. |
Output | Document |
|
| Each document contains Map data that includes the Job ID, Batch ID, URL, and an array of records if it is in Bulk API mode. If it is executed in REST API mode, each document contains input data and a key-value pair of created: false for each successfully updated record. |
Error | Document |
| N/A | This Snap produces documents in the view if the input data causes an error in REST API. Each document contains the record ID and an error message from Salesforce.com. The error view contains error, reason, resolution and stack trace. For more information, see Handling Errors with an Error Pipeline. |
Snap Settings
Field | Field Type | Field Dependency | Description | |
---|---|---|---|---|
Label* | String | None | The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline. Default Value: Salesforce Update | |
Service Version* | String/Expression/Suggestion | None | 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. | |
Batch Size* | Integer/Expression | None | Specify the number of records to be processed in a batch. In Bulk API, this value is allowed to be from 1 through 10,000. Each input document forms one Salesforce record to be updated. The Snap stores record in memory until the number of records reaches the batch size and sends the request to SFDC in a single batch. Increasing the batch size increases the amount of memory used during the data load. Decreasing the batch size increases the number of API calls against Salesforce. In REST API, the Snap can update only one record per each request regardless of the Batch Size. Default Value: 200 | |
Object Type* | String/Expression/Suggestion | None | 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 | |
Salesforce API | Dropdown list | None | Set the Salesforce API mode to Bulk API or REST API. The Snap in REST API mode creates one record at a time and returns the results at the output. REST API can be simpler and faster if the number of records to be created is small (a few). Default Value: Bulk API | |
Null Setting with Bulk API | Checkbox | None | Select this checkbox to set the nullable fields to null in the Salesforce object if there are null values in the input document. This field works only if you select Bulk API mode in the Salesforce API field. Default Value: Deselected | |
Related Object | String/Expression/Suggestion | None | Enter or select a related parent object. This field does not affect the Snap operation on records in Salesforce. It is provided for the property suggest and the input schema suggests only. Default Value: [None] | |
Apply active assignment rules | Checkbox | Appears when you select REST API from the Salesforce API dropdown and when the Object Type is Account, Case, or Lead. | Select this checkbox to apply the active assignment rules for the selected object type (Account, Case, or Lead). If you deselect this checkbox, active assignment rules are not applied for the selected object type (Account, Case, or Lead). Default Value: Selected | |
Related External ID | String/Expression/Suggestion | None | Enter or select an external ID of the selected related parent object. This property does not affect the Snap operation on records in Salesforce. It is provided for the property suggest and the input schema suggests only. Default Value: [[None]] | |
Bulk API Serial mode | Checkbox | None | Select this checkbox to allow the Bulk API to run in serial mode. Default Value: Not selected (Batch mode) | |
Standardize Error Output | Checkbox | None | Select this checkbox to enable the Snap to produce the error output with Reason, Original, Stack trace and Resolution. Default Value: Not selected | |
Pass Through | Checkbox | None | Select this checkbox to pass the input document the output view under the key 'original'. If you deselect this checkbox, the input document will not be passed and there is no "original" key in the output document. Default Value: Selected For Bulk APIs, if you select this checkbox and if the Batch size is equal to 1, the input document is passed to the output view under the key | |
Snap Execution | Dropdown list | None | Select one of the three modes in which the Snap executes. Available options are:
|
If you want to get the resulting status for each record to be updated in Bulk API mode, you must connect a Salesforce Poller Snap after the Salesforce Update Snap.
Examples
Update a New Record
The following example Pipeline demonstrates how to update a new record in a Salesforce object.
First, configure the Mapper Snap to map the Object record details (that need to be updated using record ID) to the input view of Salesforce Update Snap:
The Salesforce Update Snap updates the record (using its ID) in the Account object:
Successful execution of the Snap gives the following preview:
The Pipeline, available in the Downloads section, uses several Salesforce Snaps to perform create, update, delete, and lookup actions on Salesforce object records.
Downloads
Important Steps to Successfully Reuse Pipelines
Download and import the Pipeline into SnapLogic.
Configure Snap accounts as applicable.
Provide Pipeline parameters as applicable.