The Salesforce Winter 20 release is due to hit customers on the weekends of the 5th and 12th of October (as always, check the trust site for the current schedule). Clive Platt and I presented our traditional webinar reviewing the key changes on October 2nd, and you can view the recording on our YouTube channel. If you can't spare that much time at the moment, here's the top seven features that we've uncovered.

1. New Salesforce Mobile App

The big news of the Winter 20 release is the new Salesforce mobile app. The new app supports the App Launcher and allows admins to create a unified experience across devices. The Lightning App builder now supports conditional rendering of components based on device, and pages can be activated for desktop, mobile or all devices. The new mobile app is opt-in, so users won't get any unexpected surprises, and their previous mobile experience is still available in the Mobile Only app.

The new mobile app is scheduled for release starting October 14th 2019.

2. Recycle Bin

This much loved feature finally make its debut in the Lightning Experience, no more switching over to Classic if you delete a record and then suddenly realise you needed it. Unlike Classic, the recycle bin in LEX appear as a tab so you access it via the App Launcher or by adding it to the selected tabs for your app(s). One key difference is that you can't restore reports or dashboard via the LEX recycle bin, so you may find yourself still needing to switch back to Classic on the odd occasion.

3. Prompts

Prompts provide in app guidance for training purposes or to onboard new users. They contain content specific to your implementation and problem domain, and can contain action buttons to link to URLs providing more information, such as Trailhead modules or internal training content.

4.Opportunity Contact Roles

In the Winter 20 release of Salesforce, Opportunity Contact Roles are customisable, supporting custom fields and page layouts, validation rules, and Apex triggers. So if you need to capture more information about the relationship between a Contact and an Opportunity, such as when the Contact first became involved in the deal or when they moved on, you can now capture this on the standard sObject rather than having to create a custom solution.

5. Row Level Formulas

Probably our second favourite feature from the new release. Previously, if you wanted to display information derived from multiple fields in a single row on a report, you had to create a custom formula field on the sObject you were reporting on and add this to the report. An extremely common example of this is a daily scheduled report that includes the number of days until an opportunity is due to close - there must be hundreds of identical custom fields in Salesforce instances around the world calculating this piece of information. With row level formulas, you can define the formula and add it to the report like a regular field.

6. Recalculate Formulas of Multiple Records

One for the coders - recalculate formulas on multiple sObject in-memory records using the new Formula class. Note that if the records don't have all the fields required for the formulas to be evaluated, then SOQL queries will be consumed to retrieve the additional data required.

7. Conditional Rendering in Flow

And finally, one for the no-coders. Screen components in Lightning Flows can be hidden or shown depending on whether it matches the configured conditions.