Winter 2020 Release Review

It’s release time again in the Salesforce world with the Winter 20 release. It’s scheduled for production release in October. Here are my noteworthy items. See the Winter 20 Release Notes for more.

What stuck out? This new release has a number of new Flow updates that will really help admins develop Flows faster and provide even more automation options. The new “Schedule Flows” features looks promising. The report’s filter a field by a field capability also provides more interesting options.

Lightning Experience Graduates to a Permanent Fixture in Salesforce

Starting with Winter ’20, Lightning Experience is permanently enabled when it’s turned on, either by an admin at your company or via the Lightning Experience Critical Update. After Lightning Experience is turned on, you can’t disable it. All users still have access to Salesforce Classic and can switch between the two interfaces as needed.

Winter 20 Release Notes

This is critical. Once Lightning is enabled, it can’t be turned off. One can still control which users have access to Lightning though through profiles and permission sets. Lightning is on par with Classic feature wise as of Winter 20 in my opinion so start thinking about transitioning if you haven’t already.

Access the Recycle Bin in Lightning Experience

You no longer have to switch to Salesforce Classic to access the Recycle Bin. You can now view, restore, and permanently delete the items in your Recycle Bin and the org Recycle Bin.

Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

How: Access the Recycle Bin by selecting it in the App Launcher under All Items or personalizing your navigation bar. Or add the Recycle Bin tab for your org in the Lightning App Builder. The Recycle Bin in Lightning Experience works the same as it does in Salesforce Classic, except for a few differences. In Lightning Experience:

• The org’s Recycle Bin is called Org Recycle Bin (1). The Salesforce Classic name is All Recycle Bin.

• Restore records by clicking Restore (2) instead of Undelete in Salesforce Classic.

• Permanently delete records by selecting them and clicking Delete (3) versus Undelete or Empty in Salesforce Classic.

• You can’t restore reports and dashboards. Switch to Salesforce Classic to access them in the Recycle Bin.

Winter 20 Release Notes

It’s about time.

Add Products to Opportunities Faster in Lightning Experience

Boost sales reps’ productivity when they add products to opportunities. With dependent picklists, sales teams can specify complete product information as they create opportunities. Reps no longer have to open each opportunity product separately to complete fields. If you already use dependent picklists in the multiline editor for opportunity products, reps can now edit the fields. Previously, dependent picklist fields were read-only.

Winter 20 Release Notes

Dependent picklists now work in opportunity products in Lightning.

Price Book Entries: Track Changes with Field History Tracking and Audit Trails

Price book entries now support field audit trails and field history tracking, so now you can easily track changes to price book entry fields

Winter 20 Release Notes

To be honest, I didn’t know Field History Tracking wasn’t available on Price Book Entries. I’m glad that it is now though so one can more easily track pricing changes.

Filter Reports Using Field Comparisons with Field-To-Field Filters (Beta)

Filter a report by comparing the values of two different report fields. For example, see which cases were modified after the closing date by filtering on cases with a last modified date after the closed date.

Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

Winter 20 Release Notes

This is really nice. Being able to filter using field-to-field comparison where one field is compared against another is very beneficial. Prior to this, one would have to create a formula field to accomplish it. This allows one to create more granular report comparisons without having to create object formulas for each one. It’s likely that Object formulas will still be needed for the most complex criteria.

Customize Lightning Record Pages for the Phone Form Factor

Lightning record pages are no longer limited to Lightning Experience on desktop! If your org has opted in to the new Salesforce mobile app, you can see the same record pages on desktop and the mobile app. Or, go one step further and address the needs of different users by assigning one custom record page for desktop users and another for mobile app users. Not sure which of your pages are assigned to which form factor? You can find that information on the Lightning Record Pages screen in the Object Manager.

Winter 20 Release Notes

Set Record Page Component Visibility Rules Based on Device

For components on record pages, you can now show or hide a standard or custom component on a record page based on the device it’s viewed on.

Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. Available on desktop for orgs that have opted in to the new Salesforce mobile app.

Winter 20 Release Notes

Add Powerful and Performant Lightning Web Components to Your Flow Screens

The powerful features and performance benefits of Lightning web components have come to flow screens. You can now integrate components that your developers have built or find them on AppExchange for use in your flow screens.

Winter 20 Release Notes

Start a Flow on a Schedule

Do you have flows that are launched from Process Builder every time a record is saved, even though you need them to run only once a week? Do you wish you could schedule flows to run with the same ease as setting up a meeting? Now you can schedule an autolaunched flow to start on a particular date and time and set the frequency to once, daily, or weekly. If you want that scheduled flow to run only for a set of records, you can specify an object and filter.

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

How: To start a flow for a set of records, select the filter conditions in the Start element. When your flow starts, a flow interview runs for each record that matches your filter—no looping required. The matching record is stored in the $Record global variable, so you can reference the variable or its fields throughout your flow.

Important: There’s a per-org 24-hour limit for the number of scheduled flow executions at the scheduled start time. The org limit is whichever is greater: 250,000 records or the combined total of 200 records per user license. When a flow is scheduled to start, make sure that its schedule and conditions don’t cause your org to go over the limit.

Winter 20 Release Notes

This provides even easier scheduled batch declarative automation. Previously one had to use a combination of code and Flow or other declarative means to accomplish this. This is limited to 250,000 executions per day or it could be within the last 24 hours. It’s a little unclear. For larger orgs, this limit may be too restrictive. If that’s the case, one could try using a scheduled batchable apex job which invokes an auto launched flow for its processing. Batchable apex jobs can process up to 50 million records from an object and have higher limits when scheduled.

Configure Screens and Get Records Elements Without Creating Variables

When you add a screen component or a Get Records element to a flow, we automatically create variables to store the output values. You no longer have to create and assign variables, but you can still opt to do so. Get Records elements and screen components that were created before Winter ’20 aren’t affected by this change.

Winter 20 Release Notes

This is awesome. Having the framework hide the variable details from us and automatically handle it will save a lot of time. Allowing one to optionally manage variables is even better.

Help Your Users Search for Records in Flows

Let users search for a record the same way they do everywhere else in Salesforce by adding a Lookup screen component.

How: In Flow Builder, drag the Lookup component onto your flow screen. When you specify the object and field API names, enter an exact match.

Winter 20 Release Notes

This will ease finding parent records on child records. However, I’m not a big fan of the standard lookup’s user experience because it requires the user to know what they’re looking for so another solution may be better depending on your lookup requirements. The UnofficialSF Lookup Component may be a candidate.

Create Resources More Easily in Flow Builder

When you set a field on an element by selecting New Resource, a window opens for you to define the new resource. When you finish creating the resource, the element field now specifies the resource as you would expect. Previously, the element field remained blank, and you had to manually enter the new resource.

Winter 20 Release Notes

Finally! This should’ve been implemented when the “new” Flow Builder arrived. I’m glad it’s here now.

Get Longer Element Labels, Improved Panning, and Drag Selection in Flow Builder

We doubled the space for element labels on the Flow Builder canvas so that you can more easily identify what you build. You no longer have to click a button or hold down the space bar for panning: simply click and drag your way across the canvas. Save time when selecting multiple elements with the Drag Selection button. Click and drag a box around a group of elements to move or delete all the elements at once.

Winter 20 Release Notes

Activate Your Flow Without Leaving Flow Builder

Activate your flow right in Flow Builder as soon as you’re done building and testing. You can also still activate and deactivate a flow version from the Flow Detail page.

Winter 20 Release Notes

Another finally!

Alert the Right People When a Flow Error Event Occurs

To save time troubleshooting processes and flows that fail, subscribe to the new Flow Execution Error Event (FlowExecutionErrorEvent) platform event. Process Builder can subscribe to the event and then perform actions such as posting to Chatter or sending custom notifications. Previously, when a process or flow failed, you received only a flow error email.

How: From Process Builder, create a process that starts when a platform event message is received. Subscribe to the Flow Execution Error Event platform event.

Winter 20 Release Notes

Instead of getting only the flow error email, one can now optionally subscribe to the flow error platform event and take whatever actions they’d like.