Unpacking Winter 2021

Winter 2022 arrived! I can’t wait to check on the status of the “Top 10 Candy” list for organizations who have the Power ot Ten license grant like me. However, first I need to help avoid the buildup of technical debt by going through the steps to check out regular maintenance on this new release.

  • First, I read the release notes to determine which features require my intervention.
  • Second, I checked out the fairly new updates section in the Setup to see what items may require my attention there. Quite a few older items were enabled on this release. Typically one wants to check these out in advance, but the reality is that many of us cannot and face the possibility that things bring because of them. Sometimes they have the potential to be turned back off for a time.
  • Finally, I ran NPSP Health Checks and Salesforce Optimizer to see what new items may pop up as a result of Winter 22 arrival.

It was hard not to jump straight to the candy but it is a journey worth taking. Hopefully my notes allow you to take the journey a little faster and with more clarity and certainty.

Release Notes: 

I first headed to the section called How and When Do Featured Become Available. In particular, I’m looking for features that require Admin setup or enablement. It’s also wise to look for big new features that are automatically on that may throw your users so you can advise them quickly. Here’s what I found of note:

  • Top Ten item: Configuring which objects users see in search (beta) requires admin setup. See below.
  • Top Ten Item: Expanded in-line editing on reports requires admin enablement. However, it’s the same setup as the previous Beta introduction so nothing new is required if you already did it.
  • Bonus item: Flow Orchestrator is in Beta BUT BE ADVISED that this free beta is expected to convert to a paid product according to the product manager in the Winter 22 Live Preview so Power of Ten Users might find they don’t have continued access to the product at that time.
  • Tablet experience of Lightning requires admin setup

Updates Section Review

Health Check and Optimizer Review

Top Ten Candy Items!

1. Report in-line editing just got much, much better even though it’s still Beta! If you haven’t turned it on, please consider it! The improvements made it enormously useful to me when I work on data quality for records that are new (e.g., new clients, volunteers and donors missing key information) or may have become relevant recently (e.g., a long-time follower makes a first-time donation). Now it supports date, picklist and lookup fields which means it overcomes a lot of drawbacks for most users. It feels a lot like a list view, but you get the power of cross filtering as well! (Aside: I used to have a strategy of building list views and reports in pairs with the same naming so that I could do in-line editing. That’s a thing of the past now! Simplicity for the win!) It still doesn’t support compound fields like Name and Address. If you already enabled it in the past release as Beta, you don’t have to do anything else to get the extra goodness, although I find I want to change the report layout of a lot of reports to take best advantage of in-line editing strategies! I’m not tackling that all at once but rather giving myself license to edit reports as I use them to be more in-line friendly and make correcting data much faster and available!

2. Email Templates features keep coming with some relatively minor tweaks this release: If you’re still struggling with classic email templates or mass emails, it’s never been better to come over to Lightning templates. This release adds rows and column email templates as well as better padding and indentation support to make your emails customized and good looking.  Subject lines can be longer and you could join the pilot to have Listmail come from your corporate email account. I enjoy sending my top engaged followers a weekly update and being able to format information nicely and easily is pretty exciting.

3. Fewer flow hassles and reduced first-timer hesitancy: Flow triggers get easier to figure out with more guidance on the front end when you create a new flow and with less jargon. I selected a new flow, record trigger, and auto-layout and then got this nice concise screen to help me configure everything at once. It hides a lot of jargon-heavy historical developments under the covers to make it faster for everyone and much more friendly for those new to Flow and for those moving from Process Builder.

The sub-flows from auto-launched flow are right there for the taking. You can now keep your flows D.R.Y *Don’t Repeat Yourself* and save time and increased reuse. I have several flows that I can now refactor and greatly reduce maintenance for ongoing improvements.

Fewer clicks are required to set up and edit multiple choice input screens (which can be driven by local “picklist” options or record picklists or even groups of records). Here I have a dynamic choice to select an existing client or choose new. I’m adding a new choice here and you can see the option to create the new choice. Previously you had to define this first before you could use it. You also can edit a choice directly from the screen (the little pencil shown below) and when you select new choices, you are only shown valid choices limited to the type of choice. Sometimes it’s the little things that waste hours and this just got rid of a bunch of them.

Line breaks work better in flow variables for creating emails and text variables. (They didn’t always work as expected in the past, causing some headaches.) 

You can now change the name of buttons on flows to suit and more of flow labels are supported through language localization, too. 

The flow list views now show which object triggers the flow so you can sort everything together nicely. I have mine configured to alert me if an older version is active and if it’s active at all. Then I have the name and API name. Now you can sort of the triggering object and see the trigger type and flow type, all side by side. And then I have last modified and description info where I keep a latest revision comment.

Loops go the “right way” now (at least if you like clockwise) making them easier to read or get used to for new users. 

Have you started using flow yet? It’s time!

4. Flow debug power: When you debug a record triggered flow, you used to first go setup your input data record and give flow the recordID. Now you can specify the edits made to the base record right in the debugger and any changes are rolled back after the run completes. This will be a game changer for sure.

For auto-launched and record triggered flows, the debugger log viewer is very friendly with the ability to collapse and expand details. You can see the path graphically and expand the detail you need. Unfortunately this is not available for screen flows yet. There is a great idea out there to allow clicking on the element to expand the details and recentering the diagram on the element when you expand details. The debugger is very productive now for sure!

Scheduled paths can be selected for debugging now, too. (This was previously impossible.) 

All this will encourage me to more thoroughly test my flows and complete my automation improvements faster! And for what it’s worth, you can now enable Salesforce to monitor the screen-time of your flows so you know where users spend all their time in your flows. I plan to do this right away. It turns on automatically in the Spring 22 release.

5. The Lighting page performance assistant just got smarter. It uses your real org information and can factor in things like slow networks, slow devices as well as server side configuration info to help you fix bottlenecks. And page performance now just runs automatically to give you advice each time you edit your pages. This will be really nice for figuring out what users really see on a day to day basis. I used it on our most heavily loaded items: SYM Events and Contacts. The load time for contacts is 3.8 seconds. I’ve known this is slow for a long time because I choose to adopt a page that can load for desktop and mobile and one that handles contacts, volunteers, donors and subscribers differently. It may be time to build an optimized experience. The org-specific data told me that most desktop loads are taking place on 2-4 core CPUs, with moderate download speeds and good latency. I like this feature! Separately, I plan to decide on a strategy to support mobile/tablet/desktop apps with faster response and better response. However, it may need to wait for dynamic interactions since the power of those seems SOOOO high!

6. You can now add images to your rich text component in lightning pages. This component is most helpful as a conditional notice to your user about a record’s status or missing information. And pictures are worth many words in this context. Sometimes it’s the little things that count. Still wish we could include merge fields, though, Salesforce! And it would be very nice to be able to resize the pasted image.

7. Einstein Search scoping rules are a new thing. Einstein searches are great because they show so many related objects when you hover, saving lots of clicks, page loads and time!. (RUN… don’t walk… to turn on this free, GA features of Einstein Search if you haven’t already!)  Einstein learns to prefer certain objects and records for search over time, based on your users’ past behavior. That remains the same. However, you can elevate some objects, including custom objects, into the search based on profiles. We have a custom object that is frequently searched but usually only one time per object. The right object is highly sought but rarely shows up in the top of the searches. Before the change this morning, I didn’t find the item I wanted in the top selections when I searched for it. With the new settings for all devault (Contact and SYM Event added to the preferred search result), it popped up right away! You get to set the default for every profile in your system, which is what I did. I also made Accounts something elevated for our SYM Base Admin profile since we often search and find other things but not the account listed at the top of search. This may be really nice for Experience Cloud. I’d like to be able to tweak it based on Permission Sets since I have transitioned most of my future administration to those.

8. Permission Sets. If you haven’t got wind yet, permission set groups and permission sets are the way of the future. They got expiration dates already but now you can view and update dates better. And you can now have permission sets for sensitive data that are active only for a session for a limited time and must be revalidated. I’ve completely stopped updating profiles and look forward to retiring profiles eventually. Perm set groups all the way!

9. Flow Advanced Power: Scheduled flow paths now don’t have to wait zero time or 1 hours. You can use minutes now to stop race conditions or time out related actions. You can also work with external systems now in flow with asynchronous paths or schedule an outbound message. These are really great for do-it-yourself declarative integrations. Here you see all three. I have a flow that creates a rich text summary of an event so we can monitor progress in real-time. It’s currently synchronous. It ties up the UI while it calculates. That may be best, but we have other options now. I can add an asynchronous path that will calculate right after the record is updated… it’s a trigger after save. And I can create a specific interface to wait in minutes if I want. This will definitely be used for when people sign up for things. Sometimes you really don’t want to bombard people with immediate notification but wait 5 minutes. Previously you could wait 0 or 1 hour but not minutes. Batch size is also able to be set. It’s very likely that we will move to an asynchronous update of our real-time text since we want our tablet experience to be very snappy.

It’s a geeky thing, but the auto-layout now has “go-to” connection options which also allows you to keep your code a bit more D.R.Y. It should be used cautiously. I have some flows in my upsert library (see mightyforce.org for information on this powerful design pattern) that could not be auto-routed because they looped back on themselves in weird ways. I turned on auto-route now and got much better insight into the flow! The input options are a little complicated. In one case it sort of skips some steps. In other cases it needs to go back and restart the options more or less. This is pretty obvious in the new pretty auto-route of the subflow!

Another very detailed thing, but you can roll-back record changes if things go wrong in your flow. For example, in the upsert client sub-flow, if the user is making a new record, we make a fake contact and then update information afterwards. Perhaps this is a bad design pattern, but it keeps the flow D.R.Y. by having the same input screen for new records as for updating records. However, if the update fails for some reason, you are left with a blank fake record. I was able to add a fault-path and then add the roll-back to the path before exiting. Rollback is only available if you have saved some records already. That threw me at first.

10. Record restriction rules. This is at the bottom because it doesn’t support most standard objects that would probably have people hopping up and down. But these rules take away record visibility based on user or group membership. It currently works on enough objects to reasonably support PMM and V4SF. But you can’t restrict access to things like accounts, contacts or opportunities yet. It’s not GA so we can assume standard objects will come eventually.


Flow Orchestrator has gone from pilot to Beta. It is available from the Flow Template selection, but you have to choose “All Templates” (as opposed to “Core”). The editor is familiar but the components and steps are very clunky still. I saw no way to invoke existing legacy tools (like approval, email alerts, process builder) which limits it usefulness significantly to only doing foreground and background flows, apparently. These limitations cooled my interest considerably, but it’s very early days. In the Release Readiness Live and at Dreamforce, it was stated that this is the planned way of the future and that approvals get future love (sadly missing from the automation suites). But it was stated that they also haven’t worked out the license fee for Orchestration; it didn’t sound likely to be a core product sadly even though it is much needed. Perhaps it will be pay as you go like NBA and Bots.

Lightning Components are learning a new trick that will be super exciting eventually. I hoped that unOfficialSF might have some components to add to test this out but I found none. I also found no other working example online at this time; it’s just too new. But this will be huge eventually! Developers will be able to make maps or graphs (just examples) that connect to other list components (another example) that users click on. Admins will be able to configure these on the Lightning page configuration just as you configure other components to appear, disappear or connect to certain records. This will give pages a lot of new power once developers figure out how to best build. I look forward to things that analyzer campaigns, donation timing, and more.

2 Replies to “Unpacking Winter 2021”

  1. Thanks so much for taking the time to unpack the latest release. It’s really helpful and very much appreciated!

    That being said, I tried to send you a Paypal donation and Paypal says that profile name doesn’t exist. I tried typing it in manually and still no dice…is there another way?

    Greetings from the Berlin, Germany Developer’s Group!

Leave a Reply

Your email address will not be published. Required fields are marked *