Visual Workflow allows us to automate business processes by building applications, known as Flows. Using Flows, a user can collect information; or, they can update, edit, or create records in Salesforce. Furthermore, Flows can execute logic, interact with the Salesforce database, call Apex classes, Platform Events, and guide users through various screens to streamline the process of collecting and updating data.
Once a Flow is built, an Admin can make the Flow available to the right users or systems.
If you have the basic understanding of Apex then, you can write a query to get records and count the list size. For example, using Apex, one can get all Contacts that belong to city Alpharetta and, count list size, by writing the following code:
List<Contact> myContact = new List<Contact>(); myContact = [Select id, Email from contact where Mailingcity ='Alpharetta']; system.debug('Size of List'+myContact.size());
Now suppose you wonder, can I achieve the aforementioned outcome by using Flow? Well, you are in luck! For, before Summer’18 release, it was very complex to count the SObject Collection variable (Kind of equivalent to Apex list).
But, since Spring’18 release, a user can use Assignment element to count the SObject Collection Variable size and store that number in a variable without using the Loop element!
Business Use Case
Edward Backhouse is working as System administrator at GurukulOnCloud. He received a requirement to count Contact records where Mailing city equals Alpharetta. The new feature of Flow to rescue!
The solution for the above business requirement
There are few possible solutions for the above business scenario. One of them, of course, is to continue to use the old method, as shown in the preceding screenshot.
But, Edward is a Salesforce Ninja like us! And, therefore, he is always on a lookout for feature enhancements. As a result, Edward knows that, after Summer’18, he can solve the above requirement efficiently! So, instead of resorting to the old method, he takes following the steps:
- Edward navigates to Setup (Gear Icon) | Setup | Process Automation | Flows in Lightning Experience.
- Then he clicks on the New Flow button – which, in turn, opens the Flow canvas.
- Edward creates a Variable (to store record count) as shown in the following screenshot:
- The next step is to use Fast Lookup element to get all contact records where MailingCIty is Alpharetta. Edward clicks on the Palette tab and drag and drops the Fast Lookup element onto the canvas; this opens a new window. Next, he maps the Record Create element according to the following screenshot:
- The next step is to use an Assignment element to count the record in a SObject Collection variable. Edward clicks on the Palette tab and drag and drops the Assignment element onto the canvas; this opens a new window. Next, he maps the Record Create element according to the following screenshot:
- In the end, Edward’s Flow will look like the following screenshot:
- Basking in his success, Edward Saves the Flow (Type: – Screen Flow) and named it Record Counts in SOC. Finally, he and closed the canvas.
- As soon as he runs the Flow, voila! He gets the count of Contact records where Mailing City equals Alpharetta!
You too can follow Edward’s footsteps literally and figuratively! Just like Edward, keep an eye out for feature enhancements – such as the one we just discussed above. Don’t want to miss out on any enhancement? Then, visit https://automationchampion.com/ often to keep yourself abreast of any and all developments!
But for now, go ahead! Show off your newly acquired skills to your friends, colleagues, and families!
Please feel free to add constructive comments, insights – and yes, challenges too! – to the blog. Good Luck in your Journey towards becoming a Salesforce Ninja!
Technical Editor and Proofreader: - Munira Majmundar