Salesforce Read

In this article

Overview

Salesforce Read is a Read-type Snap that provides the ability to retrieve all records for all fields of a Salesforce object from Salesforce.

To use newer Salesforce objects, use the latest API versions where those objects are available.

Overview of settings

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Task Pipelines.

Limitations

  • When using Primary Key (PK) Chunking mode in this Snap, the output document schemas in preview mode and execution mode may differ. For more information, refer to the note in PK Chunking.
  • When you run more than 10 Salesforce Snaps simultaneously, the following error is displayed
    Cannot get input stream from next records URL" or "INVALID_QUERY_LOCATOR"
    We recommend that you not use more than 10 Salesforce Snaps simultaneously because this might lead to the opening of more than 10 query cursors in Salesforce. Refer to this Salesforce Knowledge Article for more information.

Known Issues

None.

Snap Views

Type FormatNumber of ViewsExamples of Upstream and Downstream SnapsDescription
InputDocument
Min: 0
Max: 1

Mapper

Copy

This Snap has at most one input view.
OutputDocument
Min: 1
Max: 2
Mapper

The snap allows you to add an optional second output view that exposes the schema of the target object as the output document.

ErrorDocument

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

Description

Label*


Default Value: Salesforce Read
Example
: Salesforce Read

String

Specify 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.

Salesforce API*


Default ValueREST API 
ExampleBulk API
 

Dropdown list

Choose the Salesforce API mode to use during the pipeline execution. The available options are:

  • REST API
  • Bulk API

We recommend you to set the Salesforce API mode to Bulk API if the table size of the Salesforce object referred to in the Object Type field is large (that is, 10,000 records or more) to prevent the time-out or connection error.

Service Version*

Dropdown list

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 Value52.0 
Example41.0

Batch Size*


Default Value2000 
Example
2000

Dropdown list

Specify the size of the records to process in each batch for downloading large query results. Each batch read requires an API call against Salesforce to retrieve the set of records.

  1. REST API: The batch sizes 200 and 2000 are valid in REST API.
    According to the SFDC REST API documentation:
    "There is no guarantee that the requested batch size is the actual batch size. Changes are made as necessary to maximize performance."
    In fact, if the size of each record in the query result is relatively large (for example, a few hundred output fields), SFDC may respond in a batch size of 200, And if the size of each record in the query result is relatively small, SFDC may respond in a batch size of 2000 regardless if the Batch size is set to 200 or 2000.

  2. Bulk API: If you select the Use PK chunking if supported checkbox, the value from Batch Size is used as the PK chunking batch size. Refer to PK Chunking for more details.

    The status of the submitted bulk job and its batches can be monitored by logging in to your Salesforce.com account and going to Setup. From Setup, enter Bulk Data Load Jobs in the Quick Find box, then select Bulk Data Load Jobs. 


    According to the SFDC Bulk API documentation (Number of attempts to query):
    15 attempts at 10 minutes each to process the batch. There is also a 2-minute limit on the time to process the query. If more than 15 attempts are made for the query, an error message of 'Tried more than fifteen times' is returned. If the query takes more than 2 minutes to process, a QUERY_TIMEOUT error is returned.
    Therefore, if the query is expected to take a long time to execute (for example, if the target SObject has more than several hundred thousand records and the number of output fields in a record is more than a few hundred), it is highly recommended to set this property to 100,000 or 250,000 to avoid timeout errors.

The Snap validates using the Bulk API, even if you configure the Snap to use Bulk API with Primary Key (PK) Chunking.

Use PK chunking if supported


Default ValueDeselected

Expression/Checkbox

Appears when you select Bulk API from the Salesforce API dropdown.

Select this checkbox to use PK chunking for the bulk API request if the object supports PK chunking.

If you select this checkbox, the value from Batch Size is used as the PK chunking batch size. Please note that the chunk size applies to the number of records in the queried table rather than the number of records in the query result. For example, if the queried table has 10 million records and 250,000 is selected for Batch Size, 40 batches are created to execute the bulk query job. One additional control batch is also created and it does not process any records. Learn more about PK Chunking.

You can enable expressions for this field in order to use input values from the pipeline parameters.

Pipeline parameters are strings, and any non-empty string is treated as true in the SnapLogic Expression Language. If you create expressions for Boolean properties that use pipeline parameters, keep this in mind. For example, _IncludeDeleted does not work correctly when the value is false. Instead, use _IncludeDeleted == 'true'

Object Type*


Default ValueAccount
Example
Account

String/Expression/Suggestion

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

The Snap does not support Net Zero Cloud Salesforce objects

Output Fields

Use this field set to enter a list of field names for the SOQL SELECT statement. If left empty, the Snap selects all fields.

Output Fields

Default Value: N/A
Example
:

  • Id
  • Name
  • ShippingAddress
String/Expression/SuggestionEnter output field for SOQL statement.

Output Field Limit

Default Value:  N/A

String/Expression

Specify the number of output fields to return from the Salesforce object.


Output Field Offset


Default Value:  N/A

String/Expression

Defines a starting field index for the output fields. This is where the result set should start. 

If you enter an offset value that is greater than 1, the first field "ID" is always returned, but the following fields start from the offset position. This is because the first field is the only unique identifier.

Where Clause
 

Default Value: N/A
Example: Id > '001i0000007FVjpAAG'

String/Expression

Enter the WHERE clause for the SOQL SELECT statement. Do not include the word WHERE.

Using quotes in field names values

  • Do not use quotes for field names in the WHERE clause. Using quotes results in an error.
  • Use only single quotes for values in the WHERE clause as using double quotes results in an error.
  • The above rules do not apply when you are using SnapLogic expressions, you can use quotes for the field names and values as applicable. 

Order By Clause


Default Value: N/A
Example
:LastName, FirstName

String/Expression
Enter the ORDER BY clause that you want to use with your SOQL SELECT Query.

PK Chunking does not support the ORDER BY clause.

Limit Clause


Default Value: N/A
Example
: 2000

String/Expression
Enter the LIMIT clause that you want to use with your SOQL SELECT Query.

PK Chunking does not support the LIMIT clause.


Polling Interval*


Default Value:  5
Example
:  5

String

Define the polling interval in seconds for the Bulk API read execution. At each polling interval, the Snap checks the status of the Bulk API read batch processing.
Maximum value:  60 


Polling Timeout*


Default Value: 3000
Example
: 300

String

This property allows you to define the polling timeout in seconds for the Bulk API read batch execution. If the timeout occurs while waiting for the completion of the read batch execution, the Snap displays an exception.


Process Date/time


Default ValueDeselected

Checkbox

All date/time fields from Salesforce.com  are retrieved as string type.

Select this checkbox to allow the Snap to convert date/time fields to corresponding date/time types by accessing the metadata of the given SObject.

  • Salesforce datetime is converted to Joda DateTime,
  • Salesforce date to Joda LocalDate, 
  • Salesforce time to Joda LocalTime.

Deselect this checkbox to allow the Snap to send these date/time fields without any conversion.


Include Deleted Records

Default ValueDeselected

Expression/Checkbox

Select this checkbox to allow the Snap to include deleted records in the query. This feature is supported in REST API version 29.0 or later and Bulk API version 39.0 or later.

You can enable expressions for this field in order to use input values from the pipeline parameters.

Pipeline parameters are strings, and any non-empty string is treated as true in the SnapLogic Expression Language. If you create expressions for Boolean properties that use pipeline parameters, keep this in mind. For example, _IncludeDeleted does not work correctly when the value is false. Instead, use _IncludeDeleted == 'true'



Pass Through


Default ValueSelected

Checkbox

Select this checkbox to pass the input document to the output view under the key 'original'. This is applicable for REST and Bulk APIs.


Ignore Empty Results


Default ValueSelected

 

Checkbox

Select this checkbox to ignore empty results; no document will be written to the output view when the operation does not produce any result. If this property is not selected and Pass Through is selected, the input document will be passed through to the output view.

If you do not select both the checkboxes, Ignore Empty Result and Pass Through, the Snap writes an empty output as below:

[{}]

This property does not apply when you run the Snap in the Bulk API mode.

When you run the Snap in Bulk API mode, if the Salesforce result is empty, the Snap does not pass the input document to the output view even if the Pass Through checkbox is selected.


Bulk Content Type


Default Value:  XML
ExampleJSON

 

Dropdown list

Select the content type for Bulk API: JSON or XML.  

The numeric type field values will be read as numbers in JSON content type, and as strings in XML content type, in the output documents.

JSON content type for Bulk API is available in Salesforce API version 36.0 or higher.

In REST API, the number-type field values will always be read as numbers. If the Bulk API has been selected along with 100,000/ 250,000 as batch size value, the content-type will always be CSV regardless of the value set in this property.

Number Of Retries


Default Value: 1
Example
: 3

String/Expression

Specify the maximum number of retry attempts in case of a network failure.

  • If the value is larger than zero in PK-Chunking, the Snap overrides user settings and sets Use temp files in PK-Chunking property to true.

  • In Bulk API and PK-Chunking modes, the Snap downloads each batch of data into a temporary local file. When the download is complete, the Snap writes the output documents parsed from the temporary file to avoid the possibility of duplicated output documents in the downstream Pipeline. Ensure that the local drive has sufficient free disk space in the node where the Pipeline executes. All temporary local files are deleted when they are no longer needed.

Minimum value: 0


Retry Interval (seconds)


Default Value: 1
Example
: 3

String/Expression

Specify the minimum number of seconds for which the Snap must wait before attempting recovery from a network failure.

Minimum value: 0


Match Data Type


Default Value: Not selected

 

Checkbox

Select this checkbox to match the data types of the Bulk API results with the data types of the REST API. This property applies only when the content type is XML for Bulk API (it does not apply to JSON). If the Bulk content type is XML, Salesforce.com returns all values as strings. If Match data type is selected, the Snap attempts to convert string values to the corresponding data types if the original data type is one of the following: boolean, integer, double, currency, or percent. 

This property is ignored in REST APIs or when the Bulk Content Type is JSON. For Bulk API, Salesforce.com does not return any value for null.

This Snap does not honor the selection of the Match Data Type checkbox if the Use PK chunking if supported checkbox is also selected.


Advanced Properties  

Use this field set to define additional advanced properties that you want to add to the Snap's settings. Additional advanced properties are not required by default, and the field-set represents an empty table property. Click  to add an advanced property. 

This field set contains the following fields:

  • Properties
  • Values

Properties

Dropdown list

You can use one or more of the following properties in this field:

PropertyDescription

Use temp files in PK-Chunking


Default Valuefalse
Exampletrue

Enter true if Groundplex is located where the network connection to SFDC is relatively slow. This will have the Snap in PK-Chunking download CSV files into compressed temporary local files in order to prevent SFDC to close input streams prematurely. Ensure that the Groundplex node has sufficient free disk space. Compressed local files are less than 10% of the total CSV data size.

Setting this property to true may also be necessary if any of the downstream Snaps are relatively slow in processing the document stream. By default, the Snap in PK-Chunking downloads, parses and writes to the output view in streaming mode without using large memory or temporary files. In a normal network condition, this streaming mode is efficient and scalable. However, it has been observed that SFDC tends to close HTTP input streams prematurely if client apps pause reading the input stream momentarily to perform other processing.

Number of threads in PK-Chunking


Default Value8
Example: 2

In PK-Chunking, the Snap invokes multiple threads to download CSV files in parallel with one CSV file per each thread. The maximum number of threads is 8 by default, but a lower number may be more efficient if the network connection to SFDC is relatively slow or downstream Snaps are slow in processing documents.

Validate record count downloaded in Bulk API


Default Valuefalse
Exampletrue

This is a boolean property that applies to Bulk API where the batch size 10,000 or less (not including PK Chunking). If set to true, the Snap checks if the number of records downloaded is the same as the one processed in Salesforce.com.

Mismatch in Record Count - Error View

If it is enabled (set to true), it is recommended that the Error View is enabled to allow the Snap to show record-count mismatch.

Disable automatic vertical slicing


Default Valuefalse
Exampletrue

The Salesforce SELECT query does not support wildcards in field lists, and its query length cannot exceed 20,000 characters. When Output fields, Output field limit, and Output field offset properties are empty, the Snap formats the entire list of column names in the SELECT statement. If the query exceeds 20,000 characters, the Snap divides the query into two or more queries, executes them separately, and merges the query results automatically. This Snap feature is called Vertical Slicing.

The Vertical Slicing feature may fail if columns used in the WHERE clause or ORDER BY clause change their values during query executions (for example, if the column is SystemModStamp). Since the query length threshold used in the Snap is smaller than 20,000 characters, disabling the automatic vertical slicing feature may resolve the issue if the actual query length is between the internal threshold and 20,000 characters.

ValuesString

The value that you want to associate with the property selected in the corresponding Properties field. The default values for the expected properties are:

PropertyValue

Use temp files in PK-Chunking

false
Number of threads in PK-Chunking8
Validate record count downloaded in Bulk APIfalse
Disable automatic vertical slicingfalse

Snap Execution

Default Value: Validate & Execute
Example
: Execute only

Dropdown list

Select one of the following three modes in which the Snap executes:

  • 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.


Temporary Files

During execution, data processing on Snaplex nodes occurs principally in-memory as streaming and is unencrypted. When larger datasets are processed that exceeds the available compute memory, the Snap writes Pipeline data to local storage as unencrypted to optimize the performance. These temporary files are deleted when the Snap/Pipeline execution completes. You can configure the temporary data's location in the Global properties table of the Snaplex's node properties, which can also help avoid Pipeline errors due to the unavailability of space. For more information, see Temporary Folder in Configuration Options

PK Chunking

PK chunking splits bulk queries on very large tables into chunks based on the record IDs, or primary keys, of the queried records. Each chunk is processed as a separate batch that counts toward your daily batch limit. PK chunking is supported for the following objects: Account, Campaign, CampaignMember, Case, Contact, Lead, LoginHistory, Opportunity, Task, User, and custom objects. 

PK chunking works by adding record ID boundaries to the query with a WHERE clause, limiting the query results to a smaller chunk of the total results. The remaining results are fetched with additional queries that contain successive boundaries. The number of records within the ID boundaries of each chunk is referred to as the chunk size. The first query retrieves records between a specified starting ID and the starting ID plus the chunk size, the next query retrieves the next chunk of records, and so on. Since Salesforce.com appends a WHERE clause to the query in the PK Chunking mode, if SOQL Query has LIMIT clause in it, the Snap will submit a regular bulk query job without PK Chunking.

Learn more about the Salesforce PK Chunking Header.

If you select the Use PK chunking if supported checkbox, the value from Batch Size is used as the PK chunking batch size. Please note that the chunk size applies to the number of records in the queried table rather than the number of records in the query result. For example, if the queried table has 10 million records and 250,000 is selected for Batch Size, 40 batches are created to execute the bulk query job. One additional control batch is also created and it does not process any records. The status of the submitted bulk job and its batches can be monitored by logging in to your Salesforce.com account and going to Setup. From Setup, enter Bulk Data Load Jobs in the Quick Find box, then select Bulk Data Load Jobs.

PK Chunking requires Service Version 28.0 or later, cannot be used with Order By Clause or Limit Clause, and isn’t available for all Salesforce objects. Therefore, if Bulk API and Use PK chunking if supported are selected but other settings in the Snap don’t support PK chunking, the Snap will submit a regular bulk query job without PK chunking and display a warning that PK chunking was not used.

If your account doesn’t support PK chunking and you’re using the Bulk API, deselect the Use PK chunking if supported checkbox.


The output document schemas in preview mode  (validation) and execution mode for this Snap may differ when using Primary Key (PK) Chunking mode. This is because the Snap intentionally generates the output preview using regular Bulk API instead of PK Chunking, to reduce the costs involved in the PK Chunking operation.
Salesforce recommends the use of PK Chunking if the target Salesforce object (table) is relatively large (for example, more than few 100,000 records).

Examples


Pipeline: Salesforce.com Data to a File: This Pipeline reads data using a Salesforce read and writes it to a file. 

Reading Records from an Object

The following Salesforce Read Snap shows how the Snap is configured and how the object records are read. The Snap reads records from the Account object, and retrieves values for the fields, Idname, & type where the type field value is Analyst:  

Successful execution of the Snap gives the following preview:

 

Reading Records in Bulk 

The Salesforce Read Snap reads the records from the Standard Object, Account, and retrieves values for the 10 output fields (Output field limit) starting from the 3rd field (Output field offset). Additionally, we are passing the values dynamically for the Access token and the Instance URL fields in the Account settings of the Snap by defining the respective values in the pipeline parameters.  

1. The Salesforce Read Pipeline. 

2. The Key and Value parameters are assigned using the Edit Pipeline property on the designer. 

For this Pipeline, define the two Pipeline parameters:

  • access_Token
  • instance_URL

3. The Salesforce Read Snap reads the records from the Standard object, Account, to the extent of 10 output fields starting from the 3rd record(by defining the properties- Output field limit and Output field offset with the values 10 and 3 respectively).

4. Create a dynamic account and toggle (enable) the expressions for Access Token and Instance URL properties in order to pass the values dynamically.

Set Access token to _access_token and Instance URL to _instance_url. Note that the values are to be passed manually and are not suggestible. 

 

5. Successful execution of the Pipeline displays the below output preview:

Using Second Output View

This example Pipeline demonstrates how you can add an optional second output view that exposes the schema of the target object as the output document. For this, we configure the Pipeline using the Mapper and Salesforce Read Snaps.


First, we configure the Mapper Snap as follows. Upon validating the Snap, the target schema is populated in the Mapper Snap. Once this is available, we define the target path variables from the target schema.

Upon validation, the following output is generated in the Snap's preview.

Next, we configure the Salesforce Read Snap to read the specified records.

Upon validation, we can see the following outputs in both the output views of the Snap.

Output0 (default)

Output 1

Snap Pack History

 Click to view/expand
Release Snap Pack VersionDateType  Updates
November 2024439patches29014 Latest

Fixed an issue with the Salesforce Lookup, SOQL, and SOSL Snaps, where errors were not routed to the error pipeline when Route Error Data to Error View was enabled, and a referenced expression variable was missing in the upstream or pipeline parameters.

November 2024main29029 StableUpdated and certified against the current SnapLogic Platform release.
August 2024438patches28607 Latest

Fixed an issue with the Salesforce Publisher Snap where an invalid session triggered infinite retries, resulting in many open file descriptors that eventually crashed the node.

August 2024438patches28040 Latest

Fixed an issue with the Salesforce SOQL Snap where the URL encoding was improperly applied to sandbox instance URLs. Now, the Snap ensures URL sandbox instance URLs are properly encoded.

Breaking change from Salesforce

Salesforce is retiring some of the hostnames for non-enhanced domains from August 2024:

  • Redirections for legacy (non-enhanced) hostnames stop in production orgs and demo orgs. Production orgs get this release starting in January 2025.

  • Redirections for legacy (non-enhanced) hostnames stopped in sandboxes, Developer Edition orgs, patch orgs, scratch orgs, and Trailhead Playgrounds.

When deploying a new My Domain, including enhanced domains, Salesforce automatically redirects previous URLs. For detailed information, such as hostname formats for legacy (non-enhanced) domains, refer to the Prepare for the End of Redirections for Non-Enhanced Domains.

To align with Salesforce’s redirection changes for non-enhanced domains, the classic URL format (https://snaplogic--devqa.my.salesforce.com/) is no longer supported for Sandbox environments. As a result, any existing Salesforce pipelines using classic URLs will stop functioning as before.

Workaround

To run your pipelines successfully, you must append sandbox to your classic URLs: https://snaplogic--devqa.sandbox.my.salesforce.com/

Learn more about the enhanced domains deployment by Salesforce.

August 2024main27765 StableUpgraded the org.json.json library from v20090211 to v20240303, which is fully backward-compatible.
May 2024437patches27307 Latest

Fixed authentication issues with the Salesforce Subscriber Snap in the Ultra Pipeline to ensure the Snap reauthenticates and reconnects as expected.

May 2024

main26341

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2024436patches25626 LatestEnhanced the Salesforce Bulk Create, Bulk Delete, Bulk Query, Bulk Update, and Salesforce Bulk Upsert Snaps to include the complete error details under the original object that contains the copies of the failed input records.
February 2024436patches25192 Latest

Fixed an issue with the Salesforce Mutual Authentication Account where the 8443 port was not used while authorizing the account. Now, the access token request uses the 8443 port for authorizing the Mutual Authentication Account.

Breaking change

Prior to 436patches25192, the Salesforce Mutual Authentication Account supported default Login URLs such as https://login.salesforce.com and https://test.salesforce.com. From 436patches25192, this account no longer supports the default Login URLs—your existing pipelines using the Mutual Authentication Account with the default Login URLs might break.

To prevent this breaking change, you must provide a valid Salesforce Login URL as part of your account configuration.

February 2024main25112 StableEnhanced the Salesforce Bulk Query Snap with expression support for the Include Deleted Records checkbox.
November 2023435patches24747 LatestFixed an issue that caused the input stream to not close properly, which resulted in stale connections.
November 2023435patches24368 Latest

Enhanced the performance of the Salesforce Bulk Query Snap with a new Maximum threads field. This field enables you to download query results simultaneously in multiple threads.

November 2023435patches24006 Latest

Enhanced the Salesforce Read Snap by adding expression enablement to the following checkboxes:

  • Use PK chunking if supported

  • Include Deleted Records

November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.
August 2023434patches23646 LatestFixed an issue where a long-running pipeline containing the Salesforce Subscriber Snap would suddenly stop responding.
August 2023434patches22537 Latest

Improved the Salesforce Bulk Upsert Snap error messages by limiting the length of the reason displayed with the error.

August 2023main22460 StableUpdated and certified against the current SnapLogic Platform release.
May 2023433patches21367 Latest
  • The Salesforce SOQL Snap now honors the selection of the Match Data Type checkbox when the value entered for Batch Size is greater than 50,000.

  • The Salesforce Read Snap now honors the selection of the Match Data Type checkbox if the Use PK chunking if supported checkbox is also selected.

May 2023

main21015 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023432patches20586 Latest

Fixed an issue with the Salesforce SOQL and Salesforce Read Snaps where the Match Data Type checkbox selection was not honored if the Salesforce API field was set to Bulk API.

February 2023432patches20393 Latest
February 2023432patches20145 LatestFixed an issue with the Salesforce Read Snap that was causing an error for the Time data type.
February 2023432patches20087  Latest

The Salesforce Create, Update, and Upsert Snaps now include an Apply active assignment rules checkbox so you can control whether to use assignment rules for the selected object

February 2023

432patches20008

 Latest
  • Fixed an issue with the Salesforce Read Snap where using the bulk API request would fail due to column specification.
  • Added support to use PK chunking on any batch size with the bulk API request and to automatically disable PK chunking if it is known that it cannot be done

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 Stable Upgraded with the latest SnapLogic Platform release.
October 2022430patches18769 Latest
  • The Salesforce Bulk Query Snap now includes the following checkboxes:

    • Match Data Type: Select this checkbox to match the data types of the bulk query job results.

    • Include Deleted Records: Select this checkbox to include deleted records in the query result.

  • The Salesforce Delete Snap in REST API no longer fails with NPE if a new OAuth2 account is used.

  • The Salesforce Read Snap now stops gracefully on a forced stop (without throwing cryptic errors).

  • The Salesforce Update and Salesforce Upsert Snaps no longer fail with the message "Error occurred while executing request to Salesforce.com" when a redirection is needed.

September 2022430patches18125 Latest

The Salesforce Bulk Create, Salesforce Bulk Delete, and Salesforce Bulk Update Snaps are now working as expected without displaying the error Error while processing Data and without returning 301-error while processing the data.

September 2022430patches18036 Latest

The Salesforce Read Snap now correctly parses the 2-byte UTF-8 characters in Windows OS in the PK chunking mode.

August 2022main17386 Stable
  • Updates in Salesforce Subscriber Snap:

    • 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.

  • You can select the Null Setting with Bulk API checkbox in the Salesforce Update, Salesforce Create, and Salesforce Upsert Snaps to format null values in the input document.

4.29 Patch

429patches16708 Latest
  • Updates in Salesforce Subscriber Snap:
    • 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 the Replay ID value to -2 to get all available messages.
  • Made the Null Setting with Bulk API checkbox in the Salesforce Update, Salesforce Create, and Salesforce Upsert Snaps visible, to format a null value.

4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.28 Patch428patches14355 

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.28main14627 StableUpgraded 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 Patch427patches13944 LatestFixed 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 Patch427patches13789 Latest

Fixed the following issues with Salesforce Snaps:

  • High memory use due to leaked resources.

  • Hung Pipelines due to blocked threads.

4.27main12833Stable
4.26 Patch426patches12054 Latest

Enhanced the Salesforce Subscriber Snap with improved resilience to network failures and fixed an issue with duplicate documents.

4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10182 LatestFixed 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 Patch425patches9609 LatestEnhanced 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.25main9554
 
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.
4.24 Patch 424patches9024 Latest
4.24 Patch 424paches8569 Latest

Fixes an issue in Salesforce Bulk Upsert, Salesforce Bulk Update, and Salesforce Bulk Create Snaps that fail to process Related object and Related external ID values by modifying the input schema that formats the CSV data.

Potential Breaking Change

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.24main8556
StableUpgraded with the latest SnapLogic Platform release.
4.23 Patch 423patches7888 Latest
4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22main6403
 
StableUpgraded 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.21snapsmrc542

 

StableUpgraded 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.

4.20snapsmrc535
 
Stable

Added the Salesforce Bulk Query Snap, which enables you to perform bulk SOQL queries on Salesforce.

4.19snaprsmrc528
 
Stable
4.18 Patch salesforce7832 Latest

Enhanced the Salesforce Subscriber Snap to capture Change Data Capture (CDC) events.

4.18snapsmrc523
 
StableUpgraded 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.17ALL7402
 
Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17snapsmrc515
 
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 LatestAdded 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.16snapsmrc508
 
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.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.

4.14 Patch 

salesforce5670

 LatestFixed the Salesforce SOQL Snap that fails to execute if the parameter values of a SOQL query expression contain the WHERE clause.
4.14snapsmrc490
 
StableUpgraded 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 Patchsalesforce4839 Latest

Fixed a defect that occurs when downstream Snaps are slow in processing documents downloaded from SFDC.

4.12 Patchsalesforce4773 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 Patchsalesforce4299 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.11snapsmrc465
 
Stable

Polling timeout property's default value increased to 3000 from 300 for Salesforce Lookup, Salesforce Poller, Salesforce Read, and Salesforce SOQL Snaps.

4.10 Patchsalesforce4005 Latest

Salesforce Poller Snap: Includes the success field in the output.

4.10

snapsmrc414

 
StableUpgraded with the latest SnapLogic Platform release.
4.9.0 Patchsalesforce3218 Latest

Fixed the error in PK Chunking when a downstream Snap is blocking the pipeline

4.9.0 Patchsalesforce3247 Latest

Addressed an issue withSalesforce Poller Snap causing JSON Formatter to throw ConcurrentModificationException.

4.9.0 Patchsalesforce3225 Latest

Addressed a null pointer exception in the Salesforce Update Snap. This exception was present in both salesforce3082 and salesforce3122.

4.9snapsmrc405
 
Stable

Updated the Salesforce Create, Batch Create, Delete, Poller, Update and Upsert Snaps with Pass through property.

4.8.0 Patchsalesforce2884 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.6snapsmrc362
 
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.5snapsmrc344NALatest
  • 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.