Winter ’23 Release – Top 10

Winter (’23) is coming. There will be far more comprehensive summaries out there, but I’ll throw my hat into the ring regardless. This time I actually got a pre-release box set up to check out the changes! My usual disclaimer applies in that I have a bias towards Platform/Customization, Service Cloud/Salesforce Field Service, and CPQ.


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

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

SalesforceBen / Christine Marshall: 10 Hottest Salesforce Winter ’23 Features

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

Salesforces News Technology Stuff / Tushar Sharma. Winter ’23 Release Notes Quick Overview.

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


10. Flow – Check Formula Syntax within Formula Editor

Anyone experienced in Flow will be familiar with the formula dance: Enter formula, Save Screen, Save Flow, Get Error, Update Formula, etc. No more! Now the formula editor has a built-in syntax/error check.

Formula Syntax

9. Field Service – Scheduling Dependencies

Winter ’23 introduces a number of scheduling improvements, and the one of most interest to me is the ability to chain Service Appointments via declaration of dependencies. This allows for multiple Service Appointments to be associated via dependencies, and the scheduling engine will plan based on these related Service Appointments in aggregate. This is another step towards more project management type functionality in standard Field Service.

To enable this feature, follow the these steps to complete the setup.

Service Appointment Dependency

8. Salesforce Code Builder Beta

The long-awaited web-based development environment called Code Builder is now available in Beta. It is available on AppExchange here. A very helpful video can be found here as well, and expect the community to continue to be active.

All of the Developer Console fans out there (are there any?) are down today.

7. Field Service – Lightning Web Components Available In Mobile

This one is close to my heart, as it is closing one of my old Ideas from doing a full build of Field Service Mobile. Prior to the introduction of LWC for Field Service Mobile, everything had to be accomplished using Flow (w/ many limitations) or Actions. With this release we now have the ability to use LWC in Flows, which will greatly expand capabilities for achieving business solutions in mobile. I’m not going to custom build something for a screenshot, so will use the default one 🙂

LWC in Mobile

6. LWC – Screen Flow & Standard Modal Components Introduced

Sharing this one between the new Screen Flow component and a new standard modal LWC component.

To launch screen flows within an LWC, we previously had to use a custom component as outlined on UnofficialSF, but this release offers a standard approach as follows.

<template>
    <lightning-flow
        flow-api-name='Survey_customers'
    >
    </lightning-flow>
</template>

For the Modal, this allows a standard method to put overlays in the LWC, and allow or force a given action prior to continuing with the LWC. Previously this was achieved with bespoke HTML only, so there could be quite a bit of variation in approach across different implementations. This should aid in standardizing modal usage going forward.

Below are the implementation details from the release notes. Keep an eye on the component library for further details.

/* c/myModal.js */

import { api } from 'lwc';
import LightningModal from 'lightning/modal';

export default class MyModal extends LightningModal {

    handleOkay() {
        this.close('okay');
    }
}
<!-- c/myModal.html -->

<template>
    <lightning-modal-header label="My Modal Heading"></lightning-modal-header>
    <lightning-modal-body>This is the modal’s contents.</lightning-modal-body>
    <lightning-modal-footer>
        <lightning-button label="OK" onclick={handleOkay}></lightning-button>
    </lightning-modal-footer>
</template>

5. Flow – Standard Lookup Component Allows Multi-Select

The standard lookup component in Flow is getting some upgrades. It now supports multi-select, which could previously only be achieved with custom components. Maximum selection can be easily set as well. Set up in the Flow Builder as such:

Lookup to Accounts from Contact

This will allow selection of 1 or more records from the lookup component.

Selection of Accounts from Contact

4. Dynamic Forms Available for Account, Contact and Opportunity

Dynamic Forms are a fantastic feature in terms of building responsive Lightning Record Pages that still provide the required information and actions. Previously, this capability was not available on the critical standard objects of Account, Contact and Opportunity. Winter ’23 allows for Dynamic Form update on these objects, and I suspect many orgs will be scrambling to apply this change in their environments.

Here we see the Account object, and note that Dynamic Forms is now available against the Detail section.

Dynamic Forms on Account

3. Flow – IN Operator for Get Records

This one is huge! We can now use ‘In’ and ‘Not In’ operators in Get Records (or Update/Delete) element. The only option previously was to use the great ‘Get Records IN Flow‘ apex action (or similar invocables), or to perform queries within a Loop in Flow. Querying inside a loop is a bad practice and could easily cause limits to be hit to boot.

In this release, we put the filter criteria into a text collection, though it appears in the future there will be the ability to filter against a record collection itself.

IN: Operator in Flow Get Records

2. Field-Level Security against Permission Sets

Not going to lie – the assignment of FLS to profiles during field creation or ‘Set Field Level Security’ has been annoying for a long time. This is especially true as the preferred approach to granting access is via Permission Sets. Good news is that the Winter ’23 release allows the ability to assign directly to Permission Sets.

To enable this setting, go to Setup => User Management Settings, and activate the following setting: Field-Level Security for Permission Sets during Field Creation (Beta).

Enable FLS for Permission Set

Once this is set, when you create a new field or update FLS for an existing field, you’ll see the Permission Sets for FLS assignment instead of the previously seen Profiles. Per the help text – ‘This list includes permission sets that have Create, Read, Edit or Delete access for this field’s object’. Proper discipline around maintenance of Permission Sets will ensure this list stays manageable, and this feature useful.

Create New Field
Update FLS on Existing Field

1. Flow – Datatable Component Available Natively

A standard Data Table component is now available natively – as originally teased on UnofficialSF! I think every org in the world that uses Flow will have Eric Smith‘s incredible Datatable component in high use. That tool still has far more features than the standard component, but the native component will certainly close a big gap and assist in the application of as much standard functionality as possible.

Below you will see that I have added the new component for an Account collection.

Datatable in Flow (native)

This will display the datatable in the screen flow according to the collection passed in and the columns defined.

Datatable in Flow (native) Results

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

Leave a Reply

Your email address will not be published. Required fields are marked *