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 →

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 →

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 →

Delete Opportunity Contact Roles for Deceased Contacts

Cover image of fictional book

Don’t forget to handle your technical debt in the afterlife.

Question: When a contact dies, how can you use Flow to delete their Opportunity Contact Roles for open opportunities? Answer: With a Loop!

Here’s the unmanaged package.

Use common sense. Install and test thoroughly in a sandbox! You’re deleting records! I made it really quickly and did not test thoroughly!

Here are the requirements as posted by Ashlynn on the Power of Us Hub:

“I am trying to set up an autolaunched flow to remove Opportunity Contact Roles from open opportunities with deceased contacts. (For example, we are soliciting a major gift from a couple, and one of them passes away before the donation is received.) I have successfully configured a process to remove the deceased contact from acknowledgement for that gift when it comes in, but for the sake of clean data I would like to also automatically remove their OCR from the opportunity record. I am coming up with ‘unhandled faults’ and hoping since this is only my 2nd flow ever that someone will be able to see an obvious error with my configuration.

Continue reading →

I just said I don’t want any email!

Hip hip hurray! My unmanaged package Unsubscribe Link is now available for free on AppExchange! This package will allow your constituents to unsubscribe from all emails for your organization. Email with link to unsubscribe from all emails at the bottom.

The package includes an automatic confirmation email, but you can turn that feature off. Watch the video below and/or follow these instructions: Continue reading →

Flow Basics for Nonprofit Admins

Jessie speaking at Dreamforce

That’s me living my dream while the audience listens on headphones.

Learning how to build a Flow is like interacting with a volunteer who…needs some extra help. Through these videos, I explain some of the trickier flow concepts for admins: “get records” and “record variables.” I was lucky enough to give his presentation at Dreamforce 2019.

Good news: in this version I have unlimited time so I’ve shown all the steps in detail.

More good news: this presentation doesn’t actually utilize anything specific to nonprofits so it’s suitable for you Sales Cloud folks as well.

You’ll find a quick summary of the flow here.

Continue reading →

We’re Speaking at Dreamforce!

Critics who viewed our sessions at Forcelandia called them “Hilarious!” “Informative!” “The best!” If you’re coming to the big event, don’t miss out!

Flow Basics for Nonprofit Admins 

Wednesday, 12pm Westin St. Francis with Salesforce.org staff Jessie Rymph

jessie headshot

Flow is a powerful automation tool that walks users through screens, updates multiple objects at once, and reaches distantly related records all with clicks-not-code. By learning Flow, nonprofits can surpass the limitations of Process Builder and harness the power of code without actually having a developer on staff. In this session, we’ll demystify record variables, “get records”, and other elements that are often unfamiliar to non-coders. Participants will walk away with an understanding of the *why* behind each step in the flow creation process!

One Process to Rule Them All

Thursday, 11:30am Moscone West with MVP Maya Peterson

maya

One process to rule them all, one process to find them, one process to bring them all and in the invocation bind them. As a best practice Salesforce now recommends restricting your org to one record-change process per object. Truly a tool of great power. In this session you’ll learn tricks to manage process criteria nodes using Custom Metadata Types, Custom Settings, and Custom Permissions. No harrowing trip to Mount Doom required.

Salesforce Implementation Recommendations

A retrospective…

Almost 4 years ago, I started a new job as the company’s Salesforce Admin. When I joined, they were on their 5th year with Salesforce. I soon learned that inheriting a Salesforce instance has its benefits…and its challenges.

I often found myself wondering, “If we could start over and implement a new instance of Salesforce, what would we do differently?” I’d note down observations I had when things went well and especially when they didn’t. Over time, my list grew (and was repeatedly validated).

The goal behind the below recommendations is to make life easier as an Admin. While some recommendations may take more time to execute, in the long run, it will make your job and the job of anyone joining your team a whole lot easier.

  • Focus on data quality. Decide early on the information you require in order for a Lead, Account, Contact, Opportunity to be created. With Leads and Contacts, I cannot stress enough the importance of a complete company name and contact name with either phone number or email and state or country. Company websites are super helpful, but you can create a custom formula field to extrapolate this info from the email address.
  • On the topic of data quality, have a data management strategy to moderate and maintain clean data over time. For example, we had a report on reports not run in the last 6 months. We’d notify users that we are deleting reports and remind them to run the report if they didn’t want it deleted. 
  • Use that Description field. Every time you create a custom field, report, dashboard, workflow rule, etc., make sure you fill out the Description. My recommendation is to include why it was created (especially if it was requested by a specific person or team, include that). This information is super helpful down the road when trying to figure out why you have this or that and what you need to keep or can delete.
  • When creating custom fields, be careful about the field type. Multi select picklists are difficult to report on. With picklists, select the option to “restrict the options to picklist values” and if you do offer an “other” option, create a dependent text field to capture that info. Also, if you plan to use in-line editing in list views, be aware that certain field types aren’t supported (long text area, rich text, checkbox, etc).
  • Turn on Field History Tracking. You can select certain fields to track on each object. Best practice is to track ownership fields, fields important for compliance, and anything that impacts a business decision, such as who owns this record. The field history is shown in the object’s Field History related list.
  • Have minimal page layouts. When you add a new field or a new app, you have to then add it to the proper section on each page layout, which can be very time consuming. Multiple profiles can share the same page layout, and you can control visibility on a profile by profile level. If you want to hide a field, make it no longer visible in in the Field-Level Security.
  • Utilize Record Types. If you have different business processes for a Lead/Account/Opportunity, than consider having different record types for each object. You can set up unique picklist values, sales processes and page layouts for each record type. If you have a sales team going after Enterprise accounts and another going after SBM, consider leveraging record types.
  • Create a custom field to indicate what type of deal the Opportunity represents. Is it New Business versus an Upsell versus a Renewal, etc.? I have often leveraged this field when creating validation rules, workflows, process builders, etc. Also consider automating the naming of new Opportunities. We chose to standardize Opportunity names in this format: Country – Company – Record Type – Opportunity Type – Year.

Thank you for taking the time to read my post. This list wasn’t intended to be exhaustive as these are recommendations based on my specific observations over the past couple years. There are many excellent posts of Salesforce best practices, and I encourage you to check those out too.