Winter'24のリリースノート、特にフロー周りが気になって手元でいろいろ試していたところ、地味~に助かる挙動変更がありましたので紹介します。
◇SALESFORCE HELP >DOCS >SALESFORCE RELEASE NOTES >Salesforce Winter’24 Release Notes >Salesforce Flow >Flow Builder Updates >Screen Flow Components Retain Values After State ChangesScreen Flow Components Retain Values After State Changes
Screen flows now retain values when a user resumes a paused flow, experiences an input validation error, or returns to an earlier screen. Previously, if you didn’t provide a default value when you configured the Name, Address, Data Table, Email, or other components, the flow removed user-specified values when these events occurred. This change applies only to flows that are running on API version 59.0 or later.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
↓DeepLさんの力を借りた日本語訳です。
画面フローコンポーネントが状態変更後も値を保持
ユーザーが一時停止したフローを再開したとき、入力検証エラーが発生したとき、または以前の画面に戻ったときに、画面フローが値を保持するようになりました。これまでは、Name、Address、Data Table、Email、またはその他のコンポーネントを設定するときにデフォルト値を提供しなかった場合、これらのイベントが発生すると、フローはユーザー指定の値を削除していました。この変更は、APIバージョン59.0以降で実行されているフローにのみ適用されます。
対象:この変更は、Essentials、Professional、Enterprise、Performance、Unlimited、および Developer エディションの Lightning Experience に適用されます。
画面フローで「一時停止」を使用した機会は無いので(要素数制限回避以外でのユースケースぜひ教えてください!)、「以前の画面に戻った時」「入力検証エラーが発生したとき」について確認してみます。
検証のために作成したのは『リードの作成とキャンペーンの紐づけ(キャンペーンメンバーの作成)を同時に行う画面フロー』です。今回はバージョンアップによる挙動変更の紹介のためフローの設定の詳細は割愛します。
ポイントは、
最初の画面で名前を入力し、【次へ】で直ちに作成されるのではなく、確認画面を一旦出してから作成する仕様だという点です。

Summer'23までの挙動
まず、これまでの挙動です。最初の画面ですべての項目を入力し、

【次へ】で確認画面に進んだところ入力ミスに気づいたと仮定します。【前へ】ボタンで1つ前の画面へ戻ると、


「名前」「メール」「データテーブル」コンポーネントで入力および選択した値が消えてしまいます。リリースノートによると「住所」も対象です。リリースノートでは「or other」とまとめられていましたが「電話」も消えてしまっています。「テキスト」(会社名)、「ラジオボタン」(リードソース)コンポーネントは値が残っているのが不思議。
入力検証エラーとなった場合も同じです。画面フローでは「入力を検証」を設定するとデータの整合性に合わない入力はエラーメッセージを出して次の画面に進ませないことができます。
今回のフローは「初回コンタクト日(カスタム日付項目)」が未来の日付だとエラーになるように仕込んでみました。

エラーとなる日付を入力して【次へ】ボタンを押すと、


こちらもせっかく入力していた値が消えてしまいました。
ちなみに私はこの挙動のために入力検証項目だけ画面を分けて作成した経験があります。
Winter'24で改善された挙動
画面を元に戻っても、うっかりエラーになっても、値が保持されているため再入力は不要です!

なお、新しい挙動はAPIバージョンが59以降であることが条件なので、既存のフローで挙動を改善するにはフローを「別名で保存」し、「詳細を表示」から「フローを実行するためのAPIバージョン」を59以上に上げてくださいね。

Winter’24関連の記事
Winter'24のスケジュールが出ましたね
Winter'24 リリースノート(英語版)が公開されました!Winter'24のプレリリース組織が取得できますよ!Winter'24 日本語(カタカナ)の表示ラベル変更についてWinter'24 またまたUIのお色味が変わるようです。Winter'24 ファイルの公開リンク 有効期限のデフォルト値が90日から30日に変更
{{i18n("articles.view.premium")}}