Skip to main content
9 月 17 日~ 19 日に サンフランシスコで Dreamforce が開催されます。DF24TRAIL20 というコードを使って今すぐ登録すると 20% 割引になります。

フロー要素のルーティングや並び替えを実行する

学習の目的

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

  • カスタム権限を確認する決定要素を作成する。
  • 非線形の接続を使用してフロー要素を連結する。
  • フローキャンバスの要素を切り取って貼り付ける。
メモ

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

このバッジを終える前に、フローの実行方法の管理に役立つ手法を解説します。

カスタム権限を使用して決定要素を強化する

「フローのデータとアクション」バッジではグローバル変数が取り上げられていませんでしたが、チキンとドーナツの如く、決定要素とグローバル変数も絶妙なコンビとなるものです。(チキンドーナツをまだ食べたことがなければ、ぜひ試してみてください!) 

[Running User's Permission (実行ユーザーの権限)] グローバル変数 (一部の要素では $Permission と呼ばれることがあります) は、実行ユーザーに指定した権限がある場合にのみ TRUE を返します。[Running User's Permission (実行ユーザーの権限)] グローバル変数にカスタム権限を指定すれば、ユーザーの権限に基づいて分岐するフローを作成できます。

メモ

カスタム権限はプロファイルと権限セットに割り当てることができます。入力規則、制限ルール、フローなどの特定のツールで、実行ユーザーのプロファイルや権限セットにカスタム権限が設定されているかどうかを確認できます。

[Running User's Permission (実行ユーザーの権限)] グローバル変数を決定要素と組み合わせれば、誰がフローを実行しているのかに応じて、フローのパスを変えることができます。 

[Decision (決定)] パネルの [Resource (リソース)] 選択リストで、[Running User's Permission (実行ユーザーの権限)] グローバル変数を選択できます。

別の例を見てみましょう。Pyroclastic のカスタマーオンボーディングマネージャーから、オンボーディングプロジェクトに取り組むユーザーを誘導する自動化ツールの構築を頼まれていました。そのニーズを聞き取った Flo は、プロジェクトの開始画面が特定のプロジェクトリード、つまり、「オンボーディングリード」権限があるユーザーにのみ表示されるようにする必要があることを理解しました。それ以外のユーザーには、オンボーディングリードに連絡するよう指示するメッセージを表示します。 

ユーザーに権限があるかどうかを確認するプロンプトのダイアグラム。「はい」の場合はプロジェクトの開始画面を表示し、「いいえ」の場合はユーザーにオンボーディングリードに連絡するよう指示します。

この権限を確認するために、決定要素は [Running User's Permission (実行ユーザーの権限)] > Onboarding_Lead が true かどうかをチェックします。

メモ

true/false を確認する条件を設定するときは、必ず True グローバル定数を使用します。(「Flow Builder の基本」バッジを修了している場合は、定数は変数とよく似ているが、その値が変化しない点が異なることを覚えているのではないかと思います。)

上記のダイアグラムと同じであるが、プロンプトが [Running User's Permission (実行ユーザーの権限)] > [Onboarding_Lead = True] になっている。

実行ユーザーに権限がある場合、フローはプロジェクトの開始画面を表示するパスに進み、権限がない場合はオンボーディングリードに連絡するよう伝えるプロンプトのパスに進みます。

カスタム権限を確認する決定要素を作成する

フローを構築する前に、「Onboarding Lead (オンボーディングリード)」(API 参照名: Onboarding_Lead) というカスタム権限を作成します。

  1. 画面フローを作成します。
  2. 決定要素を追加します。
  3. [Label (表示ラベル)] に、Onboarding Lead? (オンボーディングリード?) と入力します。
  4. 新しい結果を更新します。
    1. [Label (表示ラベル)] に Yes (はい) と入力します。
    2. [Resource (リソース)] で、[Running User's Permission (実行ユーザーの権限)] > Onboarding_Lead を選択します。
    3. [演算子] には、[次の文字列と一致する] を選択します。
    4. [値] に [True] を選択します。
      [Resource (リソース)] が [Running User's Permission (実行ユーザーの権限)] > [Onboarding_Lead]、[Operator (演算子)] が [Equals (次の文字列と一致する)]、[Value (値)] が [True] グローバル定数に設定されている一連の条件項目。
  1. デフォルトの結果の表示ラベルを No (いいえ) に変更します。
  2. フローを保存します。[Flow Label (フローの表示ラベル)] に、Onboarding Project Initiation (オンボーディングプロジェクトの開始) と入力します。

離れた要素を連結する

Flow Builder キャンバスでは要素を整然と配置し、連結線が絡み合わないようにします。時として、フローを直進させるだけでなく、今まで見たこともないような大胆な方法で進める必要のある場合があります。

Go To コネクタを使用すると、要素を、先行の要素を含むキャンバス上のどの要素にも連結することができます。Go To コネクタを使用した場合は、フローに非線形の接続が作成され、フローが煩雑にならないようにパスが非表示になります。

Go To コネクタには、その接続先の要素と同じ名前が付けられます。

メモ

要素が複数回実行されるようにコネクタを配置した場合、その動作によって無限ループ (処理が無限に繰り返される) が発生しても、Flow Builder によってそのループが停止されることはありません。こうしたフローが実行されると、無限ループによって Salesforce の制限を超え、エラーが発生します。有限ループでも、気をつけないと制限に達することがあります。少数の要素を数回通過する程度の単純なループはおそらく問題ありませんが、必ず Sandbox で綿密にテストしてください。これよりも複雑な場合は、ループ要素を使用します。

次の手順に従って別の要素に連結します。

  1. 新たなパスを設定するコネクタで、要素を追加 にカーソルを合わせて 要素を追加 をクリックします。
  2. [要素に接続] をクリックします。
  3. 接続先の要素の 要素を選択 をクリックします。

接続のテキストをクリックすると、接続先が強調表示されます。接続数のテキストをクリックすると、接続元が強調表示されます。

分岐したパスが他のパスと合流しない場合は、この手法を使用して接続し直すことができます。パスの終点より前にある 要素を追加 にカーソルを合わせて 要素を追加 をクリックし、同じ手順を実行します。

要素を任意の場所に移動する

優雅で独創的なフローを作成していたつもりなのに、雑然としたわかりにくいフローが出来上がることがあります。あの厄介な要素や煩雑な連結がなければ、完璧なフローに仕上がっていたかもしれません! いずれにせよ、キャンバス上の要素を別の場所に移動させたいと思うことがあります。

次の手順に従って、要素を別の場所に移動します。

  1. 移動する要素をクリックします。
  2. [要素を切り取り] を選択します。
    キャンバスで選択した要素のテキストメニューに、4 つのコマンド ([要素をコピー]、[要素を切り取り]、[要素を削除]、[障害パスを追加]) と [要素を削除] ボタンが表示されます。
  3. 要素を移動する場所の 要素を追加 にカーソルを置き、貼り付け をクリックします。要素が新しい場所に配置されます。

自動レイアウトは、豊富な機能を使用して整然としたフローをすばやく構築する優れた手段です。ただし、大量の要素を移動させる必要がある場合は、一時的に自由形式に切り替えた方が早い場合があります。[自由形式] モードで、コネクタを選択し、Backspace キーか Delete キーを押します。要素の下部にある円をクリックし、コネクタの新しい場所にドラッグして、新しいコネクタを作成します。

リソース