5 Steps of Flow Loops

Repeat these steps whenever you need to look through a bunch of records

In less then 12 minutes, you’ll learn the five steps and be able to update the records in your collection.

Thanks to 100 Days of Trailhead for hosting this video on their YouTube channel and nudging me to make a follow up which will debut soon.

Continue reading 5 Steps of Flow Loops

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.

Invocable methods in Apex always receive a List and they return a List unless the return type is null. Read more under “Inputs and Outputs” here.

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

Should My Donation Page Default to Recurring Monthly Gifts? Ask Trump

On Tuesday, I gave a webinar with 4 tips to improve your online fundraising. Tip #3: “Thoughtfully set up recurring gifts.” Well, “thoughtfully” means two things: 1) with a lot of thought and 2) “with consideration for the needs of other people.” (Google’s English Dictionary). I meant both.

When the Trump’s campaign set up their donation pages with WinRed, they used deceptive design techniques to trick people into recurring and multiple gifts, says The New York Times. According to Harry Brignull, a user-experience designer quoted in the article, “the Trump team’s techniques were a classic of the ‘deceptive design’ genre. ‘It should be in textbooks of what you shouldn’t do,’ he said.”

In the webinar I suggested that organizations test out defaulting to recurring gifts to see how that works for them. One of my colleagues who has thoroughly studied the success of online fundraising efforts advised me against straight out recommending organizations default to recurring because it really depends on the donor base.

Continue reading Should My Donation Page Default to Recurring Monthly Gifts? Ask Trump

Send Emails with Tables in Flow – NPSP Example with Payments

This post is building on the work of the super-smarty Narender Singh aka ForcePanda aka @Nads_P07. With Spring ’21 rich text emails, you can now send tables with lists of child objects.

I followed his tutorial and built two flows specifically using Nonprofit Success Pack (NPSP) objects. The first one is a list of payments and the second is a list of completed volunteer activities. I’ll blog about the second one later. Also on the to-do list is to make one that lists all the gifts received in memory or in tribute to someone else.

Continue reading Send Emails with Tables in Flow – NPSP Example with Payments

Invite Contact to Next, Earliest, Upcoming Campaign Event

Let’s say your organization has 4 (virtual) workshops a year. When a new Contact is created from your website, you want to invite them via email to the NEXT workshop.

We’ll use a record trigger flow and two flow elements to do that. No loop!

Let’s get even fancier: we’ll use Scheduled Paths (#spring21) to send the email three days after the contact is created. Let’s use a formula to make sure the event starts more than six days from now – to give them three days notice before the event.

Said another way:

  • Day 1 Monday – Contact Created.
    • Record-triggered flow looks for the next upcoming workshop that is happening LATER than Day 7 and prepares to send an email.
  • Day 4 Thursday – Email sent inviting person to next workshop.
  • Day 7 Sunday – He rested.
  • Day 29 – Our next workshop!

The entire flow is so simple!
Continue reading Invite Contact to Next, Earliest, Upcoming Campaign Event

Send Email From Anyone* in Flow

In my Unsubscribe Link app, (yes, that again) the Flow sends out an email from the user running the Flow, which in that case is a Site Guest User. And the email comes from “[Insert Company Name] Site Guest User” which is weird and confusing. I’ve finally googled to learn the secrets of some fields in the Flow “Send Email” Action. And it’s pretty basic and very much a “why didn’t I google this before” moment.

In Flow’s “Send Email” Action, plug in an organization wide email addresses into “Sender Address” and type “OrgWideEmailAddress” in as Sender Type and bob’s your uncle. Want more of an explanation? Keep reading!

This is an image of the gentleman to which the phrase "Bob's Your Uncle" is supposed to refer. He's a bald, bearded gent in the late 1800s.
Continue reading Send Email From Anyone* in Flow

Pass Record Id to Flow in Quick Action

Are you reading Samantha Shain’s blog The Data Are Alright yet? I LOVE how she talks through all the ups and downs of building her first flow – which is a really complicated one, by the way! She shares her thought processes, her research and her frustrations, pride and other feelings so openly. So if you see an increase in feelings shared here, you know who inspired me!

In Sam’s post, she mentions a few things that she had trouble figuring out. She uses a custom button or link with a URL to pass a record id to a Flow. As she guessed, there is a more elegant way to do it. So elegant even Lady Whistledown would approve.

Netflix marketing image of the TV show Bridgerton. A bunch of fancy people looking fancy.
Look to Miss Daphe Bridgerton, this year’s prize debutante, for the most tawdry yet elegant flow solutions in the ton.

CORRECTION: Sam tweeted “I got it from a Quick Action eventually on my own (I wish I had this resource then), but what I really needed was to pass in a *group* of ids from a list view… which afaik is not possible without code.”

Continue reading Pass Record Id to Flow in Quick Action