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.

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 Is there a good, fast, cheap solution for web forms?

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 Simple Before-Save Flow

Flow Building Live 3/12 10AM PDT

Join me and Dev Evangelist Kevin Poorman for Code Live with Salesforce Developers!codelive

There’s no registration. Just tune in https://trailhead.salesforce.com/live/ on March 12 at 10 PDT.

No, I haven’t suddenly learned to write code (but I’m working on it!) I’ll be building a Flow and Kevin will be writing the equivalent code. We plan to build a solution for nonprofit customers and will let you know when we have more details.

Notice I said “PDT”? That’s Pacific Daylight Time because we’ll be springing forward this weekend in much of the states. This is the one where we lose an hour, unfortunately.

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

Spring ’20 URL Hack Explained

Spring ’20 brings us a revised version of a classic admin’s old favorite: the URL hack, the ability to pass field values via the URL. Let’s try it now with a custom button.

Read the release notes: Navigate to a Record’s Create Page with Default Field Values.

Use Case

The Ugly Dog Adoption Agency wants to click a button on the Animal record (parent) to create a new Treatment Plan record (child), and have a few fields automatically filled in. In this video, I start on the dog Grover’s record and click the button to create a new Treatment Plan. The lookup fields Animal and Vet Assigned are pre-populated.

Continue reading Spring ’20 URL Hack Explained

Maya is GeekWire’s Geek of the Week

Maya Peterson lounging during a hike in Washington’s North Cascades National Park at Hidden Lake.
Maya Peterson lounging during a hike in Washington’s North Cascades National Park at Hidden Lake. (Photo courtesy of Maya Peterson, via GeekWire)

Hurray! Our own blogger Maya Peterson is featured in this week’s GeekWire as Geek of the Week, whichprofiles the characters of Pacific Northwest tech, science, games, innovation, and more.”

Read her GeekWire profile here. 

Secure guest user record access in Spring ’20

On March 1, 2020, the official start of Spring ’20 in our world, comes needed security improvements regarding sharing data with external users. However, you can uncheck the Secure guest user record access checkbox and test out these changes until Summer ’20. Phew.  If you’re using any Site Guest Users, and are ready to try out the new settings you’ll need to create new sharing rules. Hint: Salesforce sites are used in Volunteers for Salesforce and frequently in Communities.

cherry blossoms blooming

What’s a Salesforce Site? “Salesforce sites enables you to create public websites and applications that are directly integrated with your Salesforce.com organization—without requiring users to log in with a username and password. You can publicly expose any information stored in your organization through pages that match the look and feel of your company’s brand. Use sites to create public community sites to gather customer feedback, branded login and registration pages for your portals, Web forms for capturing leads, and so on.” — the Site setup page in Salesforce. Continue reading Secure guest user record access in Spring ’20