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

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.

What is the Unsubscribe Link App?

Send an email to anyone from inside Salesforce and include an unsubscribe link right in the email! This app will find all contacts and leads with that email address and mark them “Email opt out.” It will also create an Unsubscribe__c object so you can track unsubscribes over time.

This version has not gone through Salesforce security review and is not on the AppExchange. To install the older version that meets those requirements, go here.

To Uninstall the Older Version

If you have any Unsubscribe__c records from using this package, you’ll lose them by uninstalling.

  • Deactivate the Flows: Unsubscribe Link, UnsubscribeContactsv1, UnsubscribeLeadsv1.
  • Open the record for your Site.
  • From Setup, search for “Installed Packages” and uninstall.

Fixes I’m Proud Of

I moved as much of the configuration to Custom Metadata Types as possible. Flows and Visualforce pages look at the CMDT for values so the user only has to put in correct values in one place.

The error emails should be much more helpful now.

Did I mention I included Apex Tests and a Visualforce page with a controller?!

I fixed the confusion of fields called Unsubscribe_Link__c on both the Contact and Lead so that’s no longer a manual step.

More details about updates available in the instructions.

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 Flow’s 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

Your Flow Finished

In earlier versions of my Unsubscribe Link app, the “Finish” button would take you a screen that said “YOUR FLOW FINISHED” which many of you pointed out, is less than ideal.

Screen one:

Screen two (old version):

And click “Finish” to get this beauty:

Continue reading Your Flow Finished

Unsubscribe Link

JUNE 7, 2021 UPDATE: Get Unsubscribe Link 3.10 and instructions here. This version has not yet gone through Salesforce Labs Security Review and is not yet on the AppExchange. To switch from 2.2 to 3.10, follow the instructions below on how to uninstall the package. ONLY WORKS IN SUMMER ’21 ORGS!! If 2.2 is working just fine for you, there is no need to change to 3.10.


Unsubscribe Link 2.2 (on AppExchange)

Allow Recipients to Unsubscribe From All Email Sent via Salesforce

When the recipient clicks to unsubscribe, a flow will look for all contacts and leads who have this email in the Email field and mark them “Email Opt Out.”  The email address owner will receive one confirmation email immediately. A custom object tracks when someone unsubscribes to allow you to report on it.

Image of five star review from AppExchange. Title of review: Great solution - easily modified for other objects. Body of review: Was looking for a solution to add an unsubscribe link to survey invitations. Implementation of this solution was super easy thanks to the extensive documentation. Very easy to manipulate to work for any object with a contact lookup!

See How It Works

UPDATE: 1/28/21 I realized how to send the confirmation email from someone other than “Site Guest User.” More in this post.

Continue reading Unsubscribe Link

Upgrade Unsubscribe Link

I built this really great app to allow email recipients to unsubscribe from all emails sent through Salesforce, but it hasn’t been exactly easy to set up or use. Introducing the first upgrade which makes it much more user friendly!

With the upgrade, your Salesforce users can now pull a merge field into their Lightning and Classic email templates to include the Unsubscribe Link. Bam. No more having to modify and clone confusing email templates.

See how easy it is to add the Unsubscribe Link to a List Email? Your users will love this.
Continue reading Upgrade Unsubscribe Link

Now Easy to Expose Flows Outside of Salesforce

I’m back from maternity leave and holy SMOKES (get it? The west coast is on fire): an update to Flow in Summer ’20 totally broke the Unsubscribe Link App. It’s okay, though. It’s fixed now and this Flow improvement is worth it.

baby in salesforce onesie with unicorn emoji blocking his face.
Here’s my little one disguised as a unicorn

It’s now much simpler to expose a Flow to folks who aren’t logged into Salesforce. They can click a link which launches a Flow that modifies, deletes and creates all sorts of records! (Be careful!)

All you have to do now is save your flow as System Context without Sharing–Access All Data. This eliminates the need to give a Site Guest User permission, adjust your sharing settings, and create sharing rules.

So my example is the Unsubscribe Link. You send an email through Salesforce with this link. Your recipient clicks on it and that launches the Flow which will update their contact and lead records with Email Opt Out. It’s pretty sweet.

How to Build your own externally visible Flow

  1. Create a screen Flow. (This is the hard part).
  2. Set up My Domain (it’s probably already set up).
  3. Create a Site domain.
  4. Create a new Site.
  5. Create a Visualforce Page to house the Flow.
  6. Build your link that includes variables for your flow. That looks like:
https://yourSiteDomain/YourVisualforcePageName?flowVariable1={{{MergeField1}}}&FlowVariable2={{{MergeField1}}}

In the Unsubscribe Link app, that looks like this. recordId and Email are two variables in my Flow. Everyone who sets up the app will substitute their site domain for “yourSiteDomain.”

http://yourSiteDomain/Unsubscribe?recordId={{{Recipient.Id}}}&Email={{{Recipient.Email}}}" 

When I put in my site domain and the fields are merged in the email, it looks like this:

https://powerfulsolutions-developer-edition.na139.force.com/Unsubscribe?recordId=0034W000029huR8&Email=georgeBailey@bbbs.com

Read the instructions on the Unsubscribe Link App for details on how to create a Site and Site Domain.

Update N Records in Flow Without a Loop

Thanks Alex Edelstein and Narender Singh for building exciting Invokable Apex Actions that extend the use of Flow for admins!

USE CASE: The Ugly Dog Adoption Agency wants to find the 30 dogs who have been at the shelter the longest (minimum 60 days). A Flow will change the picklist “Old Timer” to “Yes” and the staff will then run a promotion for these special doggies. (Don’t worry, Jo Jo Pumpkins! You’ll be on the local news!)jo jo pumpkins

dogflowN Continue reading Update N Records in Flow Without a Loop

Printable Donor Profile

Sometimes as a Salesforce admin I’ve been asked to do things which just seem ridiculously old school, not very efficient and may involve actual paper. When I cannot convince someone to click through a few screens, instead of printing or having an email sent to them, it gets my admin panties all in a bunch.  (Wouldn’t that be cool, to have actual admin panties?!)

Sexy Sys Admin Women's Boy Brief
Not actually surprised that these exist! Thanks Cafe Press Canada!
But when working with a nonprofit, you gotta just let it go. And that is how this printable donor profile came into being.

My pro bono client: The Cedar River Clinics, which are fantastic, independent reproductive & LGBTQ health clinics in Renton, Seattle, and Tacoma.

My task:  Create a one-page document with important donor information.  The development director will print the doc and hand it to the executive director to review before she calls a major donor.  Continue reading Printable Donor Profile