Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


You can use this Snap to perform bulk SOQL queries using Salesforce Bulk API 2.0.

Image RemovedImage Added


Valid Salesforce OAuth 2 account with Read permissions.



for Ultra Pipelines

Works in Ultra Pipelines.


In Ultra Pipelines, set the Batch Size as 1 for the Snap to process one document/record at a time.



  • 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.
  • Can execute up to 10,000 query jobs in a 24-hour rolling window.

  • Can store up to 1TB of query results in a 24-hour rolling window.

  • Supports Salesforce Bulk Query service version 47.0 and above.
  • SOQL queries do not support the following commands:

    • COUNT



    • OFFSET

    • Nested SOQL queries


Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input Document
  • Min: 0
  • Max: 1
  • Mapper Snap
  • Filter
  • Router
A document containing values required for the bulk query.
  • Min: 1
  • Max: 1
  • Document to Binary
  • Salesforce Upsert

A document containing the results of the query performed by the Snap.

Snap Settings

Parameter NameFieldData Field TypeDescription

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.

Default ValueSalesforce Bulk Query
Example: Salesforce Bulk Query

Service versionVersion*


Specify the Salesforce Bulk Query service version the version number associated with the Salesforce service that you want to use for this queryconnect to. Alternatively, click the Suggestion Image Added icon to fetch the list of versions and select the desired version.

Default Value4752.0
Example: 4741.0

SOQL queryQuery*String

Specify the query in SOQL format. You can enter a JavaScript expression, which is evaluated each time the Snap is executed. As in the second example below, on each document received from the input view, the % symbols will be replaced with the value pointed to by the JSON path $.Id in the input data.


Paste code macro
"SELECT Name FROM Account"
"SELECT Id,Name,Phone FROM Account WHERE Id='" + $Id + "'and  
     Name='" + $name + "'"

titleUsing quotes in the WHERE clause
  • 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. 

Default value

Default Value: [None]
Example"select FirstName, LastName from " + $object + " order by Name LIMIT 5"

Max records per setRecords Per Set*Integer

Specify the number of records that you want the Snap to fetch in a single set.

Default Value10000

Polling intervalInterval*


Specify the number of seconds for which you want the Snap to wait between two queries. At each polling interval, the Snap checks the status of the Bulk API query batch processing.

Minimum value: 1

Maximum value: 60

Default Value5

Polling timeoutTimeout*Integer

Specify the number of seconds into the query batch execution before the query fails if it receives no response. If the timeout occurs while waiting for the completion of the query batch execution, the Snap throws a SnapExecutionException.

Minimum value: 10 

Default Value3000
Example: 300

Maximum retry attemptsRetry AttemptsInteger

Specify the maximum number of retry attempts that the Snap must make in case of a network failure. 

Minimum value: 1

Multiexcerpt include macro
pageFile Reader

Default Value5
Example: 1

Retry interval Interval (seconds)Integer

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

Minimum value: 0

Default Value1
Example: 3

Snap ExecutionString

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 ValueValidate & Execute
ExampleExecute only