Salesforce Winter 21 Release Notes is here with some cool and exciting features. With this release our current API version is 50. So today we will take a quick overview of Salesforce Winter 21 Release Notes.

Points related to Salesforce Admin
Multi-Factor Authentication: Safeguard Account Access
In the current remote work culture it is required that we improve the security structure of our Salesforce org’s. So to do that we need to enable multi Factor Authentications. By tying user access to multiple, different types of factors, it’s much harder for a bad actor to access your Salesforce environment. We now have Multi-Factor Authentication Assistant using which we can control all security related stuff from one place. You can check more detail here.
Salesforce Anywhere: Plan and Accelerate Your Business in Real Time (Beta)
With Salesforce Anywhere we can make changes in data from just few clicks using suggested actions. We can do chatting for collaboration and search for existing data. We can also alert business using Flow or Process builder. You can check more details here.
Customer 360 Guides
Customer 360 Guides bring together assets for c-suite executives, line-of-business leaders, architects, and developers to drive digital transformation and engage customers. We can deliver personalized, genuine customer experiences that promote growth of unique shoppers, increase site traffic, and create higher demand with the Transform the Consumer Experience Customer 360 Guide.
Email Survey Invitations to 300 Participants
We can now send Survey Invitations to 300 Participants using a new Connect REST API resource. The Connect REST API also let us associate SurveySubject supported object records to survey invitations. You can check more details here.
Do More with the Optimizer App
The Optimizer App now has now more capabilities. We can now schedule it to run in background. And we have 7 new metrics to enhance our org’s security. Which includes Profile Assignment, Critical Permission Assignments, Release Updates Pending Review, Insecure Community Sharing Settings, Insecure Default External Access Levels, Sharing Rules for All External Users and Public Groups and Queues with Guest Users. You can check more details here.
See More Record Info in Highlights Panels
Previously in Highlight panel we can only display first five fields. Now hovering over a lookup field on a record page will display seven fields. So that means without going to related record we can display more details. It will be a great addition as we no longer need to switch tab to see details.
Points related to Salesforce Developer
Write Lightning Scheduler Appointments Directly to External Calendars
We can now publish Lightning Scheduler Appointments to External System. Once we enable the new Publish Appointments as Platform Events setting, Lightning Scheduler will publish the platform events for new, modified and deleted appointments. Developer can capture and send them to external system using API. You can check more details here.

Trigger a Flow to Run Before a Record is Deleted
Delete events are the one where we always need Trigger to add any validation or functionality. As all of the existing admin tools eg: Process builder, Workflow, Flow don’t support delete event. Not any more, with Winter 21 release we can now configure a flow to run before a record is deleted. Previously before insert flow and with this addition flow are the game changer for Salesforce Admin and developers. This auto launched flow runs in the background and updates related records when a record is deleted.
Debug Flow Errors in Sandbox Org as Another User
We now have the ability to debug a flow as another user in sandbox orgs. With this feature we can easily catch exceptions before moving them to production and then get surprise errors. You can check details here.
Build Multi-Column Screens in Flow Builder (Pilot)
We can now use the section component to arrange our flow screen components into multiple columns without any code. We can divide each flow screen into multiple sections, and easily modify the number of columns in each section to create effective, visually appealing layouts.
Improve the Performance and Precision of Record-Triggered Flows with Entry Criteria
Previously we can only configure a flow to run every time its created or edited. We now have control here and we can add the criteria to run flow only when it met with condition. So using this we can stop the unnecessary execution and improve the performance of the org. You can check more details here.
Use AND, OR, and Custom Operators Across All Flow Builder Elements
We now have options to use And, OR conditions and custom operators in all elements. These options are available in Get Records, Update Records, and Delete Records elements, and to screen elements. We can also find these options in the Start element when configuring schedule- and record-triggered flows, and in record choice sets. You can check more details here.
Break Up Your Record Details with Dynamic Forms (Generally Available)
Dynamic Forms are now Generally Available. So we no longer need to enable them. We can you can migrate the fields and sections from our page layout as individual components into the Lightning App Builder. and then can share access as any other components. Universally required fields moved to their own section of the palette and have distinctive icons and We can now package them. You can check more details here.
Unleash New Flexibility with Dynamic Actions on Desktop (GA and Beta) and Mobile (Beta)
Dynamic Actions are now Generally available and Dynamic actions for supported standard objects (Account, Case, Contact, Lead, and Opportunity) are Beta for desktop. We can assign actions in the Lightning App Builder instead of the page layout, and apply filters to control when and where actions appear for users. You can check more details here and here.
Scan a Barcode in a Lightning Web Component (Beta)
We now have BarcodeScanner API to add barcode scanning to our Lightning web components. Previously we need to use third party library to get this functionality. This feature is available When Lightning Web Component run in mobile app or mobile publisher. You can check more details here.
Shorten Your Visualforce URLs
Salesforce has now removing the instance names from Visualforce and other URLs through a release update. The Stabilize URLs for Visualforce, Experience Builder, Site.com Studio, and Content Files update is enforced in Summer ’21. You can check more details here.
Update Resources with the PATCH HTTP Method in Apex Callouts
previously we cannot make PATCH request from Salesforce. We need to try some Hacks using PUT method to make it work. Sometimes they don’t work and we kinda stuck here. We no longer need to worry about that. We can now specify the PATCH method in the HttpRequest class. I believe many developer will feel relaxed and happy just like me. You can check more details here.
Use the Safe Navigation Operator to Avoid Null Pointer Exception
We can now use the safe navigation operator (?.) to replace sequential checks for null references. This new operator short-circuits expressions that attempt to operate on a null value and returns null instead of throwing a NullPointerException
. If the left-hand-side of the chain expression evaluates to null, the right-hand-side is not evaluated. Use the safe navigation operator (?.) in method, variable, and property chaining.
a?.b // Evaluates to: a == null? Null : a.b
// Previous code checking for nulls
results = [SELECT Name FROM Account WHERE Id = :accId];
if (results.size() == 0) { // Account was deleted
return null;
}
return results[0].Name;
//New Code
return [SELECT Name FROM Account WHERE Id = :accId]?.Name;
Send Custom Notifications from Apex
We can use Messaging.CustomNotification class to create, configure, and send custom notifications directly from Apex code, such as a trigger. Previously we need to make API callouts to create them. But we no longer need to do that as we can create a new instance of CustomNotification, configure a few notification details, and call the send() method. You can check more details here.
Detect Apex Runtime Context with RequestId and Quiddity
We can now detect Apex context at runtime and correlate multiple logs triggered by the request, using Request ID and Quiddity values. Use the methods in the System.Request class to obtain the Request ID and Quiddity of the current Salesforce request. You can check more details here.
//Get info about the current request
Request reqInfo = Request.getCurrent();
//Universally unique identifier for this request
//Same as requestId in splunk or REQUEST_ID in event monitoring
String currentRequestId = reqInfo.getRequestId();
//enum representing how Apex is running. e.g. BULK_API vs LIGHTNING
//Use this with a switch statement,
//instead of checking System.isFuture() || System.isQueueable() || ...
Quiddity currentType = reqInfo.getQuiddity();
Release Updates: Enforcement for Profile-Based Access for@AuraEnabled Apex Classes, and More
We have few updates related to @AuraEnabled Apex class and methods. Which includes restrict access to Apex class and secure static resource for lightning components. You can check in detail here.
Salesforce Winter 21 Release Timeline

So in Salesforce Winter 21 Release we have some great enhancement related to Before Delete Flow, Dynamic Forms and Patch callout. You can read complete Salesforce Winter 21 Release Notes here. You can also signup for pre-release org here.
Which point you like most in Salesforce Winter 21 Release Notes. Let me know in comments, Happy Programming 🙂
1 thought on “Salesforce Winter 21 Release Notes : Quick Overview”