Summer ’23 Release – Top 10

Summer ’23 is finally here. I have done the deep dive on release notes, and spent a good bit of time playing around in the preview box, so wanted to share some initial thoughts. My usual disclaimer applies in that I have a bias towards Platform/Customization, Service Cloud/Salesforce Field Service, and CPQ. The Flow team continues to release features at a furious pace, but I’m trying to include some other items here and not just focus solely on Flow, and so have omitted many improvements (email, lookup, datatable and more)! I highly recommend checking out the Summer ’23 Sneak Preview article linked below.

The usual must-follows are putting out their summaries, so be sure to check those out!

UnofficialSF / Alex Edelstein & Adam White: Summer ’23 Sneak Preview. Always the ultimate guide to all things Automation.

SalesforceBen / Andrew Cook: 10 Hottest Salesforce Summer ’23 Features for Developers

SalesforceBen / Christine Marshall: 10 Hottest Salesforce Summer ’23 Features for Admins

Automation Champion / Rakesh Gupta: Salesforce Summer ’23 Release Quick Summary

Salesforce Time / Yumi Ibrahimzade: New Flow Features of Summer ’23 Release

Now let’s get into the Top 10 items that caught my eye in the Summer ’23 Release Notes

10. Incident Alert Utility

I was going to highlight the parent-child SOQL query improvements (5 levels) here, but have seen a lot of chatter already in the community, so thought to include something a little different! Incident management is an area I’ve been watching for a few releases now to see how the capabilities mature. An interesting feature was included for Summer ’23 which is an Incident Management Alert utility. This component allows visibility of relevant alerts and the ability to associate the Incident directly to a Case without switching contexts.

To enable, we turn on Broadcast Alerts from ‘Customer Service Incident Management’ menu.

Then we need to add the Incidents Utility to the Utility bar for the app where we want the alerts to appear. In this case, I’ll use Service Console.

Now from the Case we can open the Incident Alerts utility, see all the latest Incidents, open the record (in a new tab), and/or attach the incident to the Case being viewed. Here I’ve selected

Attach Case to form a relationship between the Incident and the Case via a Case Relationship Record.

9. Apex – Set Type is Iterable

This change hasn’t gotten a ton of fanfare, but it’s definitely going to be useful and reduce annoyance while dealing with sets. Currently List collection allows methods that pertain to the Iterable interface. Prior to Summer ’23, Sets did not allow these methods, but now Set also implements Iterable so supports the commonly used methods that require it. Instead of looping through Sets, or casting as Lists to use the method, we can now apply directly to Sets. The following code block works while it was not allowed previously.

Set<String> setOfString = new Set<String>{'str1','str2','str3'};
String joinedString = String.join(setOfString,':'); //joinedString = 'str1:str2:str3'

8. LWC Calendar Improvements

Summer ’23 improves the standard Calendar component with a move to LWC. This includes better appointment layout (with overlaps), more appointments displayed at one time, enhanced drag/drop capabilities, and a better preview functionality. To activate, we go to Setup and then ‘Activity Settings’ and ensure that ‘Use Lightning Web Component for Calendar Home’ is activated.

7. Flow – Compact Canvas Layout

Bit of a smaller change here, but I like it nonetheless. A common frustration with Flow since the release of the nice ‘Auto-Layout’ feature is that the spacing applied was far too expansive, thus requiring constant grabbing/scrolling while building Flows. Summer ’23 offers a Compact layout for the build canvas, which will make the building experience far more friendly. There is more room for improvement here in my view, but this is a good step in the right direction.

6. Dynamic Record Page – Align Fields Horizontally

Summer ’23 provides a nice improvement for those focused on UI clarity and structure. We now have the ability to toggle a setting at the section level that will automatically align the fields within horizontally. This means that a grid is maintained for all displayed fields. If we have mismatched field types especially (long text on right column vs. number on left column), the next field in the column would roll up and misalign with the field on the opposite column. The release notes provide a good demonstration of this.

5. Flow – Http Post

Last release saw out of the box/configurable Http Callout capability from within Flow builder, but it only supported GET calls to start. The Flow team promised future improvements and we didn’t have to wait long. Summer ’23 now allows POST methods to be configured from the Flow Builder. This allows a great deal of power from within Flows without having to rely on invocable classes and callouts from Apex. Again, the UnofficialSF documentation is the go-to spot…here we see that the Sample Request and Response provided are parsed to automatically create the corresponding data structure

4. Dynamic Forms for Mobile

Summer ’23 brings Dynamic Forms capability to the Mobile App (Beta). This allows the layout experience to be finely tuned to mobile needs, including the functionality we’re used to with web-based navigation – conditional fields, sections, etc. To activate this, we enable from ‘Salesforce Mobile App’ in setup, and then the building begins! Pay attention to the notes regarding existing mobile layouts however as some adjustments are required.

3. Mass Quick Actions on Related Lists

With Summer ’23, we now have the ability to launch Quick Actions against Related Lists directly from a record. This is a tremendous advance in terms of allowing actions without leaving the parent record. For this release only Create New and Update Records types are supported, but it is exciting to consider that expanded capabilities will be coming in this area.

2. Flow – Reactive Components

Reactive Components for Flow is the most exciting new development for Flow in a few releases now (I’m going to include real-time/reactive formulas to this bucket) and continues to grow. The choice to go with LWC over Flow is often driven by the need to have a more dynamic experience on a single page or app. Reactive Components on Flow open the door to consider Flow for those use cases, which offers ‘declarative development’ some of the power previously only available to developers via custom LWC.

To activate, select ‘Opt In to Reactive Screens Beta’ on the ‘Process Automation Settings’ page of Setup. While building the Flow, select an output from one component as the default/input to another component and behold the reactivity. I built a small example to confirm the expected behavior, but the gif from UnofficialSF is a better example of the power of this functionality – remember no code required here. Follow-up note is that you should check out this post by Josh Dayment on UnofficialSF concerning the merging of Data Fetcher and Reactive Components=> excited to try this out!

1. User Access Policies

In terms of time savings and ease of maintenance, this may be the best release news I’ve seen in a long time. User and Access Management have long been a real challenge for complex organizations. Summer ’23 has provided a Beta for declaring and deploying recipes for assigning and removing licenses, permission sets, and other user management elements based on user criteria.

To enable, activate ‘User Access Policies (Beta)’ from User Management Settings menu. This enables the ‘User Access Policies’ options in the Setup menu. From there, we have to follow the detailed instructions provided in the Help article. In the example below, I’ve created a configuration to automatically grant the permission set ‘CommerceAdmin’ to any user that is Created or Updated to have the Division value of ‘2’. I then updated my user to set Division = ‘2’ and we can see that the rule acted on this change and assigned me the permission set.

Obviously this is far from a real life example, but shows the power of this new feature, as we can define a rules based and automated approach for maintaining user access. Mass assignment manually is also made significantly easier even if orgs are not ready to move to an automated approach. We also get a ‘Preview Users’ feature that simulates the effect of a setting before it is made. There are some limitations currently, so this isn’t a panacea (yet), but is an existing new capability nonetheless!

Thanks for reading, and hopefully this contributes to the excitement for Summer ’23!