Log Email Sent Through Flow on a Contact Record

Shows the activity timeline of a contact record with one email message stored there sent at 2:46pm today with subject "Welcome to the family, Jemma!"
Log an email message on the contact record like this one.

When sending email from a contact record, it magically logs the message to your activity log. In classic, emails were/are automatically logged to the Activities related list. Well, flow doesn’t do that for you. Let me show you how to log it so you and your colleagues know when an email was sent to a contact.

After you add a “Send Email” action to your flow, add two more Create Records elements to the canvas. You will create records of these objects:

Continue reading Log Email Sent Through Flow on a Contact Record

Visual Studio Code: An Adventurous Admin’s Way to Move Metadata to Another Org

A few weeks ago I shared how to use a package to move metadata between unrelated orgs. That solution is perfect for sharing something you built with other people.

See you later, deployment fish!

When you’re moving metadata between orgs that you control (related or not), try Visual Studio Code! Don’t worry about the “Code” part. You don’t have to read it or write it to use VS Code.

VS Code has lots of benefits that I don’t understand yet (somehow you can use it to move profiles and FLS). I will now teach you all I know. 1) How to deploy between two orgs. 2) How to paste in some code to deploy sections in Flows.

Huge thanks to Brian Ricter for teaching me how to do this!

Prerequisites:

  • Install Visual Studio Code. It’s free!
  • Install the Command Line Interface
  • Install the Salesforce Extension Pack

If you haven’t done any of those yet, complete this really helpful trailhead Quick Start.

Continue reading Visual Studio Code: An Adventurous Admin’s Way to Move Metadata to Another Org

Use Stages in Screen Flow

Stages at the top of the flow screen show your users where they are in the process. It’s simple to set up this progress bar and adds some pizazz to your flow.

First Step: Install Lightning Component

Click here to install the package OR to avoid logging in again, append packaging/installPackage.apexp?p0=04t8c00000109IP after .com in your org URL. For example, if I’m logged into an org on this page https://playful-goatd.lightning.force.com/blahblahblah then I would remove blahblahblah and paste in packaging/installPackage.apexp?p0=04t8c00000109IP so I’d have https://playful-goat.lightning.force.com/packaging/installPackage.apexp?p0=04t8c00000109IP

Continue reading Use Stages in Screen Flow

10 Steps to Get Started with Salesforce Flow

Here’s my ordered list to help you get started learning Flow. It includes short and long videos, Trailhead modules and projects, hands-on training and “your turn” challenges to help you stretch what you’ve learned.

Starred items I had a role in creating.

1. Watch 4 Short Videos*

Get a very basic understanding of flow and some of the more difficult to grasp concepts. (Watch the first 4 and come back to the loops video later).

2. Complete the trail Build Flows with Flow Builder

This gets you started in Flow Builder and applies concepts you learned in the videos.

Continue reading 10 Steps to Get Started with Salesforce Flow

Understand Tricky Flow Concepts

Head on over to the Salesforce Admins blog to watch 5 new videos that I helped create that explain some tricky flow concepts with fun metaphors and images!

“Get Records” is like a big claw that grabs records from your database and
pulls them into Flow as variables!

Are you wondering…

  1. What are the most common types of flow?
  2. Why do I need to store information in variables?
  3. What is a record variable?
  4. Why on earth do I need to “Get Records?” Shouldn’t the records already be there?
  5. What does it mean for a variable to store multiple records?
  6. What are loops?
  7. What are Create Records, Update Records, and Delete Records?

Then these 5 new videos can help!

Year End Tax Receipt for Donors

Easy peasy list of all last year’s donations

Send your donors (contact records only) a tax receipt at the beginning of the new year listing all of last year’s donations. For Salesforce Nonprofit Success Pack users, this unmanaged package will generate a table for each donor listing the gifts they made last year. Use your own email to send a tax receipt by email. The table lists the amount, date and, optionally, the campaign name of each donation.

Package includes this sample template.

UPDATE 1/12: Now available on AppExchange!

CORRECTION 1/10: It does NOT work with Microsoft Word/Excel Mail Merge! I have not figured out how to get it to work. So sorry!

Thanks for the great app, just in time…Simple, easy, elegant, and just what we needed.

David, Eaglesrest.org
Continue reading Year End Tax Receipt for Donors

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.

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