via pixabay.com
目次
はじめに
SalesforceのSpring’25リリースでは、フロー機能に関する多数の注目すべきアップデートが提供され、業務プロセスの自動化がさらに柔軟かつ強力になりました。これまで手作業で設定していた処理の効率化はもちろん、Einsteinのアップデートによって、フロー作成や説明の生成までもが飛躍的に進化しています。本記事では、いくつかのアップデート内容について、実際のユースケースを交えながらご紹介します。今後の業務効率化やシステム設計の参考としてお役に立てていただければ幸いです。
リアルタイムな入力検証の判定
最初に、「リアルタイムな入力検証の判定」について解説します。
Spring’25以前は次の画面に遷移するか、フローを完了しなければ入力検証のエラーが表示されませんでしたが、Spring'25のアップデートで、ユーザーが入力欄の外にカーソルを置いたタイミングで入力値が適切か確認できるようになりました。
エラー表示の比較として、入力規則でのエラー表示について簡単に確認します。
レコードの新規作成画面で入力規則に引っかかった場合には、以下のようなメッセージ付きのエラーを表示させることができます。
レコードの新規作成画面で入力規則に引っかかった場合には、以下のようなメッセージ付きのエラーを表示させることができます。
新規レコード作成時に入力規則でエラーとなった場合の表示
しかし、画面フローからレコードを作成/更新しようとした際に入力規則に引っかかった場合には以下のようなエラー画面が表示され、入力ユーザーはエラーの原因が何なのか確認することができません。
画面フローでの入力規則エラー
そのため、ユーザーに対してエラーの原因を知らせ、入力内容を訂正させるには画面フローで「入力の検証」を設定する必要があります。
そこで、以下のように数式とエラーメッセージを設定します。
そこで、以下のように数式とエラーメッセージを設定します。
今回の場合、[LEN({!Input_Title}) < 6]という数式が「false」になる値をユーザーが入力した場合には以下のように表示されます。
上の画像からは伝わりませんが、ユーザーが入力欄の外にカーソルを置いたタイミングで入力値が適切か確認できます。
変換要素を使用したコレクションの結合
次に「変換要素を使用したコレクションの結合」について解説します。
従来は複数のコレクションに存在する関連レコードを統合するためには、ループ処理や複数の割り当て要素を組み合わせる必要があり、フローが複雑化する傾向にありました。しかし、このアップデートされた新しい変換要素を使用することで、共通のキー項目を指定するだけで、異なるコレクションのレコードを結合し、単一の新しいコレクションとして出力できるようになりました。
今回は以下のようなユースケースを想定してフローを作成してみます。
【ユースケース】
受発注(受注及び発注)のある取引先を抽出して画面に表示し、フォローアップや分析等に活用する
事前に、取引先と参照関係のある「発注」カスタムオブジェクトと「受注」カスタムオブジェクトを用意し、テストデータを作成しました。
従来は複数のコレクションに存在する関連レコードを統合するためには、ループ処理や複数の割り当て要素を組み合わせる必要があり、フローが複雑化する傾向にありました。しかし、このアップデートされた新しい変換要素を使用することで、共通のキー項目を指定するだけで、異なるコレクションのレコードを結合し、単一の新しいコレクションとして出力できるようになりました。
今回は以下のようなユースケースを想定してフローを作成してみます。
【ユースケース】
受発注(受注及び発注)のある取引先を抽出して画面に表示し、フォローアップや分析等に活用する
事前に、取引先と参照関係のある「発注」カスタムオブジェクトと「受注」カスタムオブジェクトを用意し、テストデータを作成しました。
取引先レコード
発注レコード
受注レコード
画面フローの処理の流れは以下のようになります。
①受注レコードを取得する
②発注レコードを取得する
③「変換」要素で受注と発注のある取引先レコードをコレクション結合する
④「画面」要素で抽出結果を確認する
①受注レコードを取得する
②発注レコードを取得する
③「変換」要素で受注と発注のある取引先レコードをコレクション結合する
④「画面」要素で抽出結果を確認する
フローの全体像
処理内容について詳しく解説していきます。
まず受注と発注のレコードを取得します。
まず受注と発注のレコードを取得します。
受注レコードを取得
発注レコードを取得
次に「変換」要素を追加し、指定したソースデータ(受注と発注)を対象データ(取引先)と紐づけます。
ソースデータと対象データの指定後、内部結合ボタン(画像の赤枠)を押下します。
次に「ソースコレクションから結合キー」から、それぞれのキーとなる項目を指定します。今回は取引先の参照項目(M_Account__c)を結合キーとして使用します。
次に「受注」オブジェクトと「発注」オブジェクトに持つ項目のうち、「取引先」オブジェクトに対応付ける項目を指定します。「+選択した項目を編集」を押下し、項目にチェックを入れます。
次に、「結合項目の対応付け」から「ソースコレクションから結合する項目を選択」で指定した項目と取引先の項目を対応付けます。
次に項目の対応付けを行うのですが、1点注意する必要があります。「変換」要素で作成されるコレクション変数は対応付けを行った項目のみが格納されており、取引先レコード自体が格納されているわけではありません。IDなどの結合キー以外をコレクション変数として持たせたい場合は、抽出したIDからレコードを取得して変数に割り当てるなどの処理を追加する必要があります。今回は事前に[AccountName__c]という数式項目を用意して、取引先名を表示させています。
次のように項目の対応付けを行います。
AccountName__c → 取引先名
M_Account__c → 取引先ID
次のように項目の対応付けを行います。
AccountName__c → 取引先名
M_Account__c → 取引先ID
上のように指定した項目のデータがコレクション変数に格納されます。
最後に抽出が正しく行われているか検証するために「画面」要素を追加します。
「データテーブル」コンポーネントを追加して、「変換」要素にて作成されたコレクション変数を選択し、表示する項目として取引先名と取引先IDを列に設定します。
最後に抽出が正しく行われているか検証するために「画面」要素を追加します。
「データテーブル」コンポーネントを追加して、「変換」要素にて作成されたコレクション変数を選択し、表示する項目として取引先名と取引先IDを列に設定します。
今回は検証のため、デバッグを行い結果を確認します。
受発注のあるABC取引先の取引先名と取引先IDを取得することに成功しました。
以上のように、拡張された変換要素を活用することで、共通のキー項目を基準に、複数のコレクションを一つにまとめる処理をシンプルに実装できるようになりました。従来必要だったループや複数の割り当て要素を省略できるため、フローの構成が整理され、メンテナンスも容易になったのではないでしょうか。
以上のように、拡張された変換要素を活用することで、共通のキー項目を基準に、複数のコレクションを一つにまとめる処理をシンプルに実装できるようになりました。従来必要だったループや複数の割り当て要素を省略できるため、フローの構成が整理され、メンテナンスも容易になったのではないでしょうか。
Einsteinを使用したフローの作成
次にEinsteinを使用したフローの作成について紹介します。Spring '25のアップデートでEinsteinを使用したフローの自動生成が正式リリースされ、業務オートメーションの開発効率が大幅に向上しました。この機能では、自然言語で指示文を入力するだけでフローが自動的に生成され、これまで時間と労力を要していたプロセス構築がより直感的に行えるようになりました。
生成されたフローをベースに調整・レビューを行うことで、開発者や管理者の手作業によるフロー構築の手間を大幅に削減できるようになりました。
2025年5月現在では日本語版は提供されていないので、指示文は英語で与える必要があります。
事前準備:
設定のEinstein設定から Einstein 生成 AI を有効にする必要があります。
生成されたフローをベースに調整・レビューを行うことで、開発者や管理者の手作業によるフロー構築の手間を大幅に削減できるようになりました。
2025年5月現在では日本語版は提供されていないので、指示文は英語で与える必要があります。
事前準備:
設定のEinstein設定から Einstein 生成 AI を有効にする必要があります。
今回は以下のような比較的シンプルな内容で試してみます。
「商談が成約に変更されたとき、取引先に関連付けられた契約レコードを作成し、請求書を発行するためのタスクを商談の所有者に割り当てる」
指示文の与え方は以下の通りです。
新規フローを開き「Let Einstein Help You Build」を選択します
「商談が成約に変更されたとき、取引先に関連付けられた契約レコードを作成し、請求書を発行するためのタスクを商談の所有者に割り当てる」
指示文の与え方は以下の通りです。
新規フローを開き「Let Einstein Help You Build」を選択します
次の画面で指示文を入力します。
【指示文】When an Opportunity is marked as "Closed Won", create a Contract linked to the Account, and create a Task assigned to the Opportunity Owner to issue an invoice.
= 商談が「成約(Closed Won)」に変更されたとき、取引先に関連付けられた契約レコードを作成し、請求書を発行するためのタスクを商談の所有者に割り当ててください
【指示文】When an Opportunity is marked as "Closed Won", create a Contract linked to the Account, and create a Task assigned to the Opportunity Owner to issue an invoice.
= 商談が「成約(Closed Won)」に変更されたとき、取引先に関連付けられた契約レコードを作成し、請求書を発行するためのタスクを商談の所有者に割り当ててください
今回のフローは10秒程度で生成が完了しました。
Einsteinによって生成されたフローの全体像は以下の通りです。
Einsteinによって生成されたフローの全体像は以下の通りです。
フローの中身を確認してみます。
トリガとなるオブジェクト、条件は正しく設定されています。
トリガオブジェクト: 商談
トリガ条件: フェーズ = Closed Won
トリガとなるオブジェクト、条件は正しく設定されています。
トリガオブジェクト: 商談
トリガ条件: フェーズ = Closed Won
レコード作成要素も指示通りに作成されていることが確認できました。
契約レコード
Contract.AccountId ← Opportunity.AccountId
契約レコード
Contract.AccountId ← Opportunity.AccountId
ToDoレコード
割り当て先: 商談の所有者
ToDoの件名や説明、また必須項目には、自動で生成された値が設定されています。
割り当て先: 商談の所有者
ToDoの件名や説明、また必須項目には、自動で生成された値が設定されています。
Einsteinが生成するのはドラフトフローのため、修正を加えることも可能です。
今回は問題ありませんでしたが、期待どおりの要件を満たさないフローが生成される場合もあるため、Einsteinによるフロー自動生成はあくまで「下書き作成の支援機能」として活用し、必ず人間による確認・修正に加えて、デバッグやテストを行うことが必要です。
今回は問題ありませんでしたが、期待どおりの要件を満たさないフローが生成される場合もあるため、Einsteinによるフロー自動生成はあくまで「下書き作成の支援機能」として活用し、必ず人間による確認・修正に加えて、デバッグやテストを行うことが必要です。
Einsteinによるフローの詳細な説明の生成
フロー説明文の生成もEinsteinに任せることができるようになりました。
フロー作成画面のEinsteinパネルから「Summarize Flow」ボタンを押下するとフローの処理内容を文章にしてくれます。
フロー作成画面のEinsteinパネルから「Summarize Flow」ボタンを押下するとフローの処理内容を文章にしてくれます。
かなり詳細な説明が生成されました。
「Revise Lenth」から文章の長さを調整することも可能です。
「Make Shorter」を選択するとかなり簡潔な文章で表現してくれます。
要約された文章に問題がなければ「Add to Flow Description」を押し、直接フローの説明として設定することが可能です。
まとめ
本記事では、Salesforce Spring’25リリースで提供されたフロー機能の主要なアップデートについて解説しました。特にフローの自動生成など、Einstein機能の日本語版がリリースされた際はかなり便利になると思います。
TerraSkyBaseでは他にもフローに関する記事を公開していますので、そちらもご一読ください。
TerraSkyBaseでは他にもフローに関する記事を公開していますので、そちらもご一読ください。
フローに関する記事はこちら