Invocable methods used with Flow allow you to launch something in an admin friendly format that uses the massive power of Apex. For example, you have an intake screen that collects answers to a few questions, then you use Apex to loop through many related records dispersing those answers in places hard to reach from Flow.
Creating an invocable method in a nutshell: First you write an apex class with @invocable method (label and description) and whatever code you want the apex to do (easy, right?) Then make your Flow including your input and output variables. Then add an Apex action in Flow to send/receive those variables.
Here are some things I learned about sending data between Flow and Apex.
Record Collection Variable
List containing 1 sObject record
Record (single) variable
List of Lists of sObject
Record Collection Variable
This is NOT an exhaustive list at all. I didn’t try sending a record variable (not just the ID from Flow), but I assume that will work. There are also generic sObjects that are pretty special, but I didn’t try.
“Here is the use case: sending a family of a deceased relative one letter with all the names of people who have donated in memoriam. So, one letter to the family for many people who gave. Client is a large hospice so this is happening weekly. Open to different options — apps? exports & merge? other? Thanks!”
Broad use case: Use the new Collection Sort feature in Flow to find a specific number of records that meet your criteria, and sort them with one or more criteria (criterion?)
Example use cases: I want my top 3 open opps to have a giant dollar sign image on them or I want to automatically nudge/shame the five users who logged in least last month or I want to focus a campaign on my most active volunteers in the summer.
Our specific case: I want to look at a contact record in Nonprofit Success Pack and see immediately that they are one of my top ten donors.
Join me for a Salesforce.org webinar Intro to Flow on Thursday, Apr 9, 2020 9:00 AM – 10:00 AM PDT. Register here.
Remember back when there were community events and conferences? I had the honor to speak at Cactusforce in Phoenix in January — highly recommend this small event! So many MVPs, so many recognizable experts in one small event. And the weather was great.
Session Description: Flow Loops unlock incredible power previously held only by devs. Without using any code, Admins can create an automated process to loop through all related records and take actions based on what is found there!
If you’re a Developer, you’re probably fairly familiar with your org’s Governor Limits (CPU Time, SOQL queries, DML operations). But if you’re an Admineloper or Business Analyst, excited to design automation with new tools like process builder and visual flow, you might not be taking these limits into account, and subsequently hitting errors.
This last week I had the immense pleasure of presenting on this topic at Forcelandia. My session provided an overview of Governor Limits, how they pertain to Process Builder and Flow, and tips for avoiding hitting these limits with your clicks-not-code automation.
Salesforce’s Visual Workflow and Process Builder are incredibly powerful tools but can be very difficult to troubleshoot. I struggled to make these tools effective until I was able to get a glimpse of what was happening inside. Salesforce has some suggestions for how to troubleshoot failing flows but often these tools provide incomplete answers. Particularly for auto launched flows, these techniques are often insufficient.
Here’s an example of a “simple” flow that uses a Decision element. You don’t need to use flow to achieve the results – you could entirely stick to Process Builder. This flow is for educational purposes only.
Here’s the sitch: I want an automatic email to my customer when we quote a specific product. For example, “Dear Darnell McCustomer, for a limited time only, you can purchase the EDGE widget for $150!”
Caveat: I want this to be in an HTML template, not a Visualforce email, based on the Quote object. I can’t reach the price on the Quote Line Item from Quote in this format.
Flow took me from a “hmm…let me Google that” Salesforce admin to a confident “no record is too far out of reach” admin-eloper (admin/developer). Leadership changed at my company and I had to quickly differentiate myself from my new boss, a Salesforce administrator with way more experience than me. In our initial conversations, he made it clear he would prefer to have a developer working for him. Okay…. one developer, coming up!