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
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.Continue reading Invite Contact to Next, Earliest, Upcoming Campaign Event
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!Continue reading Send Email From Anyone* in Flow
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.
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
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 two (old version):
And click “Finish” to get this beauty:Continue reading Your Flow Finished
This is the third iteration of my app to allow all users to opt out of email sent through Salesforce.
Last week I posted an add-on to the existing app to improve it. Here I have a totally new version with all the bells and whistles.
Could you please install it and test it for me? It should take about 10-15 minutes. After collecting enough feedback, I’ll submit this version to the AppExchange for security review.Continue reading Test the Newest Unsubscribe Link App, Please?
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.Continue reading Upgrade Unsubscribe Link
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.
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
- Create a screen Flow. (This is the hard part).
- Set up My Domain (it’s probably already set up).
- Create a Site domain.
- Create a new Site.
- Create a Visualforce Page to house the Flow.
- Build your link that includes variables for your flow. That looks like:
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.”
When I put in my site domain and the fields are merged in the email, it looks like this:
Read the instructions on the Unsubscribe Link App for details on how to create a Site and Site Domain.
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!
- Double click into the Start element and indicate to launch Flow on new record created (in this example).
- Use a Decision element to see if this record meets criteria.
- If so, use an Assignment element to update the field values. There is no “update records” – you just use an Assignment.
- Access the values of the Record by using $Record.Field__c when choosing a resource or variable.
- You cannot access $Record.Id because it doesn’t have an ID yet! It hasn’t been saved.