Skip to main content

フローに複数のパスを定義する

学習の目的

この単元を完了すると、次のことができるようになります。

  • ビジネス要件を把握して、プロセスフローチャートに視覚化する。
  • ビジネス要件のプロセスを実装するフローを構築する。
  • 分岐ロジックを使用して、フローの複数のパスから 1 つを選択する。
メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

メモ

このバッジは、Flow Builder のスキルを習得するための過程の一部です。「Flow Builder を使用したフローの作成」トレイルでは、初めから終わりまで Flow Builder について学習します。このトレイルで推奨されるバッジの順序に従えば、プロセスの自動化に関する確固たるスキルが身に付き、Flow Builder のエキスパートになります。

始める前に

このバッジでは、受講者が変数、入力、データ要素 (レコードを取得など) を使用してフローを作成する方法を理解していることを前提としています。こうした概念に詳しくない場合や復習が必要な場合は、「Flow Builder の基本」バッジや「フローのデータとアクション」バッジを参照してください。

フローが実行されると、列車のごとく終点に向かってパスを進行し、各停留所で操作を実行します。列車は必ずしも一本道を進むわけではありません。目的地へと続く線路は、時に分岐し、合流し、循環します。Flow Builder でも同様に、必要に応じてパスが分岐や合流するフローの自動化を構築できます。

枝分かれする線路に差しかかった蒸気機関車を操縦している Flo Smith

If を想定する

自動化のユースケースの中には、状況に応じて実行すべき自動化が異なるものがあります。例を見てみましょう。

Flo Smith は Pyroclastic, Inc. の上級 Salesforce システム管理者であり、ビジネスアナリストです。このモジュールでは、あなたは Flo のチームの Salesforce システム管理者として、Flo が Pyroclastic のビジネスプロセスの一部を自動化するのに協力します。 

Flo から指示された今日のタスクは、サポートケースが作成されたときに適切な優先度を自動的に設定する自動化を構築することです。優先度の値は問題の種別と、サポート依頼者への影響度によって異なります。Flo はまずビジネス要件を確認します。

  1. (IF) 種別 = ダウンタイムの場合、優先度 = 重大度 0。
  2. (IF) 種別 = 使用可能性で、サポート依頼者が VIP の場合、優先度 = 重大度 1。
  3. (IF) 種別 = 使用可能性で、サポート依頼者が VIP でない場合、優先度 = 重大度 2。
  4. (ELSE) それ以外の場合、優先度 = 重要度 3。

上から 3 つは if 文で、4 つ目は else 文です。最後の行は、上記の 3 つのいずれの要件にも該当しない場合のデフォルトとして機能します。

メモ

Flo は要件を箇条書きにし、開発者が「if-then-elseif」と称するステートメントを作成しました。(IF) 何かが true の場合は、(THEN) アクションを実行し、(ELSE) それ以外の場合は、他の何かが true かどうかをチェックします。この if がフローの行方を左右します!

続いて、Flo とともに、ケース優先度を設定する自動化を視覚化するフローチャートを作成します。チャートを紙に描き出すこともできますし、デザインツールやフローチャートプログラムを使用することもできます。各自に適した方法で行います。この目的は、文章で把握した要件に対応する自動化を考案し、視覚的なモデルに転換することです。

どのようなフローチャートになるか見てみましょう。このチャートには 4 つのビジネス要件があります。

上記の要件に対応するフローチャート。3 つの質問 (菱形) と 4 つの結果 (重大度 0 ~ 3) が図示されています。

どのビジネス要件も、要件を満たしたときに選択するパス、つまり「はい」パスが重大度ボックスにつながっています。Flow Builder では、この重大度ボックスのようなものを結果といい、キャンバスにそれぞれの結果につながるパスが示されます。

どの結果にも (最後のものを除く) 満たすべき条件があります。Flow Builder では、条件の要件といいます。

上記の要件 0、1、2、3 に対応する 4 つの結果と 3 つの菱形が示されている決定要素のフローチャート。

最後の結果はデフォルトで、条件がありません。他のどの結果の条件も満たさなかった場合は、フローがデフォルトの結果を選択します。

フローにこうした分岐ロジックを作成する場合は、決定要素を使用します。

決定要素

決定要素には、数通りのパスを作成できます。フローチャートを基に決定要素を作成するときは、次の 2 つのステップを実行します。

  1. チャートの「はい」パスにそれぞれ結果を 1 つ作成します。(最後の「いいえ」パスは、デフォルトの結果になります。)[結果の順序] に、結果がフローの進行順に示されます。
  2. デフォルトの結果を除くすべての結果に、条件の要件を追加します。各結果の条件の要件は、フローチャートの対応する菱形に記述した要件です。

上記のステップに対応する結果と条件の要件が示されている決定要素。

決定要素のパスは結果につながっています。

重大度 0 ~重大度 3 を表す 4 つのパスに分岐している Flow Builder キャンバスの決定要素。

フローが決定要素に達すると、まず 1 つ目の結果を評価します。条件を満たした場合は、1 つ目の結果を選択して、そのパスに従います。条件を満たさなければ、[結果の順序] を進行し、条件を満たした結果を選択します。いずれの条件も満たさなかった場合は、デフォルトの結果のパスに従います。それぞれのパスが合流した時点で、フローは 1 つのパスに戻ります。

Flow Builder のハンズオン

ではここで Trailhead Playground を起動して、このモジュールの手順を実行してみましょう。Trailhead Playground を開くには、ハンズオン Challenge までスクロールダウンし、[起動] をクリックします。また、ハンズオン Challenge を実行するときにも Playground を使用します。

決定要素を構築する

では、このビジネスプロセスを自動化するフローを作成してみましょう。その前に、関連する項目に必要な選択リスト値を追加します。選択リスト値の追加についての詳細は、「選択リスト管理」バッジの「選択リスト値の管理」を参照してください。

  1. ケースオブジェクトの [Priority (優先度)] 項目に、Severity 0 (重大度 0)、Severity 1 (重大度 1)、Severity 2 (重大度 2)、Severity 3 (重大度 3) の値を追加します。
  2. ケースオブジェクトの [Type (種別)] 項目に、Downtime (ダウンタイム)、Usability (使用可能性) の値を追加します。

決定要素を作成して、結果を定義する

次の手順に従って、フローチャートのプロセスを、決定要素を使用したフローに変換します。

  1. レコードトリガーフローを作成します。
    • [Object (オブジェクト)] で [Case (ケース)] を選択します。
    • デフォルトのトリガー設定とエントリ条件を受け入れます。
    • [Optimize the Flow for (フローを最適化:)] で、[Fast Field Updates (高速項目更新)] を選択します。
      トリガーレコードを更新するだけの場合は、[Fast Field Updates (高速項目更新)] を選択します。高速項目更新についての詳細は、「レコードトリガーフロー」バッジを参照してください。
  1. フローに決定要素を追加します。
    • キャンバスで 要素を追加 をクリックします。
    • [決定] を選択します。
    • [Label (表示ラベル)] に、Check Case Details (ケースの詳細を確認) と入力します。
  1. 結果を定義します。
    • [結果の順序] で [新しい結果] を選択したままにします。
    • [OUTCOME DETAILS (結果の詳細)] で、[Label (表示ラベル)] に Severity 0 (重大度 0) と入力します。
    • [OUTCOME ORDER (結果の順序)] の横にある 新しい結果 をクリックして、新しい結果を作成します。
    • 2 つ目の結果に Severity 1 (重大度 1) という表示ラベルを付けます。
    • もう 1 つ結果を作成して、Severity 2 (重大度 2) という表示ラベルを付けます。
    • [OUTCOME ORDER (結果の順序)] で、[Default Outcome (デフォルトの結果)] を選択します。
    • この表示ラベルを Severity 3 (Default) (重大度 3 (デフォルト)) に変更します。

結果に条件の要件を追加する

  1. 重大度 0 の結果に条件の要件を定義します。
    • [結果の順序] で、[Severity 0 (重大度 0)] を選択します。
    • [OUTCOME DETAILS (結果の詳細)] の [Resource (リソース)] で、[Triggering Case (トリガーケース)] をクリックして、[Case Type (ケース種別)] を選択します。
    • [Operator (演算子)]は [Equals (次の文字列と一致する)] のままにします。
    • [値] に [Downtime (ダウンタイム)] を選択します。
  1. 重大度 1 の結果に条件の要件を定義します。
    • 最初の条件の要件を入力します。
      • Resource (リソース): Triggering Case (トリガーケース) > Case Type (ケース種別)
      • Operator (演算子): Equals (次の文字列と一致する)
      • Value (値): Usability (使用可能性)
    • [条件を追加] をクリックします。
    • 2 番目の条件の要件を入力します。
      • Resource (リソース): Triggering Case (トリガーケース) > Contact ID (取引先責任者 ID) > Contact Description (取引先責任者 説明)
      • Operator (演算子): contains (次の文字列を含む)
      • Value (値): VIP
  1. 重大度 2 の結果に条件の要件を定義します。
    • Resource (リソース): Triggering Case (トリガーケース) > Case Type (ケース種別)
    • Operator (演算子): Equals (次の文字列と一致する)
    • Value (値): Usability (使用可能性)
      チャートの 3 つ目の菱形で、取引先責任者が VIP でないことが明記されていますが、重大度 2 でこの要件をチェックする必要はありません。条件の要件は順番に評価されるため、この段階で評価される取引先責任者は VIP ではないためです。
      決定要素は次のようになります。
      要件に対応する 4 つの結果 (重大度 0、1、2、3) が示されている [Decision (決定)] サイドパネル。
  1. 閉じる をクリックしてサイドパネルを閉じます。

フローチャートに 4 つの結果が記載されていたことから、この決定要素にも 4 つの結果が示されています。4 つの結果がある場合は、フローが進行する可能性のあるパスが 4 つ作成され、対応する結果に名前が付けられます。キャンバスは次のようになります。

上記の重大度 0、重大度 1、重大度 2、重大度 3 の 4 つの結果に対応する 4 つのパスが設定されている Flow Builder キャンバスの決定要素。

ここで、新しいフローを保存して名前を付けます。

  1. [Save (保存)] をクリックします。
  2. [Flow Label (フローの表示ラベル)] に、Set Case Priority (ケース優先度を設定)と入力します。
  3. [Save (保存)] をクリックします。

[レコードを更新] 要素を作成する

重大度の各パスに、新規ケースを適切な優先度値で更新する要素を追加します。たとえば、重大度 0 のパスの [優先度] 項目を [Severity 0 (重大度 0)] に設定します。

まず、最初の 3 つのパスに [レコードを更新] 要素を追加します。

  1. [Severity 0 (重大度 0)] の下で 要素を追加 をクリックします。
  2. [ショートカット] で、[トリガーレコードを更新] を選択します。
  3. [Label (表示ラベル)] に、Set Priority to Sev0 (優先度を Sev0 に設定) と入力します。
  4. 自動生成された API 参照名を受け入れます。
  5. [更新するレコードを検索してその値を設定する方法] は、[Use the case record that triggered the flow (フローをトリガーしたケースレコードを使用)] というデフォルト値のままにします。
  6. ケースレコードの [Set Field Values (項目値を設定)] までスクロールします。
  7. [Field (項目)] で [Priority (優先度)] を選択します。
  8. [Value (値)] で [Severity 0 (重大度 0)] を選択します。
  9. [Update Records (レコードの更新)] パネルで 閉じる をクリックしてパネルを閉じます。
  10. 重大度 1 と重大度 2 のパスでもステップ 1 ~ 9 を繰り返します。各パスに応じた表示ラベルと値に変更します。

重大度 3 のパスについては、重大度 2 のパスの要素をコピーして貼り付けます。(ここではごく簡単な例を取り上げていますが、今後大量の要素をまとめてコピーや移動 (切り取って貼り付け) する必要が生じたときにこの手法が役立ちます。)

  1. [Set Priority to Sev2 (優先度を Sev2 に設定)] 要素をクリックします。
  2. [要素をコピー] をクリックします。
  3. [Severity 3 (重大度 3)] の下で 要素を追加 をクリックします。
  4. [1 つの要素を貼り付け] をクリックします。
  5. 新しい要素をクリックして、[要素を編集] を選択します。
  6. [Label (表示ラベル)] を Set Priority to Sev3 (優先度を Sev3 に設定) に変更します。
  7. [API Name (API 参照名)] を Set_Priority_to_Sev3 に変更します。
  8. 項目の [値] を [Severity 3 (重大度 3)] に変更します。
  9. フローを保存します。

キャンバスのフローは次のようになります。

4 つのパスのそれぞれに個々の [レコードを更新] 要素が追加されている Flow Builder キャンバスの同じ決定要素。それぞれの [レコードを更新] 要素に、設定する優先度値を示す表示ラベルが付けられています。

フローが特定の結果のパスに従うと、そのパスの [レコードを更新] 要素のみが実行されます。

メモ

フローの動作を確認するには、[有効化] をクリックしてフローを起動し、ケースを作成します。無効なフローを実行できるのは、「フローの管理」権限を有するユーザーのみです。フローを有効にした後で、そのバージョンのフローを変更することはできません。変更する場合は、フローの新バージョンを作成して、そのバージョンを変更します。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む