Another Summer, another Salesforce release. While this release was delayed and its mascot icon changed due to the COVID-19 pandemic, Summer ‘20 is finally here. A lot of great new features coming to an org near you and a ton of cool stuff to stay excited about in the future as well!
While these features are not GA yet, this was my top most wanted feature in my 2020 Outlook and I’m super excited about it!
Dynamic Forms (Non-GA Preview)
Your users can now customize their Lightning App Builder pages down to the Layout Section or even Field level based on certain conditions. No more having to create tons of layouts just to add one field, or having to have a bunch of extra fields crowd the screen if they’re not needed at a certain point. I’m super excited to try this out and the PM from Salesforce, Vin Addala, is soliciting feedback and has some resources for you to get started too.
Dynamic Actions to Highlight Panel (Beta)
In addition to Dynamic Forms, I’m also pretty excited that a new Beta feature allows us to customize the Actions that appear in the Highlights Panel. Once again, we can cut down on page layouts by providing conditions on actions showing up. I love the idea of decluttering my layouts and only showing the actions when they’re needed.
Once again, following the Spring ‘20 Release, Flow takes a MAJOR step forward in this release. Following the “Before Save Flows” functionality we got in Spring, we now have the next logical step: “After Save Flows”
After Save Flows
I think the line that stands out the most for me is “You can replace most of your workflows and record-change processes that you created in Process Builder.” If you’re already familiar with code, “A flow that performs after-save actions is similar to an after trigger”. If you’re not already familiar with code, consider yourself that much closer to being an Apex Developer! With After-Save Flows, you can fire off a flow automatically after a record is saved. The implication of this means that you’ll have access to the record’s ID as well as the LastModified information.
As Flows continue to get stronger, if you aren’t already familiar with how to build flows, it’s time to start. I think it’s pretty clear that the new automation in Salesforce on the declarative side is coming to Flow while Process Builder and Workflow appear to be falling out of style. Count this as another win for “clicks before code” as well, as there is now more we can do without needing an Apex Trigger.
Debug Flows Faster and Track Flow Resource Usage in Debug Logs
One of the reasons I’ve preferred code to Flows in the past is because, in my opinion, existing flows are hard to troubleshoot, or debug, and are also hard to start building. The troubleshooting/debug piece is considerably addressed in this release. Now you can configure Debug options including “rollback mode”, which will undo, or “rollback”, all records changes done as a result of the flow if something goes wrong.
Flows will also show you more information in the Debug Logs that you can run for yourself or another user about how many Salesforce resources they’re using and how close they are about hitting limits. This should help determine why Flows are hitting errors as well and resolve them quicker.
Flow Builder Guidance
Salesforce addressed my other concern with Flow in this release as well, by showing Tips to help you build your flows while you’re building them!
Access Apex-Defined Variables in Flows
Yet another Apex/code feature being brought to flow, custom variable types. For those unaware with writing code, you’re not necessarily limited to just having a variable of type Number, Text, Account, etc, but can create your own types or structures with properties that you define. For example, maybe you want a single variable that has multiple properties. I could have a variable in Apex defined as follows:
Type: Bank Account
Bank Account.Customer Name (Text)
Bank Account.Amount (Decimal)
Bank Account.Account Number (Number)
Bank Account.Bank Name (Text)
I can now reference such an Apex-Defined variable in my flow!
Share CSS Across LWC
I love the ability of Lightning Web Components to import almost anything. I also hate having to duplicate things, including styling. Now you can develop a CSS component and import it into your other components to create a consistent look and feel across your components.
Import User Permissions LWC
Yet another thing to import into LWC! Check whether users have specific permissions specified by importing them.
Track Source Changes in Sandboxes (Beta)
I love using Scratch Orgs but sometimes it just isn’t feasible for a specific use case or bug fix. One of the difficult things about developing with SFDX with sandboxes is having to manually track your changes. I’m excited about this new Beta feature to start letting SFDX track your sandbox changes like it’s a scratch org.
LWC Test Create Commands CLI
While Lightning Components don’t (yet) require tests, it’s always best practice to be testing your code. That’s why I’m glad to see these new SFDX commands to focus on testing your components, including creating some boilerplate code to get you started.
Outside of Development, Flow, and the Dynamic items, there are a few other items that I’m excited about in this release.
Split List View
I loved the Kanban view when it first launched and I’m a big fan of this new List View type as well. Far too often I find myself having to open a bunch of new tabs from a list view to make modifications or look at details to a bunch of records. Now I can choose the Split List View to view them all from one tab and keep my browser RAM to a minimum.
Minimum User Access Profile
With Salesforce security being shifted to Permission Sets, I think this is a long time coming; an empty Profile where ALL security for a user can be managed by Permission Sets.
In App Guidance Builder
I haven’t used this feature yet, but I’m glad to see that Salesforce is focusing on helping with User Adoption by providing tools to help build in-app guidance for end users.
Related Record Component
This is another nice way Salesforce is extending the capabilities of the Lightning Experience. Now with the “Related Record” component for the Lightning App Builder, you can show and edit fields on a record 2 levels up. My friend Jagannathan walked through a good example on Slalom’s Medium blog.
Reasons to get Excited
Lastly, I’m always interested to see what Salesforce is working on that I’ll be able to start using in a few releases. Here are a few of the Beta and Pilot features that I’m looking forward to becoming Generally Available.
Release Updates (Beta)
This appears to be a complete overhaul of the Critical Updates functionality and based on the initial release notes, I’m a fan. I think it’ll help provide context and better understanding for the impacts of the critical updates that need to be implemented.
LWC Based Community Template (Pilot)
I recently started supporting a Visualforce + Tabs Community for Mobile and it leaves a lot to be desired. I was surprised that we were still so reliant on Visualforce to get our customized Community working. I think this will be the start of something great that will vastly improve the customized Communities experience.
Einstein Natural Language Search (Beta)
This requires a separate Permission Set license, but like many Einstein features, this one looks pretty cool. Use natural language to search for records and Salesforce will find them for you. Tremendous possibilities!
Let me know if you found anything else I missed. Hope everyone is staying safe and healthy and hope to be able to connect with you in person someday soon. Until then, make sure to take advantage of all the virtual events happening across the globe that you can now attend from your own home. I’m “speaking” in New Delhi, India later this week and hope to see you there!