In this article
Table of Contents | ||||
---|---|---|---|---|
|
Overview
The Salesforce Lookup Snap is a Read-type Snap that provides the ability to format WHERE clause from input document stream for a SOQL (Salesforce Object Query Language) query. See Introduction to SOQL and SOSL for more information.
Note | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Prerequisites
A valid Salesforce account with the required permissions.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Note |
---|
In Ultra mode, ensure that you enable the Single Lookup Request property checkbox to process one document at a time. |
Limitations and Known Issues
None.
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 Document(s) in the view. Expressions in the Object type, Output fields, Conditions and Correlation ID properties can be evaluated with values from the input view during the execution. |
Output | Document |
|
| Documents |
Error | 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*
| String | Specify a unique 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 Lookup | ||||||||
Service Version* | String/Expression | | ||||||||
Salesforce API* | Dropdown list | This property sets the Salesforce API mode to Bulk API or REST API during the pipeline execution. | ||||||||
Object Type* | String/Expression/Suggestion | Specify the name of the Salesforce object or select one from the suggested list.
Default Value: Account | ||||||||
Output Fields* | Use this field set to define the field names for the Salesforce Object Query Language (SOQL) SELECT statement. Specify each output field as a separate row. Click to add a new row. | |||||||||
Output Fields* | String/Expression/Suggestion | Specify a list of field names for the SOQL SELECT statement. Alternatively, click the Suggestion icon to fetch the list of field names associated with the object type and select a field. The value for this field can also be an expression that will be evaluated against the values configured in Pipeline parameters only. Default Value: N/A | ||||||||
Conditions* | Use this field set to define conditions. Specify each condition as a separate row. Click to add a new row. | |||||||||
Conditions* | String/Expression | Specify the condition for the WHERE clause.
Default Value: N/A | ||||||||
Correlation ID | String/Expression/Suggestion | Specify an ID field name which the Snap uses to correlate input document to the output record when you want to pass through input data to the output view. Alternatively, click the Suggestion icon to fetch a list of IDs and select a ID.
Default Value: N/A | ||||||||
Single Lookup Request | Checkbox | Select this checkbox to enable the Snap to send one lookup request for each input document. In Ultra mode, ensure that you select this checkbox to process one document at a time. Default Value: Not selected | ||||||||
Polling Interval* | Integer/Expression | Specify the polling interval in seconds for the Bulk API query execution. At each polling interval, the Snap checks the status of the Bulk API query batch processing. Maximum value:: 60 This field can be an expression that will be evaluated against the values configured in Pipeline parameters only. Default Value: 5 | ||||||||
Polling Timeout*
| Integer/Expression | Specify 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 throws a SnapExecutionException.
Default Value: 3000 | ||||||||
Process Date/Time
| Checkbox | All date/time fields from Salesforce.com are retrieved as string type. If this property is unchecked, the Snap sends these fields without any conversion. If checked, the Snap converts date/time fields to corresponding date/time types by accessing the meta data of the given SObject. Salesforce datetime is converted to Joda DateTime, Salesforce date to Joda LocalDate and Salesforce time to Joda LocalTime. | ||||||||
Include Deleted Records
| Checkbox | Select this checkbox to include deleted records in the query result. This feature is supported in REST API version 29.0 or later and Bulk API version 39.0 or later. Default Value: Not selected | ||||||||
Pass-through on No Lookup Match | Checkbox | Select this checkbox to allow the input document to pass through to the output view when there is no lookup matching an input document. Else, the input document is written to the error view as an error condition. Default Value: Not selected | ||||||||
Match Data Type
| Checkbox | Select this checkbox to match the data types of the Bulk API results with the data types in REST API. This property applies if the content type is not JSON in Bulk API. In Bulk API, Salesforce.com returns all values as strings if Bulk content type is XML or Batch size is for PK Chunking. If this property is checked, the Snap attempts to convert strings values to the corresponding data types if the original data type is one of boolean, integer, double, currency, and percent. This property is ignored in REST API or with JSON Bulk content type. In Bulk API (not with JSON Bulk content type), Salesforce.com does not return any value for null. Therefore, if the value is null, the key-value entry is not present in the output document, which is different from the REST API result. Default Value: Not selected | ||||||||
Snap Execution | Dropdown list | Multiexcerpt include macro | | |||||||
name | Snap_Execution_Introduced | page | Anaplan Read
Example
Looking up Records
In the following example Pipeline, the Salesforce Lookup Snap shows how Salesforce object records can be looked up:
We use the Mapper Snap to map an account number to the AccountNumber field of a Salesforce object record.
The Salesforce Lookup Snap queries the Salesforce Object Account for the provided account number and specifies the output to contain only the BillingStreet value.
Successful validation of the Snap gives the following output.
Looking-up Records with REST API Using the Correlation ID
In this Pipeline, we read data from the Salesforce Read Snap using filter condition in WHERE clause, take the first 10 rows of data in Head Snap and pass those values in the Salesforce Lookup Snap using the Correlation Id property.
The Salesforce Read Snap reads the data from the SObject type Account, with the desired output fields as Name, Id, BillingCity and AccountNumber.
The output preview of the Salesforce Read Snap:
The Head Snap reads the first ten documents starting from 0, and the output preview is as displayed:
The values are passed from the Head Snap to the Salesforce Lookup Snap. The Salesforce Lookup Snap with the output fields, Id, Name and Type, and Id, given as the where condition. The Correlation ID is set to the ID.
Successful execution of the Pipeline displays the below output preview.
Looking-up Records with a Single Lookup Request
In this Pipeline, the Salesforce Read Snap reads the records from an object, maps the value of an ID, and passes the values to the Salesforce Lookup Snap.
The Salesforce Read Snap retrieves the records for the object, Account _c.
The Mapper Snap maps the values of the ID for the Account_c object and passes them to the Salesforce Lookup Snap.
The Salesforce Lookup Snap retrieves the data from the object, for the specified output fields and generates a SQL statement based on the condition ""Id = '" + $Id + "'".
The Successful execution of the pipeline displays the below output preview.
Looking-up Records Using Correlation ID
In this Pipeline, the Salesforce Read Snap reads the records from an object, maps the value of an ID, and passes the values to the Salesforce Lookup Snap.
The Salesforce Read Snap retrieves the records for the object, Account _c.
The Mapper Snap maps the values for the ID and the custom field, '$Customer_enq__c' for the object, Account_c, and passes them to the Salesforce Lookup Snap.
The Salesforce Lookup Snap retrieves the data from the object, for the specified output fields and generates a SQL statement based on the condition ""Id = '" + $Id + "'". selecting the custom field ($Customer_enq__c) as correlation ID,
The successful execution of the pipeline displays the below output preview:
Downloads
Multiexcerpt include macro | ||||
---|---|---|---|---|
|
Attachments | ||
---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|