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.

Is there a good, fast, cheap solution for web forms?

transportationchoices

Transportation Choices used a web designer to make their Salesforce Web-to-Lead form all fancy.

QUESTION: How can I make the simplest, cheapest “contact us” web form that will generate a new lead record in Salesforce and that people would actually want to use?

BACKGROUND RESEARCH: I’ve tested Salesforce’s web-to-lead many times in free Google Sites, but research indicates most nonprofits are using WordPress.

HYPOTHESIS: A WordPress site and Salesforce’s ancient web-to-lead form will get the job done.

WEBINAR PLUG: Tomorrow Get Started with Engagement:  Build Web Forms. Tue, Apr 14, 2020 9:00 AM – 10:00 AM PDT Continue reading →

Learn Flow Loops Video

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!

Towards the end of the video I talk about Spring ’20 amazingness with Flow that you can read more about here and here.

Go Ahead: Loop Through that Collection in Flow – Jessie Rymph from Marisa Hambleton on Vimeo.

 

Simple Before-Save Flow

Here’s a real quick intro to the Spring ’20 Before-Save Flow feature. Find in depth information on this topic from Jennifer Lee and Jodie Miners.

Basic gist: 

  1. Double click into the Start element and indicate to launch Flow on new record created (in this example).
  2. Use a Decision element to see if this record meets criteria.
  3. If so, use an Assignment element to update the field values. There is no “update records” – you just use an Assignment.
  4. Access the values of the Record by using $Record.Field__c when choosing a resource or variable.
  5. You cannot access $Record.Id because it doesn’t have an ID yet! It hasn’t been saved.

Continue reading →

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 →

How to Include an Unsubscribe Link, Revised

Install now from the AppExchange.

Allow Recipients to Unsubscribe From All Email Sent via Salesforce

View demo.

When the recipient clicks to unsubscribe, a flow will look for all contacts and leads who have this as their preferred email address (if you’re in Nonprofit Success Pack) or in the Email field. All contacts or leads who meet that requirement will be marked “Email Opt Out.”  The email address owner will receive one confirmation email immediately.

Please try this in your sandbox, developer org or Trailhead playground first! 

Learn why you should consider including an unsubscribe link. 

Instructions

Thanks to improvements to Flow in Summer ’20 this app is now much easier to install! You should know how to modify a page layout and a profile, create or modify an email template, and use a sandbox. You will install a package that contains Flow and Process Builder, but you don’t need to know how to use them.

Follow along with this worksheet while you’re setting up the app.

Watch the video and/or read the instructions below.

First step: install the app from appExchange.

Second step: Set up My Domain. Instructions here from Trailhead.

Create a Site

  • (Setup -> User Interface -> Sites and Domains -> Sites)
  • Create a new Site.
  • If you don’t have a Site domain, you’ll need to set one up. You may want to use the same domain as your “My” domain.
  • Label: Make the label the name of your organization or whomever the confirmation email should appear from. I will put “Ugly Dog Adoption Agency” and the unsubscribe confirmation email will appear from “Ugly Dog Adoption Agency Site Guest User.”
  • Site Name: Unsubscribe (so internally you know what this is about).
  • Site Contact: Defaults to your user.
  • Click Active.
  • Active Site Home Page: find the Visualforce page Unsubscribe.
  • A default web address does not need to be specified.
  • Save.
  • Copy and save the Site URL for use in a later step.

Modify the Flow for Summer ’20

  • Open Unsubscribe Part 1 Flow. 
  • Click Save As.
  • Click Show Advanced.
  • Under “How to Run the Flow,” select System Context without Sharing–Access All Data. Click Save. Click Activate.

Set Up Email Templates

The package contains a folder of classic email templates called Unsubscribe.

Classic Email Templates

  • Unsubscribe Contact HTML Template
  • Unsubscribe Link VF Contacts Template
  • Unsubscribe Link VF Leads Template

Open the email templates and find the instructions for modifying the unsubscribe link to work for your site. The HTML template does not work for email addresses that include special characters like plus signs, so I’d recommend using the Visualforce (VF) email templates if you can.

Lightning Email Templates

Lightning email templates cannot be included in packages at this time, so you’ll need to create your own.

  • Search for Email Templates in your AppLauncher.
  • Create a new email template.
  • Name it whatever you like.
  • In Related Entity Type choose Contact.
  • Click on the button Source and paste in this HTML
<a href="http://INSERTYOURDOMAINHERE/Unsubscribe?recordId={{{Recipient.Id}}}&Email={{{Recipient.Email}}}">Click here to unsubscribe from all emails from our organization.</a>
  • Modify the HTML of the link above by changing this part:
    INSERTYOURDOMAINHERE to the Site URL you saved earlier.
  • Change “our organization” to the name of your organization.
  • Write the rest of the email, including a subject and save.

Test It Out

  • In your sandbox, make sure Email Deliverability is turned on.
    • Go to setup. Search for “Deliverability.”
    • Set the access level to “All email.”
    • Be very careful if you are using a sandbox with real data – do you have any automated processes that are now going to start firing off emails like crazy? Remember to turn off email deliverability when you’re done testing.
  • Optional: Edit your Contact and Lead page layouts.
    • Add the Email Opt Out field.
    • Add the Unsubscribe related list. You may want to add other fields here like Unsubscribe EmailCreated DateStatus
  • Create a contact with your email address.
  • TEST IT!
    • Send an email to that contact (using the template you created) to test it. Make sure the contact has “Email Opt Out” unchecked.
    • When you click the link it should look like this.

The next page should look like this.

  • Look for that confirmation email.
  • Open the contact record and confirm the following:
    • Email opt out is now checked
  • There is a new related Unsubscribe record and Status = “Unsubscribed.”

BAM! We did it!

On Tuesday, May 21st we celebrated the completion of our pilot Salesforce training program in partnership with Dress for Success Seattle. Dress for Success Seattle seeks to offer long-lasting solutions that enable women to break the cycle of poverty and become more financially independent.

Salesforce is a Customer Relationship Management tool, but it’s really so much more than that. Salesforce enables businesses to streamline their processes and customer engagement. Salesforce touches many aspects of a business from Marketing to field service, e-commerce, and the nonprofit sector, it generates many new jobs each year. Salesforce encourages those already familiar with the system to spread their knowledge with an initiative called #BAM – Be a Multiplier.

Continue reading →

Attach Meeting Notes on Events

 

Samantha C. asked in the Power of Us Hub: “Does anyone know if you can track meetings with salesforce? We are looking to track our meetings and add a few bullet points about those meetings so we can look back and see where something left off.” And I was curious how it could be done. Here’s the answer in Lightning. Continue reading →

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 →