見出し画像

[Spring'25] 気になるリリースをピックアップ〜フロー編〜

こんにちは、co-meetingでエンジニアしているハナミズキです。
この記事では、Spring '25のリリースノートの中から、特にフロー関連で注目したいリリースをピックアップしました。
先日開催した「ゆるっとSalesforceトーク #48 Spring '25リリースノートピックアップ 」で発表した内容もあわせてまとめています。


特に気になるリリース

ここでは、特に注目している「ゆるっとSalesforceトーク」で取り上げたリリースをご紹介します。

Guide Users Through Screen Flows with Built-In Visual Progress Indicators
( 組み込みの視覚的な進行状況インジケーターを使用して、画面フローを通じてユーザーをガイド )

関連: Showing Users Their Progress in a Screen Flow

進行状況インジケーターが公式に追加されました!個人的には「これ、欲しかった!」と思える機能の一つです。

実際にプレリリース組織で触ってみたところ、以下のようなポイントが気になりました。

  • フェーズの設定方法がやや分かりづらい
    フェーズごとに設定を行いますが、初見ではどのように進めるべきか少し迷いました。

  • フェーズの数値はユニークである必要がある
    同じ数値を設定するとエラーになるため、画面ごとにユニークな値を指定します。

  • 「デフォルトで有効」を選択しないと適用されない
    デフォルトで有効化されない設定があるため、注意が必要です。

今回のリリースが適用されると画面の右側に以下のように[フェーズ]の設定が追加されます。

リソースで[フェーズ]が追加できるようになり、それぞれ以下のような設定を保有しています。この時に画面に表示される情報は「表示ラベル」になります。

また、画面の数だけ[フェーズ]を追加する必要があります。

なお、順序は、他のフェーズと被らないよう数値を設定する必要があり、今後画面が増え後から柔軟に調整できるよう5、10、15などの連番ではない数値を指定しても問題なく動くようになっております。

次にインジケーターの見た目ですが、こちらは保存する時の[詳細を表示]で設定メニューを開くことが可能です。

以下のように3種類の見た目が提供されています。それぞれを選択した時のイメージが右側にプレビューとして表示されるため、参考にしながら選択可能です。

改めて、このリリースでは、視覚的な進行状況を示すことで、画面フローの使い勝手が良くなりそうです。

Undo, Redo, and Save As with Keyboard Shortcuts
 ( キーボードショートカットで元に戻す、やり直し、名前を付けて保存が可能 )

Flow Builderでキーボードショートカットが利用できるようになり、操作がより便利になりました。

提供されているショートカットのサンプル例に加え、Ctrl + / または Cmd + / を使用することで、Flow Builder内から以下のようなキーボードショートカット一覧を簡単に確認できます。

Join Collections with the Transform Element
 ( Transform要素でコレクションを結合する )

地味ながら非常に便利な機能が追加されました!この機能を利用すると、以下のようなコレクションの変換や結合が可能になります。

今回は、2つのカスタムオブジェクトを作成し、それらを用意したApexクラス定義のコレクションと内部結合する仕組みを試してみました。
なお、変換で利用可能なソースデータであれば、さまざまなデータを活用することができそうです。

手順

1. ソースデータと対象データの指定
まず、結合するためにソースデータを2件、変換後の対象データを1件指定します。

2. ソースコレクションの選択
次に、1つ目のソースコレクションを選択し、その状態で対象データのコレクションを選択します。その後、通知メッセージが表示されるので、指示に従って2つ目のソースコレクションを選択してください。

3. 結合条件の設定
2つのコレクションが選択されると、結合に関する設定ページが表示されます。ここでは必要な条件を指定します。

以下は、結合キーや結合項目、対象コレクションへの対応付けを設定した後の画面です。

結合に使用する項目は、以下のようにソースコレクションから選択します。

以下は、結合項目の対応付け画面です。それぞれの選択した項目を対象コレクションのどの項目に対応付けするかを指定します。

この機能を利用するためには、Apexクラス定義を作成する手間がありますが、シンプルな結合であれば非常に使いやすい形になっていると感じました。この機能を通して、また新たなる改善リリースが今後も出てきそうです。

Monitor All Failed and Paused Flow Interviews from the Automation Lightning app 
( Automation Lightning アプリからすべての失敗および一時停止中のフロー インタビューを監視する )

Automation Lightning (自動化)アプリに新しい機能が追加され、フローの失敗を確認したり、一時停止中のフローを再開することができるようになりました!フローの管理やデバッグがこれまで以上に便利になります。

前提条件
この機能を利用するには、以下の設定が必要です。

  • Automation Lightning (自動化)アプリを有効化する

    • [setup]-[プロセスの自動化設定]-[オートメーション Lightning アプリケーションを有効にする ]にチェックを入れて有効にすると自動化 アプリが使えるようになります。

  • フローの一時停止を有効化する

    • [setup]-[プロセスの自動化設定]-[フローの一時停止をユーザーに許可 ]にチェックを入れて有効にすると一時停止が使えるようになります。

設定を有効にすると、アプリケーションランチャーから [自動化] アプリが選択可能になります。

フローの監視とデバッグ
Automation Lightning アプリの監視タブでは、過去に実行されたフローの結果を確認できます。

失敗したフローは、詳細ページでデバッグ情報を確認できます。[開く]をクリックすると、フローをデバッグした際と同じ情報が表示され、エラーの原因を特定しやすくなります。

一時停止したフローも、監視タブから再開することが可能です。再開する際の操作はシンプルで、タスクが中断されたポイントから継続して実行されます。

このリリースによって、フローのエラー対応や一時停止中の処理再開が効率的に行えるようになりました。特に、ユーザーから「フローが失敗した」と連絡が来た際に原因を迅速に特定できる仕組みは非常に便利そうですね。

Design Component Errors for a Better Experience 
(より良いエクスペリエンスのためにコンポーネントエラーを設計する)

今回のリリースでは、フローに埋め込むカスタムLWC(Lightning Web Components)でエラーメッセージの表現をカスタマイズできるようになりました。開発者にとって非常に便利な機能追加です。

これまでの仕様
従来、カスタムLWCに@apiインターフェースを使った `validate` メソッドを実装することで、[次へ]ボタン押下時に検証することができました。
また、その他、Flow Builderで[画面]要素にカスタムLWCを配置した際に、左側の設定メニューから[入力の検証]を設定することでも検証の仕組みを追加できていました。
これらの検証エラーが発生した場合、エラーメッセージは自動的にコンポーネントの下部に表示されます。

新機能の概要
今回のリリースでは、新たに以下の2つのメソッドが@apiインターフェースを介して追加されました。

今回のリリースで、カスタムコンポーネントに以下のメソッドを@api インターフェースを利用して実装すると、この[入力の検証]をエラーの表示方法と場所を制御できるようになります。

  • setCustomValidity(externalErrorMessage: string)

    • フローの[入力の検証]で指定されたエラーメッセージを受け取り、任意の位置に表示できるようになります。

  • reportValidity()

    • このメソッドは `setCustomValidity` とセットで使用する必要があります。

以下は、カスタムLWCに新しいメソッドを実装する例です。

/**
* Flow Builderの画面よりコンポーネントの[入力を検証]で指定されたエラーメッセージをセットする
* NOTE: フローに埋め込んだ時に「次へ」ボタン押下時もしくは「完了」ボタン押下時にコールされる
* Spring'25(apiVersion 63.0)以降で利用可能,reportValidityとセットで必要
* @param {string} externalErrorMessage フロー[入力を検証]に指定されたエラーメッセージ
*/
@api
setCustomValidity(externalErrorMessage) {
    // 内部変数にセットして任意の表示位置に表示されるよう対応
    this.externalErrorMessage = externalErrorMessage;
}

/**
* NOTE: Spring'25(apiVersion 63.0)以降で利用可能,setCustomValidityとセットで必要
* 現時点で戻り値の指定は不要。@apiをつけて、外部からコールできるようにしてあげる必要があるのみ。
*/
@api
reportValidity() {}

これらのメソッドを使用することで、エラーメッセージの表示場所やデザインを柔軟に制御できるようになりました。
たとえば、エラーメッセージをコンポーネント内の任意の位置に表示したり、カスタマイズしたスタイルを適用したりすることが可能です。

エラーメッセージの表現をカスタマイズする例

注意点
2025年1月時点、プレリリース組織で検証した際、以下の挙動が確認できました。
validate メソッドと新メソッド(setCustomValidity および reportValidity)を組み合わせて使用した場合、validate メソッドで指定したエラーメッセージが表示されない現象が発生。

当件については、今後の関連情報を待ち必要に応じて情報を更新しようと思います。

それ以外で気になったリリース

こちらでは、「ゆるっとSalesforceトーク」で取り上げなかったリリースの中から、個人的に注目したものを簡単にご紹介します。

Enhance Flow Performance by Controlling the Number of Records Retrieved with Get Records
( Get Records で取得するレコード数を制御してフローのパフォーマンスを向上させる)

地味ながら非常に便利な機能がリリースされました。[レコードの取得]要素でLIMITを設定できるようになり、大量のデータを扱う際のフロー全体のパフォーマンスを意識して実装できそうです。

Create Flows with a New Streamlined Creation Experience
( 合理化された新しい作成エクスペリエンスでフローを作成する )

フロー新規作成時のUIがまた変更されました。

Access Flow Versions in Flow Builder 
( Flow Builder でフロー バージョンにアクセスする)

これも便利な機能追加の一つです。これまで、フローのバージョンを切り替える際は以下のような手順が必要でした。

1. フローの一覧ページに戻る
2. [詳細とバージョンの表示]を選択する

この少し手間のかかるプロセスが、Flow Builderの画面内で直接バージョンを切り替えられるようになりました。 たとえば、大幅な変更を加えた後、「やっぱり元のバージョンに戻そう」と思ったときに、すぐに対応できるようになり、作業が楽になります。

Debug Flows at a Glance with the Improved Debugging Experience
(改善されたデバッグエクスペリエンスでデバッグフローを一目で確認)

一見、大きなアップデートではありませんが、実際に触ってみると便利さを実感できる改善です。 たとえば、レコード更新時に更新された要素の数がわかるようになるなど、小さな機能追加が積み重ねられています。 こうした改善は地味ながらも非常に有用で、日々の作業効率が向上する点で魅力的です。

おわりに

今回は、フロー関連の中でも特に注目した5点と、軽く気になった4点をピックアップしてご紹介しました。

仕事柄フローに触れる機会が多いこともあり、リリースノートではついフロー関連のセクションに目がいってしまいますね。直近では、画面フローに埋め込むカスタムコンポーネントを作る機会があり、今回のリリースノートを通じて個人的に非常に勉強になりました。

たとえば、画面コンポーネントに埋め込むカスタムLWCの開発時に、apiインターフェースを活用した `validate` メソッドを用意することで、[次へ] ボタン押下時にエラーメッセージをコンポーネント下部に表示できる仕様を知ることができました。ドキュメントでも見落としそうな軽い記載でしたが、今回新たな発見として得ることができてよかったです。

次回のリリースも楽しみですね。
ではでは!