レコードトリガーフローを構築する
学習の目的
この単元を完了すると、次のことができるようになります。
- レコードトリガープロセスの作成に使用する主なコンポーネントを定義する。
- 高速項目更新を使用する状況について説明する。
- アクションと関連レコードを使用する状況について説明する。
- レコードが更新されたときにフローを実行するタイミングのオプションを挙げる。
- 商談の変更に基づいてドラフト契約を作成するフローを構築する。
ビジネス要件
レコードトリガーフローでどのようなことを行いたいと思いますか? たとえば、重要商談が成立したときに自動的に契約が作成されるようにする場合、これがビジネス要件になります。
レコードトリガーフローを構築するときは、ビジネス要件をトリガー、条件、アクションの 3 つの部分に分けて定義します。たとえば、商談が作成または更新され (トリガー)、その商談が重要商談で、成立している場合は (条件)、ドラフト契約を作成します (アクション)。
フローを計画して説明する
レコードトリガーフローを構築する前に、計画を立てておくと作業が楽になります。次の点を検討します。
- フローをすぐ実行するのか、スケジュールに従って実行するのか?
- フローで別のレコードを作成するのか、レコードを更新するだけか?
- レコードが更新されるたびにフローを実行するのか、条件を最初に満たしたときのみ実行するのか?
Flow Builder でフローを構築する前に、ビジネスプロセスを描き出します。フローの [説明] 項目に自分の意図や設計を記録します。後に自分や他の担当者がフローを更新する際、こうした説明が役立ちます。
開始を設定する
ここでオブジェクトを選択し、トリガーを設定して、エントリ条件を設定します。
- [設定] から、[クイック検索] ボックスに「
フロー
」と入力し、[フロー] を選択します。 - [新規フロー] をクリックします。
- [レコードトリガーフロー] を選択します。
- [作成] をクリックします。[開始を設定] ウィンドウが開きます。
トリガーを定義する
- [オブジェクト] で [商談] を選択します。
- [Trigger the Flow When (フローをトリガーする条件:)] で [A record is created or updated (レコードが作成または更新された)] を選択します。
レコードが更新されるたびに条件 (フローをトリガーする条件) がチェックされるため、変更が見逃されることがありません。 - [条件の要件] で [すべての条件に一致 (AND)] を選択します。
- 最初の条件を定義します。
- 項目: StageName
(選択リストが設定されている項目は、値の数文字を入力して、リストから値を選択します。) - 演算子: 次の文字列と一致する
- 値: ClosedWon
- 項目: StageName
- [条件を追加] をクリックします。
- 2 つ目の条件を定義します。
- 項目: 金額
- 演算子: >
- 値:
25000
- [When to Run the Flow for Updated Records (更新されたレコードでフローを実行するタイミング)] で [Only when a record is updated to meet the condition requirements (条件の要件に一致するようにレコードを更新したときのみ)] を選択します。
なぜこのオプションを選択したのでしょうか? トリガーするレコードがエントリ条件を満たしていないから、エントリ条件を満たしているに変更されたときにのみ、フローを実行するようにするためです。商談が編集されるたびにトリガーを起動しますが、契約が一回だけ作成されるようにします。[条件の要件に一致するようにレコードを更新したときのみ] を選択しないと、金額が 25000 を超える ClosedWon 商談の説明 (または他の何か) が編集されるたびに、フローが実行され、別の契約が作成されます。 - [Optimize the Flow For (フローを最適化:)] で [Actions and Related Records (アクションと関連レコード)] を選択します。
このオプションを使用すると、(フローをトリガーしたレコードだけでなく) 任意のレコードを更新して、アクションを実行できます。
次のフローが生成されます。
開始
レコードトリガーフロー
オブジェクト: 商談
トリガー: レコードが作成または更新された
条件: 2
最適化: アクションと関連レコード
商談オブジェクトが選択され、2 つの条件が適用されました。
新規レコードを作成する
では、フローの値を使用して、Salesforce レコードを作成しましょう。
- フローキャンバスで、[Start (開始)] 要素の後のパスにある にカーソルを合わせて をクリックします。
- [データ] セクションまでスクロールして、[レコードを作成] をクリックします。[New Create Records (新規のレコードの作成)] ウィンドウが開きます。
- [表示ラベル] に
Create Draft Contract
(ドラフト契約の作成) と入力します。[API 参照名] は自動的に [Create_Draft_Contract] に更新されます。 - [説明] に
Create a draft contract when an opportunity is won and is over 25,000
(商談が成立し、25,000 を超えている場合に契約ドラフトを作成する) と入力します。 - [作成するレコード数] は [1] のままにします。
- [How to Set the Record Fields (レコード項目の設定方法)] で [Use separate resources, and literal values (個別のリソースおよびリテラル値を使用)] を選択します。
このオプションを使用して、新しい契約レコードに複数のソースから選択したデータを入力します。[レコードからのすべての値を使用] を選択した場合は、最初にレコード変数を作成し、その値を設定する必要があります。新しいレコードで使用する値を手動で選択するほうが簡単で効率的です。 - [オブジェクト] で [契約] を選択します。
- [契約の項目値を設定] で、新しい契約を商談の取引先に関連付けます。
- 項目: AccountId。
- Value (値): [$Record] > [Account (取引先)] > [Id] (項目が自動的に [$Record] > [Account ID (取引先 ID)] > [Account ID (取引先 ID)] に更新されます。)
フローをトリガーしたレコードのデータは $Record 変数に保存されます。トリガー商談の値を挿入するには、$Record からドリルダウンします。この例では、新しい契約レコードの取引先を、商談に関連付けられている取引先と一致するように設定します。
- [項目を追加] をクリックします。
- 新しい契約の状況を設定します。
- 項目: 状況
- 値: ドラフト
保存してデバッグする
レコードトリガーフローを作成し終えたら、すぐに保存してデバッグすることがベストプラクティスです。フローを有効にする前にテストすると、データに影響を及ぼすことなく、さまざまなシナリオを試すことができます。
- [保存] をクリックします。
- [フローの表示ラベル] に、
Closed Won Opportunities
(成立商談) と入力します。[フローの API 参照名] 項目は自動的に [Closed_Won_Opportunities] に更新されます。 - [説明] に、
If a high-value opportunity is closed and won, create a draft contract
(重要商談が成立したら、ドラフト契約を作成する) と入力します。 - [保存] をクリックします。
-
[Debug (デバッグ)] をクリックします。
パスが複数ある場合は、一度に 1 つのパスのみをデバッグできます。 - [デバッグオプション] で [開始条件の要件をスキップ] を選択します。
- [レコードが次の場合にフローを実行] で [更新されたとき] を選択します。
- [Opportunity (商談)] で、フローを実行する組織を検索して選択します。この例では、[Grand Hotels Emergency Generator (Grand Hotels 非常発電機)] を使用します。選択する商談が成立し、金額が 25000 超であることを確認します。
- 商談で、スクロールダウンして、金額が 25000 を超えていることをチェックします。25000 以下の場合は、25000 を超える金額を入力します。
- [実行] をクリックします。フローがデバッグされます。正常に実行されると、要素を連結する線がダークブルーになります。
11.[すべて展開] をクリックすると、[デバッグの詳細] パネルに詳細情報が表示されます。
12.[Back (戻る)] () をクリックして、Flow Builder を終了します。
素晴らしい! レコードトリガーフローを構築しました。