Invocable Methods: How to Send Data Between Flow and Apex

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.

SentSent FromReceived by Received
Record Variable.idFlowApexList<Id> listOfIds
Record Collection VariableFlowApexList<List<Opportunity>> nameOfThis
List containing 1 sObject recordApexFlowRecord (single) variable
List of Lists of sObjectApexFlowRecord 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.

Continue reading Invocable Methods: How to Send Data Between Flow and Apex

Send Tables in Email in Flow – NPSP Example #2 Memorial Gifts

This is the second in a series on sending email with an embedded table of records of NPSP objects. The first post was a list of payments.

“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!”

Rob asked in the Power of Us Hub, back in April

Well, I’m a few months late, but here you go, Rob. I made a Flow that sends out an email like the one below. I see now that you said “letter”…oops. Hopefully you figured out a solution by now, anyway!

Install this unmanaged package to try it out.

Continue reading Send Tables in Email in Flow – NPSP Example #2 Memorial Gifts

Use Summer ’21 Flow Collection Sort to Label Top Ten Donors

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.

Install this unmanaged package to try it out.

Continue reading Use Summer ’21 Flow Collection Sort to Label Top Ten Donors

Unsubscribe Link 3.10

Update: July 30, 2021 Now on the AppExchange!

Flow improved so much in 2020 (yes! a good thing actually happened in this Great-Pacific-Garbage-Patch of a year) that I was able to take out much of the complication of setting up this app.

And thanks to RAD Women Code courses 1 & 2, I was able to add a Visualforce controller and Apex Tests! I am so grateful to my incredible coaches and cohorts.

What matters for you is that it is much easier to install. It’s still not easy to install but hey, it’s 2021. You can handle what life throws at you.

Installation instructions here.

Requires Summer ‘21 and Salesforce Edition: Enterprise, Unlimited, Developer, Performance.

Continue reading Unsubscribe Link 3.10

Learn Flow Loops Video

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!

Towards the end of the video I talk about Spring ’20 amazingness with Flow that you can read more about here and here.

Go Ahead: Loop Through that Collection in Flow – Jessie Rymph from Marisa Hambleton on Vimeo.

 

Salesforce Automation: Phenomenal Cosmic Power (itty bitty query space)

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.

Continue reading Salesforce Automation: Phenomenal Cosmic Power (itty bitty query space)

Salesforce Flow: What is going on in there!?

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.

Flow error
Answering why this failed doesn’t have to be a rabbit hole.

Debug log to the rescue!


Continue reading Salesforce Flow: What is going on in there!?

Simple Parent/Child Flow with Decision

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.

Continue reading Simple Parent/Child Flow with Decision

How Flow Saved My Job

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!

i can be a developer Continue reading How Flow Saved My Job

Dynamic Picklist List Choices in Flow

You can’t do a user lookup inside a screen element in Flow, so create dynamic record choices instead! No need to hardcode the names of employees who might leave.

Features

  • Dynamic Record Choice – don’t need to hard code the values if they may change!
  • Default Picklist Value
  • Screen element in the flow.

Continue reading Dynamic Picklist List Choices in Flow