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!


  • 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

Live Session 7/26 on Flow Error Handling

Join MVP Aleks Radovanovic (Okta) at Salesforce Labs Day on July 26, 8am PT as she discusses my* Salesforce Labs solution for Flow Error Handling.

Session Description: With Flow becoming the dominant declarative automation tool, business problems we are solving with automation are becoming more complex. We need to be able to build scalable Flows that are easy to maintain, upgrade and troubleshoot, but handling errors in Flows is not always intuitive and user friendly process. Flow Error Handling solution from Salesforce Labs helps Admins to discover Flow errors in faster and more straightforward way. In this session we will show how Admins can use this Salesforce Labs Flow solution to pinpoint exactly where the process went wrong and obtain crucial details of the recorded incident that will help with troubleshooting and fixing the problem in a timely manner.

Get the app from AppExchange here.

Register for Salesforce Labs Day here.

*Thomas George taught me how to handle flow errors this way when we worked together at Optimum Energy. I love that I got to share it with others through Salesforce Labs.

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

Packages: Admin-Friendly Way to Move Metadata to Another Org

I build cool shit in Salesforce that I want to share with other people. How do I do that quickly and easily? I make an unmanaged package.

  • From Setup, search for and go to Package Manager.
  • Click New.
  • Fill out the form. Give yourself credit for creating the package and a way to get more information in applicable.
  • Don’t check “Managed.” By leaving it unchecked, you allow people who install it to make their own modifications.
Continue reading Packages: Admin-Friendly Way to Move Metadata to Another Org

Show Records in Tiles in Experience Cloud

Allow experience users to select a record by clicking on a joy-filled image instead of choosing from a boring old list view. Spark joy by adding records to a CMS Collection and adding fields to the object for your image, tagline, etc. and creating a (behind the scenes) boring old list view.

Happy pride month!

This example is for a community foundation – a nonprofit that helps donors give their money to other organizations that match their passions, like the Seattle Foundation or the Columbus Foundation. Above we see a selection of LGBTQIA organizations and below Animal Welfare orgs.

Ready to start building? Let’s go!

Continue reading Show Records in Tiles in Experience Cloud

Get Salesforce Practice by Tracking Your Habits

Want more practice learning Salesforce? Don’t have experience beyond Trailhead? Build an app to help you track good or bad habits. This is a win-win-win: hone your app builder skills, improve your habits, and you’ll have a cool app to show off in job interviews.

Salesforce Skills Used

  • Create a custom object and fields
  • Create reports
  • Create dashboard components
  • Make it mobile friendly
  • Problem solving: how to turn real life issues into measurable data
  • Send email every 3 days with stats
  • Bonus: Screen flow for easy tracking

My version: Migraine Tracking App

Forget record-triggered flows or apex triggers. The real demons are migraine triggers. I want to build an app to track when I have one of my trigger foods and when I have symptoms.

I have a threshold for tolerance of delicious triggers. I can eat some chocolate, dairy or red wine without reaching the threshold and getting sick, but I don’t know what the threshold is. Can building my own tracking app help?

Continue reading Get Salesforce Practice by Tracking Your Habits

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!

So you still want to Salesforce volunteer at a nonprofit?

Here’s what you need to know. 

Photo by Basil Samuel Lade on Unsplash

By Gordon Lee

Before the proverbial ink dried on the first article on why you shouldn’t Salesforce volunteer at a nonprofit, I could already sense the exceptions the community would raise that I didn’t have the time to address. The Salesforce Trailblazer Community, after all, is made up of passionate tech nerds who have a keen eye in finding exceptions to things. It’s in our nature since we have to sniff out those nuances to be great at what we do. 

Folks sent in anecdotes, counter-points, and personal stories about how their experiences were mutually beneficial and what I put out there was a disservice to the nonprofit world. My opinion is that those experiences are the exception, and don’t reflect the greater trend of nonprofits that are harmed when a volunteer is only using them to get experience. 

Nevertheless, there is merit in the exceptions raised. So, this follow-up aims to address those exceptions, and clarify when it is a good idea to Salesforce volunteer at a nonprofit. 

First, go through this checklist before you ever touch a nonprofit’s Salesforce instance: 

Don’t be a pro bono villain. Do No Harm!

Make sure the volunteer has completed the nonprofit trails on how to volunteer in the best way possible!

Megan Himan, BrightStep

You Should Salesforce Volunteer If…

1. You have an experienced mentor willing to help and/or they have a Salesforce admin on staff. 

This is the best case scenario that covers two pain points that many in the community have echoed. 

  1. Having someone senior by your side to sanity check your strategy, thoughts and deliverables ensures that what you build is actually useful and will be used by the org. This mentor should be someone in the NPSP community. 
  2. Having someone on staff not only signals the nonprofit’s investment in the project, but also serves as your single point of contact so that you’re not spinning your wheels chasing down answers when you could be building an amazing solution instead. 

The bottom line is that expectations are key. If people don’t have a skill in something, they shouldn’t use nonprofit resources to attain that skill, but if they do it carefully with help from those who know what they are doing (hub, or a mentor), it can be helpful.

Joni Bryan, Amplify

I actually feel that volunteering your time towards a non profit is a great way to learn Salesforce. With that said, I absolutely DON’T think that a new person should be doing an implementation especially without direct guidance. If someone is new to Salesforce and are volunteering their time to a non profit the non profit should either have a dedicated Salesforce admin on staff that the volunteer reports to, or the volunteer should be matched with an experienced mentor at a consulting firm who can dedicate the time to ensuring they are successful.

Daisy Sayre Garcia, ImagineCRM

Tip: Make sure all changes are documented and accessible, because they will have follow-up questions. That leads me to my next point.

2. You’re available to unpretzel your mistakes. 

If you’re in it for the long haul with this nonprofit, then you’ll be around to help troubleshoot, train, and make sure the users are set up for success. Eventually, they’ll find mistakes, want more functionality, and have general questions. If you’re not around indefinitely to help, make your time commitment clear from the beginning and ensure all parties agree to this before starting any work. 

Set a deadline for reviewing if it’s working and evaluate its success (ie. in 3 months we will sit down and review progress). Open-ended is usually a recipe for problems. The volunteer should make a 6-month commitment for a specified number of hours each week/month. If they can’t make that commitment for that length of time, then they shouldn’t do it.

Tim Lockie, NowITMatters

Tip: Keep the project very simple — define the engagement as setting up NPSP to track fundraising. Or setting up volunteer management. Nothing fancy.

3. They approach you and are explicitly and specifically asking for help. 

You still need to tread lightly here. In my experience, most users aren’t aware of what they’re asking for, let alone nonprofits who are diving into the world of Salesforce NPSP for the first time. The worst case scenario here is the blind leading the blind with the best of intentions. 

The nonprofit needs help but doesn’t have clear requirements or a strategy, and the volunteer is willing to help but is inexperienced. That is a big hot mess waiting to happen. 

I generally tell people that want to go this route to pick a nonprofit that has existing infrastructure and can support an intern or a volunteer, then ask politely.

Otherwise, I tell people to start with the PTA in their local public school. It is an easy nonprofit that a lot of people have access to — particularly people with children. Approach the school’s PTA board, ask them how they track fundraising, see what they say, and if they say Excel or something like it, suggest that maybe you can help with this thing called Salesforce that is free for up to 10 users for them. The PTA is always my go to for this type of self-serving learning on the job because odds are the PTA will take all the help they can get, they won’t move to anything permanent as the stakeholders are continuously changing on PTAs, and hopefully whatever comes of it is helpful.

Justin Edelstein, Arkus

Don’t forget your own mental health when jumping to help a nonprofit. You can’t pour water from an empty glass, and overcommitting even with the best of intentions can ultimately be tough on everyone. If you find yourself desperate for work experience, try to find your own center before reaching out. People can generally sense your emotional state and being frantic can put off other people.

(Ashley Allen, ITEquality)

Tip: Spend 90% of your volunteer time having conversations with the team, and 10% on building the solution. Dig into what business pain they’re trying to solve, and what success looks like for them. Be diligent to help paint a picture of how you can help transform the way they work. 

Other options to gain experience

  • Go through a volunteer platform where the nonprofit knows what they’re getting themselves into. Here, they have a deeper sense of what they need and are specifically making a call out to the community for help. Go help!
  • Do freelance jobs on platforms like UpWork.
    • Bonus: You get paid while gaining experience. Just be very clear about your experience level and adjust your rate accordingly. 
  • Make. Your. Own.
    • It’s fun, it’s free, and you’ll learn much faster with a personal project. 

Final thoughts: 

  • Mentoring bonus: The mentor should also agree to the commitment for the agreed time period. The mentor can grow their own experience by mentoring. Something in it for everyone!
  • Have a healthy consultant mindset — If they were paying you, what extra effort would you put in to make sure they hire you again? 
  • Be realistic about your time commitment. 
  • Have an exit plan that hands over what you built to someone at the org. You don’t want the nonprofit to fail as soon as you’re gone.
  • Leave a place better than when you found it.