
ゆるっとSalesforce #41 Winter '25 リリースノート輪読会 〜フロー〜
こんにちは遠藤です。
ゆるっとSalesforce #41 はWinter '25 リリースノート輪読会をしました。
今回はそれぞれ普段あまり触らない機能を担当しようということで、私はフローのリリースから4つピックアップさせていただきました。
管理者向けの機能のリリースについては、以下の公式のまとめなど早くから記事が上がっていましたが、この記事では改めて遠藤的視点でまとめています。
なお、イベントでデモをしたサンプルフローはGithubリポジトリで見れますので参考にしてください。
データの変換でより多くの変換先リソースのデータ型に対応
ゆるっとSalesforce #29で詳しく取り上げた「フロー要素: 変換」に大きめのアップデートがありました。
以下、リリースノートの抜粋ですが、数値などプリミティブデータ型がサポートされます。
変換要素では、変換先リソースの設定で、テキスト、数値、通貨、ブール型、日付、日付/時間などのプリミティブデータ型を使用できるようになりました。以前の変換要素の変換先リソースでは、レコードや Apex 定義のような複雑なデータ型しかサポートされていませんでした。
Before
Summer '24 までのロジック「変換」要素は、レコードまたはApex定義のみでした。

After
Winter '25では、数値やテキストなど各プリミティブ型への変換がサポートされます。

例えば、リリースノートにある以下のユースケースを実装してみます。
たとえば、営業マネージャーが、収益を予測するために、進行中のすべての商談の総額をすばやく確認したいとします。Flow Builder を使用することで、フローを作成して、商談を取得し、数値変数で保存することができます。この変数の値は、フロー内で後から参照できます。
「私のアクティブな商談」つまり自分が所有者のオープンな商談一覧を取得したあと、フロー要素「変換」を追加します。
商談のリストを数値の変数「SumOppoertunitiesAmount」に割り当てます。

「集計」の設定画面が表示して、集計の種別「合計」を選択し「商談.金額(Amount)」をセットしています。

画面フローで変数「SumOppoertunitiesAmount」を表示しただけですが、以下のように集計を確認できます。

コレクションを集計可能なデータ型は「数値」または「通貨」のみです。

積み上げ集計が使えない参照項目で関連リスト(子リレーション)の項目を積み上げたいケースに、ループを使わず集計ができるので非常に便利そうです。
その他のユースケースとしては、レコードの一覧からレコードIDのリストを作成するのも便利そうです。
参照: Streamlined flows with enhanced data transformations | Elevate Automation Processes With Winter ’25 Flow Features | Be Release Ready
一方で、単一レコードからの変換については、数式との使い分けがいまいちわかりません。考えられるとすると。数式と違いフロー要素の変換で明示することでフローの見通しが良くなるメリットなどがあるかもしれません。
改めて見てみると変換要素は便利ですね。以前、自社向けに商談の商談商品から契約の注文商品への変換するフローを作ったことがありましたが、今なら簡単に実装できそうです。
参考リンク
レコードの作成要素によるレコードの効率的な作成や更新
レコード作成要素にUpsert用のオプションが追加され既存レコードの更新ができるようになりました。
例えば、データ連携で外部データを取り込むようなユースケースで、既存データかどうかをチェックする分岐が不要となります。
以下、「求人」オブジェクトにCSVのレコードを取り込むようなケースを考えてみます。外部IDの項目「求人コード(Code__c)」を指定して、既存レコードを更新できるようになります。

イベントでは紹介できませんでしが、CSVをアップロードしてレコードを作成するフローのデモを用意していました。

「CSVファイルからレコードに変換」のApexアクションについては、UNOFFICIAL SFの以下の記事で紹介されているApexを利用しています。
プレビュー組織で作成したフローのメタデータを落としてみましたが、「既存のレコードを更新」の設定については含まれていませんでした。メタデータについては10月のリリース後に確認してみようと思います。
アクションボタンによる画面フロー環境の向上 (正式リリース)
こちらは、前回の輪読会でも取り上げましたが、アクションボタンがGAとなりました。
以下は、リリースノートに記載されているユースケースで、アクションボタン「取引先責任者を表示」をクリックすると、その上の「取引先を検索」ルックアップ コンポーネントで選択している取引先の取引先責任者を取得してデータテーブルに表示します。

しかしこのユースケースでは、ボタンを押さないと内容変わらないのは微妙なUIですね。なんか方法あるのかな。
画面からユーザー入力を収集してレコードのリストを変更
レコードの新規作成しかできなくイマイチなんのために存在するのかわからなかった「繰り返し」コンポーネント、既存レコードを設定できるようになり便利に使えるようになりました。
Before

After

参考リンク
おわりに
Winter '25ではEinstein AIによるフロー作成のCopilot機能が本来目玉かとは思いますが、弊社環境では試せてないため取り上げませんでした。Trailheadのハンズオン組織などで利用可能になったら試してみたいところです。