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!
The trigger will default to record is created and an “after save” trigger.
Next in the Start element you choose your object and your criteria. For this example, I want a contact with LeadSource of “web” that has an email address.
New in Spring 21 are Scheduled Paths. I can send this email days or hours, before or after a date field on the starting object. I chose When “Contact is Created,” but I could have chosen Last Modified Date or any date field.
I add a Get Records element to my canvas and look up the next Campaign that meets my criteria. I get the next one by storing only the first record and sorting it by ascending StartDate. I love this! No Flow Loops needed to get the earliest event!
In my Get Records criteria, I have this formula which will give me the date six days from now. I only want to invite my contact to an event starting later than six days from now. If today is Monday, the email goes out on Thursday. I want to invite them to an event starting later than Sunday so they have enough time to plan. I think getting an email for an event starting today or tomorrow would be frustrating. In my Get Records criteria, I set my criteria to find campaigns with StartDate greater than this formula. I have had to train myself that “greater than” means “later than.” Ooh rhymes!
Last piece is my Send Email action. I’m using another Spring 21 feature which is Rich Text email template. I need to toggle on Rich-Text-Formatted Body to “Include” and also lookup GlobalConstant.True. Forward-looking statement – this will get better soon, I imagine 🙂

So that’s it. I connect all the elements together. From the start element, I click on the white dot and drag that over to Get Records. I select the “3 Days Later Workshop” Scheduled Path. I connect my Get Records to my Email Action.

You can find the scheduled emails under Time-Based Workflow in Setup if you want to delete them. Let’s say you cancel that workshop and don’t want to invite those folks, you’ll need to manually delete the emails scheduled to go out within three days.

Published by


Jessie joined in 2018 to give introductory webinars to nonprofit customers. She now is a Senior Solution Developer supporting nonprofits and education customers at Salesforce. All opinions expressed on this blog are her own or those of the contributors. She's spent 17 years more or less in CRMs and databases, but didn't meet Salesforce until 2011. Jessie co-led the Seattle Salesforce Nonprofit User Group in 2015-2016. She wrote a sh*tty first draft of a novel and hopes to turn it into a screenplay!

Leave a Reply