***This feature is available only to those Salesforce users that have the access to the Limited Release of the Salesforce Batch Create functionality.
Overview
The Salesforce Batch Create Snap is a Write-type Snap that enables you to create multiple Salesforce object records in each Salesforce REST API request.
The SObject Tree resource is available through a pilot program in the service version 43.0, which is the latest as of October, 2015. If you want to use this Snap in the service version 43.0, you should ask your Salesforce.com support to enable the SObject Tree resource for your account. It will be generally available in the versions later than 43.0.
Prerequisites
A valid Salesforce account with the required permissions.
The composite/tree resource should be enabled for your Salesforce account credential.
A stream of documents. The following example shows a list of two documents for Account SObject records. The first document has two nested Contact records, and the second document has one nested child. Account record and one nested Contact records. Therefore, this stream of documents should insert total of 6 records (3 Account records and 3 Contact records):
A stream of resulting documents, each of which contains the "id" field for the record created and the "original" field for the corresponding input record. An example of the expected output is attached below (Salesforce_Batch_Create_Output.json.
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.
Default Value: 52.0 Example: 41.0
Batch Size*
Integer
Specify the number of records batched per request. If the input has 100,000 records, and the batch size is set to 200, the total number of requests would be 500.
The maximum allowed batch size is 200.
Default Value: 200 Example: 200
Auto-generated Reference ID
Checkbox
Each record in the input document should contain a reference Id field, which should have a unique value so that each item in the result can be correlated to an input record. Select this checkbox to enable the Snap to automatically generate and overwrite the reference Id values.
Default Value: Selected
Nested Records
Checkbox
Select this checkbox if input documents are expected to have nested records. If input documents are not nested and this property is selected, the Snap will function as expected with small performance penalty. If input documents are nested, but this property is not selected, the Snap will fail to correlate results to the corresponding input documents and will throw an error.
Default Value: Not selected
Pass Through
Checkbox
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
Snap Execution
Dropdown list
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.
The field labels for this Snap are updated to title case. If you have existing Pipelines that include the field names in the error messages, you must update those Pipelines to use the new field labels.
Examples
Creating Multiple Records
The following example Pipeline of Salesforce Batch Create Snap shows how to create multiple records in Salesforce in a batch.
CometD version upgrade from 5.0.9 to 7.0.6 (latest).
The simplified logging provides useful diagnostic information without logging any sensitive data.
The Snap asynchronously makes callbacks or listens to the CometD API to identify and respond to specific events.
The Snap processes the most recent message so that it can send that replay ID if there is a need to resubscribe. If the server responds with an invalid replay ID, the Snap automatically sets the Replay ID value to -2 to get all available messages.
Upgraded the Cometd version from 5.0.9 to the latest 7.0.6 version.
Fixed an issue where the Snap reported an error and stopped only at the next resubscribe attempt when it encountered the daily limit exceeded error. Now, the Snap displays the error and stops immediately when it encounters the daily limit exceeded error.
Simplified the logging that provides useful diagnostic information without logging any sensitive data.
Enhanced the Snap design to make the callbacks or listeners asynchronously by the Cometd API when there is a specific event, and the Snap responds accordingly.
Enhanced the tracking of replay ID of the most recent message processed so that Snap can send that replay ID if there is a need to resubscribe. If the server responds that the replay ID is invalid, Snap automatically sets theReplay IDvalue to-2to get all available messages.
Upgraded with the latest SnapLogic Platform release.
4.28 Patch
428patches14355
Latest
Fixed an issue with Salesforce Snaps where the Service Version could not be retrieved from SFDC due to a blocked URL, failing the Snap execution.
4.28
main14627
Stable
Upgraded with the latest SnapLogic Platform release.
4.27 Patch
427patches14079
Latest
Fixed an issue with the Salesforce Subscriber Snap where the Snap was unable to re-subscribe to a topic if it did not receive any message for 72 hours —stopped and displayed an error message. With this fix, the Snap automatically sets the Replay ID value to -2 when:
the specified Replay ID is invalid or outside the retention window.
the most recently received Replay ID for an event is outside the 72-hour retention window.
4.27 Patch
427patches13944
Latest
Fixed an issue with Salesforce accounts, where an account password containing special characters and an empty security token was not properly encoded and the account was not validated.
4.27 Patch
427patches13789
Latest
Fixed the following issues with Salesforce Snaps:
High memory use due to leaked resources.
Hung Pipelines due to blocked threads.
4.27
main12833
Stable
Added Salesforce Mutual Authentication Account to Salesforce Snap Pack that provides an additional layer of security while authentication. Both the client and server authenticate themselves using Client Certificate Authentication. This account is not supported for Salesforce Subscriber and Salesforce Publisher Snaps.
Extended the supportofSalesforce OAuth2 Account to all the Salesforce Snaps in addition to the Salesforce Bulk Snaps.
Revised the name of Salesforce Attachment Download to Salesforce Download Snap. Enhanced this Snap with a new field File Type to support download of attachments from Salesforce by passing Content Data ID in addition to the Attachment ID.
Updated the default Salesforce API Service Version to 52.0 for the following Snaps:
Enhanced the following Snaps to support Pipeline parameters only for expression fields, while the input data parameters are not supported for expression fields.
Enhanced the Salesforce Subscriber Snap with improved resilience to network failures and fixed an issue with duplicate documents.
4.26
main11181
Stable
Upgraded with the latest SnapLogic Platform release.
4.25 Patch
425patches10182
Latest
Fixed an issue with the Salesforce Read Snap where the retry fields do not work as expected when a Pipeline has more than ten Snaps.
4.25 Patch
425patches9609
Latest
Enhanced the Salesforce Read Snap to allow you to add an optional second output view that exposes the schema of the target object as the output document. The output view of the Snap has a minimum of one output and a maximum of two outputs.
4.25
main9554
Stable
Enhanced the Salesforce Upsert Snap to support CSV payload using the new field Bulk Content Type in Bulk API mode as Salesforce API has recently been supporting CSV payload as well. Earlier, this Snap supported only XML data type; you can now select CSV content type from the Bulk Content Type drop-down list. The default content type is set to XML to preserve backward compatibility. This enhancement also addresses the null values issue during Bulk API mode.
Enhanced the Snaps in the Salesforce Snap Pack by updating the field labels to title case. If you have existing Pipelines using Salesforce Snaps that include the field names in the error messages, you must update those Pipelines to use the new field labels.
This Salesforce Snap patch contains an issue affecting the Salesforce Subscriber and Salesforce Publisher Snaps. If you do not use these Snaps in your Pipelines, then you can use this patch version. Else, we recommend you to not use this patch version as Pipelines will fail. We will fix this issue soon in an upcoming patch.
4.24
main8556
Stable
Upgraded with the latest SnapLogic Platform release.
Upgraded with the latest SnapLogic Platform release.
4.22
main6403
Stable
Upgraded with the latest SnapLogic Platform release.
4.21 Patch
salesforce8829
Latest
Fixed the Salesforce Create, Update, Bulk Create, Bulk Update, and Bulk Upsert Snaps, enabling you to upload files containing duplicate values across multiple fields.
4.21
snapsmrc542
Stable
Upgraded with the latest SnapLogic Platform release.
4.20 Patch
salesforce8814
Latest
Fixed the Salesforce Create, Update, Bulk Create, Bulk Update, and Bulk Upsert Snaps, enabling you to upload files containing duplicate values across multiple fields.
4.20 Patch
salesforce8797
Latest
Fixed the Salesforce Subscriber Snap wherein the Salesforce Subscriber and Mapper Snap combination generates Null output for Array object type.
Enhanced the Salesforce Subscriber Snap to capture Change Data Capture (CDC) events.
4.18
snapsmrc523
Stable
Upgraded with the latest SnapLogic Platform release.
4.17 Patch
salesforce7474
Latest
Added Order by clause and Limit clause properties to the Salesforce Reader Snap to fix an issue wherein the Snap throws an error while fetching records.
4.17
ALL7402
Latest
Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.
4.17
snapsmrc515
Latest
Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.
4.16 Patch
salesforce6889
Latest
Added two new properties, Number of retries and Retry interval, to the Salesforce Read, SOQL, Publisher, and Subscriber Snaps. These properties let you handle retry attempts and intervals in case of a network failure.
4.16
snapsmrc508
Stable
Added two new Snaps:
Salesforce Publisher: Publish Salesforce platform event records to a given event custom sObject (Salesforce Object).
Salesforce Subscriber: Subscribe to Salesforce platform event records for a given event custom sObject.
4.15 Patch
salesforce6405
Latest
Fixed an issue with resource leak in PK Chunking in Salesforce Read and SOQL Snaps.
4.15 Patch
salesforce6349
Latest
Fixed an issue with the Salesforce SOQL Snap timing out while waiting for a connection from the pool.
4.15
snapsmrc500
Stable
Upgraded with the latest SnapLogic Platform release.
4.14 Patch
salesforce5670
Latest
Fixed the Salesforce SOQL Snap that fails to execute if the parameter values of a SOQL query expression contain the WHERE clause.
4.14
snapsmrc490
Stable
Upgraded with the latest SnapLogic Platform release.
4.13
snapsmrc486
Stable
Fixed an issue where the Salesforce Read Snap fails to download the PK-Chunking CSV file due to network failure or running out of disk space.
Fixed an issue where theSalesforce Lookup Snap does not match the datatype with the Bulk API; for instance, boolean data returns string.
Fixed an issue where the Salesforce SOQL Snap does not preview data in pipelines.
Fixed an issue where PK Chunking files are not deleted from the temp directory.
4.12 Patch
salesforce4839
Latest
Fixed a defect that occurs when downstream Snaps are slow in processing documents downloaded from SFDC.
4.12 Patch
salesforce4773
Latest
Added a new option in Advanced properties - "Validate record count downloaded in Bulk API" that compares the number of records processed vs downloaded and routes output to Error View (if Error View is enabled) if there is a mismatch.
4.12
snapsmrc480
Stable
Updated Salesforce SOQL and Lookup Snaps to ensure that they are consistent with SnapLogic guidelines of writing Snap data exceptions to error views and continuing to process next documents vs. hard stopping.
Enhanced the Salesforce read operations for the Read, SOQL, and SOSL Snaps to display the original Salesforce error cause, reason, and resolution.
4.11 Patch
salesforce4299
Latest
Fixed an issue wherein the Salesforce SOQL Snap did not get an input stream from the next records URL.
Fixed an issue with the Salesforce SOQL Snap querying deleted records using Bulk API.
4.11
snapsmrc465
Stable
Polling timeoutproperty's default value increased to 3000 from 300 for Salesforce Lookup, Salesforce Poller, Salesforce Read, and Salesforce SOQL Snaps.
4.10 Patch
salesforce4005
Latest
Salesforce Poller Snap: Includes the success field in the output.
4.10
snapsmrc414
Stable
Upgraded with the latest SnapLogic Platform release.
4.9.0 Patch
salesforce3218
Latest
Fixed the error in PK Chunking when a downstream Snap is blocking the pipeline
4.9.0 Patch
salesforce3247
Latest
Addressed an issue withSalesforce Poller Snap causing JSON Formatter to throw ConcurrentModificationException.
4.9.0 Patch
salesforce3225
Latest
Addressed a null pointer exception in the Salesforce Update Snap. This exception was present in both salesforce3082 and salesforce3122.
4.9
snapsmrc405
Stable
Updated the Salesforce Create, Batch Create, Delete, Poller, Update and Upsert Snaps with Pass through property.
4.8.0 Patch
salesforce2884
Latest
Addressed an issue with inconsistent behavior between Preview and Execution.
Addressed an issue with Salesforce SOQL Snap failing to download PK-Chunking.
4.8
snapsmrc398
Stable
Updated the Salesforce Lookup Snap with Correlation ID property. This property is an ID field name which the Snap uses to correlate input document to the output record when users want to pass through input data to the output view.
Updated the Salesforce Read Snap with Output field limit and Output field offset properties. Output field limit is the number of fields to return in the order of Salesforce describe object field index. Output field offset defines a starting field index for the output fields.
Info tab added to accounts.
4.7.0 Patch
salesforce2284
Latest
Added log to troubleshoot a deploy issue.
4.7.0 Patch
salesforce2255
Latest
Addressed SFDC SOQL Snap routing to the error view & validate PK Chunking record numbers.
4.7.0 Patch
salesforce2244
Latest
Addressed possible leak with threads waiting to download PK Chunking responses.
4.7.0 Patch
salesforce2218
Latest
SFDC SOQL Snap route to the error view & validate PK Chuning record numbers.
4.7.0 Patch
salesforce2209
Latest
SOQL Snap now correctly routes to the error view & validates PK Chunking record numbers.
4.7
snapsmrc382
Stable
Updated the Salesforce SOQL, Read, & Lookup Snaps with Match data type field.
Updated the Salesforce Upsert, Update, Create and Delete Snaps with 'Standardize error output' field.
4.6.0 Patch
salesforce1931
Latest
Implemented a new property "Match data type in XML"
Implemented a new global.properties entry "SFDC_SESSION_TIMEOUT_MINUTES" so that users can reduce the frequency of logins.
4.6
snapsmrc362
Stable
Doc Enhancement: Examples added to Salesforce Snap documentation.
Resolved an issue in Salesforce Snaps that prevented extraction of access tokens.
4.5.1
salesforce1633
Stable
Salesforce Read Snap is updated to support Output fields and Where clause specifications. For more information, see Salesforce Read.
Salesforce Read & SOQL Snaps are updated to support JSON representation of Bulk API result data and a parsing issue encountered (in Bulk API mode) has been rectified.
Fixed errors around upload and output preview for Salesforce Wave Analytics Snap.
4.5
snapsmrc344
NA
Latest
Pass through and Ignore empty results added to Salesforce SOQL, Read and SOSL Snaps.
Resolved an issue in Salesforce Batch Create Snap to appropriately create multiple records in REST API.
4.4.1
Stable
Resolved an issue with Connection pool times out with Salesforce Snaps.
Salesforce Lookup: Resolve a 'The session ID or OAuth token used has expired or is invalid' exception when running in an Ultra Task.
4.4
Stable
Resolved an issue with Salesforce Query returning inconsistent result sets.
4.3.2
Stable
SalesForce Lookup Snap: Implemented Pass-through on no lookup match property
Resolved an issue with Salesforce Upsert Snap failing with an error 'not valid for the type xsd:double'.
Resolved an issue with Salesforce SOQL Snap returning fewer results than SFDC returns.
Performance improvements made to Salesforce Read/SOQL Snaps with Bulk API in PK Chunking mode.
4.3
NA
NEW! Salesforce Batch Create added in this release.
Salesforce Wave ID field suggestions now include upstream schema.
Resolved an issue in Salesforce Lookup Snap failing to generate an output schema if more than 50 records are found.
4.22
NA
NEW! Salesforce Batch Create added in this release.
Resolved an issue with Salesforce Wave analytics throwing an error when metadata contained a hash symbol in number format.
Resolved an issue the failing to validate the account if the password contained a colon (:).
Salesforce Snaps now default to the latest Salesforce API version.
Create/Update/Upsert Snaps did not support related object mappings.
Salesforce Upsert - intermittently throws ViewChannelException since document was send to the closed output view
Salesforce Delete not using passthrough platform service
Salesforce Account: added custom login URL (for support of CipherCloud)
Salesforce Read: various updates for errors and performance improvements for > 1m rows being retrieved in Bulk API
Salesforce Write in Bulk API: enhanced batching support
NEW! Salesforce Wave Analytics added in this release.
Salesforce Upsert: External ID field is now suggestible.
Salesforce Read & Salesforce SOQL now accept 200 as a batch size.
Snaps with a Polling timeout property no longer have a maximum timeout limit.
Addressed the following issues:
Salesforce Account: Could not login to Salesforce, Endpoint Exception Error message is displayed.
Salesforce Analytics null pointer
Salesforce Attachment: NPE is displayed for Invalid Account.
The account settings for Salesforce.com now gives you the choice of either entering a token or entering an IP while list address range. If you need to create a token, you will need a non-admin user to generate the token for SnapLogic.
The Security Token is no longer required for Salesforce.com accounts.