Pragmatic Works Blog

Performing Joins Within the Salesforce Source from Task Factory

Written by Ken Wood | Feb 16, 2016

The question has been posed many times, “Is it possible to perform joins with Task Factory’s SalesForce Source component?” The answer is a resounding “YES!” Not only is it possible, but it’s actually very simple.

As you probably know by now, our Salesforce Source component uses SOQL to perform queries against SalesForce objects. You can modify and customize anything you wish within the rules of SOQL. A benefit to SOQL over SQL, in this regard, is when it comes to performing joins.

I’m only showing a basic overview of this today, but more information on how to write SOQL joins within Salesforce can be viewed at this link: Creating Joins in SOQL

To get started, let’s look at the Basic UI of the Salesforce Source from Task Factory. 

After we open the TF Salesforce Source we are greeted with this easy-to-navigate User Interface (UI) allowing simple selection and execution of Objects or the more advanced customizability a user may wish to explore.

As you can see in the picture below, we have a field titled, “SalesForce Object”. This is a drop-down menu and the Object you wish to explore can be selected here. For this test, we’re selecting the “Case” object.

Once the object is selected a default query is populated in the area highlighted in green. It is within this field we are able to modify/customize the query to fit our needs only after selecting the “Edit Salesforce Query” box. By selecting this box this allows the customization to begin!

 

We will modify this query to perform a simple Join to bring data from an entirely different object into our process for evaluation and execution.

For this example, we want to pull information from the Account object in Salesforce. More specifically, we need to pull the ‘Name’ field of the Account object from Salesforce and make it part of our Case object query.

To perform this task, all we have to do within the “Edit Salesforce Query” field is type the name of the Object we wish to pull from and the field associated with it we wish to return. In this case, we want to return the ‘Name’ field of the Account object.

To generate this successfully, we need to edit the query as follows and Select “Preview Data” to verify this query is valid and data is returned:

 

We can now see the Account.Name field is generated and we may proceed to set this information to our Destination table as we wish.