Administrator 練習問題 Q109
Universal Containersでは、オポチュニティがクローズされた場合、同じアカウントの他のすべてのオープンなオポチュニティをクローズドロストとしてマークする必要があります。管理者はこの要求を実装するためにどの自動化ソリューションを使用する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:C. フロービルダー
解説
前提知識
ワークフロールールとは
「特定の条件を満たしたレコードが保存されたときに、自動で項目を更新したりメールを送ったりする」ための従来の自動化機能です。項目自動更新は、起点レコード自身に加えて、マスター詳細関係の親レコードや、Salesforceが明示的に対応している一部の標準オブジェクト間で利用できます。ただし、条件に合う任意の兄弟レコードを検索して一括更新する機能ではありません。
フロービルダー(レコードトリガーフロー)とは
画面のない自動化を組み立てるツールで、その中でも「レコードが作成・更新・削除されたときに自動的に動く」ものをレコードトリガーフローと呼びます。ワークフロールールと違い、関連する複数のレコードを検索し、まとめて更新することができます。
設問の状況を分解する
- あるオポチュニティ(商談)が「クローズドウォン」または「クローズドロスト」になった
- 同じ取引先(アカウント)にぶら下がっている他のすべてのオープンな商談を、自動で「クローズドロスト」にしたい
- つまり、更新したいのはトリガーとなったレコード自身ではなく、同じ親を持つ「兄弟」レコードである ここが最大のポイントです。必要なのは、起点の商談と同じ取引先IDを持つ別の商談を条件検索し、複数件を更新する処理です。ワークフローのクロスオブジェクト項目自動更新には「商談から取引先を更新する」という標準の対応関係がありますが、同じ取引先に紐づく他の商談(兄弟レコード)を検索して更新する処理には使えません。条件に合う複数レコードを取得・更新できるレコードトリガーフローが適合します。
選択肢の検討
A. クイックアクション → ✕
クイックアクションはユーザーが手動でクリックして実行するボタンです。「商談がクローズされたら自動で」という要件を満たす自動起動の仕組みではありません。
B. ワークフロールール → ✕
ワークフローの項目自動更新は、起点レコードや対応する親レコードの項目更新に使用できます。商談から取引先を更新する標準のクロスオブジェクト項目自動更新もサポートされています。しかし、同じ取引先に紐づく他の商談(兄弟レコード)を条件検索して一括更新する機能はありません。
C. フロービルダー → ⭕ 正解
レコードトリガーフローを使えば、「商談のステージがクローズドウォン/クローズドロストに変わったこと」をトリガーに、「レコードを取得」要素で同じ取引先IDを持つ他のオープン商談を検索し、「レコードを更新」要素でまとめてステージを更新できます。宣言的(ノーコード)に複数の関連レコードを操作できるのはフローの大きな強みです。
D. アウトバウンドメッセージ → ✕
アウトバウンドメッセージは、Salesforceの外部(別システム)にデータを送信する仕組みで、承認プロセスやワークフロールールのアクションの一種として使われます。Salesforce内部のレコードを更新する機能ではありません。
管理者としての対処手順
- 「設定」→「フロー」→「新規フロー」→「レコードトリガーフロー」を選択
- オブジェクトを「商談」、トリガーを「レコードが更新されたとき」、開始条件を「IsClosed = True」に設定し、更新後に実行するフローとして構成する
- 「レコードを取得」要素で、条件「AccountId = トリガーレコードのAccountId」「IsClosed = false」の商談を検索
- 取得したレコードコレクションを「レコードを更新」要素へ渡し、対象商談のフェーズを「Closed Lost」に更新する
- フローを保存して有効化する
あわせて覚えておきたいポイント
- 「起点レコード以外の複数レコードを、条件検索して更新する」要件では、レコードトリガーフローの「レコードを取得」と「レコードを更新」を検討します。
- 「レコードを更新」要素は複数レコードを更新できます。取得したレコードコレクションを一括更新するだけなら、各レコードを更新するためのループは不要です。
- Salesforceは、サポートと更新が終了したワークフロールールではなく、新しい自動化にはFlow Builderを使用するよう案内しています。
出典(Salesforce公式)
- Update Salesforce Records from a Flow — 「レコードを更新」要素で1件または複数件の既存レコードを更新できることを裏付けます。
- Use Record-Triggered Flows to Update Related Records — レコードトリガーフローから関連レコードを条件付きで更新できることを裏付けます。
- Cross-Object Field Updates — ワークフローのクロスオブジェクト項目自動更新の対応範囲と、商談から取引先への更新が標準の対応関係であることを裏付けます。
- Workflow Considerations — ワークフロールールのサポート終了後も既存ルールは動作する一方、新しい自動化にはFlow Builderが推奨されることを裏付けます。