Home » Mulesoft » Perform salesforce query using “in” Operator in Mulesoft

Perform salesforce query using “in” Operator in Mulesoft

Case: When we want to query on a Salesforce object for multiple records at a time instead of using “=” for each record inside a loop, use “in” operator to get records in a single request.

Example:

Set Variable: sfdcQueryParam

%dw 2.0
output application/java
---
"(" ++ ((['PROD-A','PROD-B','PROD-C','PROD-D']) map ("'" ++ $ ++ "'") joinBy ",") ++ ")"


Salesforce Query using Connector:
<salesforce:query doc:name="Product2" doc:id="49a4875c-b477-4733-b528-8c19ed5dcb06" config-ref="Salesforce_Config">
			<salesforce:salesforce-query ><![CDATA[SELECT Id, ProductCode FROM Product2 WHERE ProductCode in :sfdcQueryParam]]></salesforce:salesforce-query>
			<salesforce:parameters ><![CDATA[#[output application/java
---
{
	"sfdcQueryParam" : vars.sfdcQueryParam
}]]]></salesforce:parameters>
</salesforce:query>

Leave a comment