フロー要素のルーティングや並び替えを実行する
学習の目的
この単元を完了すると、次のことができるようになります。
- カスタム権限を確認する決定要素を作成する。 
 - 非線形の接続を使用してフロー要素を連結する。 
 - フローキャンバスの要素を切り取って貼り付ける。 
 
このバッジを終える前に、フローの実行方法の管理に役立つ手法を解説します。
カスタム権限を使用して決定要素を強化する
「フローのデータとアクション」バッジではグローバル変数が取り上げられていませんでしたが、チキンとドーナツの如く、決定要素とグローバル変数も絶妙なコンビとなるものです。(チキンドーナツをまだ食べたことがなければ、ぜひ試してみてください!)
[Running User's Permission (実行ユーザーの権限)] グローバル変数 (一部の要素では $Permission と呼ばれることがあります) は、実行ユーザーに指定したカスタム権限がある場合にのみ TRUE を返します。[Running User's Permission (実行ユーザーの権限)] グローバル変数にカスタム権限を指定すれば、ユーザーの権限に基づいて分岐するフローを作成できます。
[Running User's Permission (実行ユーザーの権限)] グローバル変数を決定要素と組み合わせれば、誰がフローを実行しているのかに応じて、フローのパスを変えることができます。
![[Decision (決定)] パネルの [Resource (リソース)] 選択リストで、[Running User's Permission (実行ユーザーの権限)] グローバル変数を選択できます。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/flow-build-logic/route-and-reorder-flow-elements/images/ja-JP/ffe00bab4c52e9f8483474294b5b9381_kix.9lydzrydsk8y.png)
別の例を見てみましょう。Pyroclastic のカスタマーオンボーディングマネージャーから、オンボーディングプロジェクトに取り組むユーザーを誘導する自動化ツールの構築を頼まれていました。そのニーズを聞き取った Flo は、プロジェクトの開始画面が特定のプロジェクトリード、つまり、「オンボーディングリード」権限があるユーザーにのみ表示されるようにする必要があることを理解しました。それ以外のユーザーには、オンボーディングリードに連絡するよう指示するメッセージを表示します。

この権限を確認するために、決定要素は [Running User's Permission (実行ユーザーの権限)] > Onboarding_Lead が true かどうかをチェックします。
![上記のダイアグラムと同じであるが、プロンプトが [Running User's Permission (実行ユーザーの権限)] > [Onboarding_Lead = True] になっている。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/flow-build-logic/route-and-reorder-flow-elements/images/ja-JP/8e3b4dc09abd97933d51b94176cc861b_kix.9gbrc2clft3j.png)
実行ユーザーに権限がある場合、フローはプロジェクトの開始画面を表示するパスに進み、権限がない場合はオンボーディングリードに連絡するよう伝えるプロンプトのパスに進みます。
カスタム権限を確認する決定要素を作成する
フローを構築する前に、Onboarding Lead (オンボーディングリード) というカスタム権限を作成します。
- [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに 
permission(権限) と入力し、[Custom Permissions (カスタム権限)] をクリックします。
 - 
[New (新規)] をクリックします。 
 - [Label (表示ラベル)] に、
Onboarding Lead(オンボーディングリード) と入力します。
 - [Name (名前)] が 
Onboarding_Leadであることを確認します。
 - 
[Save (保存)] をクリックします。 
 
次に、フローを作成します。
- 画面フローを作成します。 
 - 決定要素を追加します。 
 - [Label (表示ラベル)] に、
Onboarding Lead?(オンボーディングリード?) と入力します。 - 新しい結果を更新します。 
 
- [Label (表示ラベル)] に 
Yes(はい) と入力します。
 - [Resource (リソース)] で、[Running User's Permission (実行ユーザーの権限)] > Onboarding_Lead を選択します。 
 - [Operator (演算子)] で [Equals (次の文字列と一致する)] を選択します。 
 - [Value (値)] で [True] を選択します。
![[Resource (リソース)] が [Running User's Permission (実行ユーザーの権限)] > [Onboarding_Lead]、[Operator (演算子)] が [Equals (次の文字列と一致する)]、[Value (値)] が [True] グローバル定数に設定されている一連の条件項目。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/flow-build-logic/route-and-reorder-flow-elements/images/ja-JP/f3eb3f5b813c02f46681cd5e6332f8d0_kix.wbzqxyumm74j.png)
 
- デフォルトの結果の表示ラベルを 
No(いいえ) に変更します。
 - フローを保存します。[Flow Label (フローの表示ラベル)] に、
Onboarding Project Initiation(オンボーディングプロジェクトの開始) と入力します。
 
離れた要素を連結する
Flow Builder キャンバスでは要素を整然と配置し、連結線が絡み合わないようにします。時として、フローを直進させるだけでなく、今まで見たこともないような大胆な方法で進める必要のある場合があります。
Go To コネクタを使用すると、要素を、先行の要素を含むキャンバス上のどの要素にも連結することができます。Go To コネクタを使用した場合は、フローに非線形の接続が作成され、フローが煩雑にならないようにパスが非表示になります。

次の手順に従って別の要素に連結します。
- 新たなパスを設定するコネクタで 
 をクリックします。 
 - 
[要素に接続] をクリックします。 
 - 接続先の要素の 
 をクリックします。 
 
接続のテキストをクリックすると、接続先が強調表示されます。接続数のテキストをクリックすると、接続元が強調表示されます。
分岐したパスが他のパスと合流しない場合は、この手法を使用して接続し直すことができます。パスの終点より前で 
 をクリックし、同じ手順を実行します。
要素を任意の場所に移動する
優雅で独創的なフローを作成していたつもりなのに、雑然としたわかりにくいフローが出来上がることがあります。あの厄介な要素や煩雑な連結がなければ、完璧なフローに仕上がっていたかもしれません! いずれにせよ、キャンバス上の要素を別の場所に移動させたいと思うことがあります。
次の手順に従って、要素を別の場所に移動します。
- 移動する要素の上にカーソルを置き、
 をクリックします。 
 - 
[要素を切り取り] を選択します。
![キャンバスで選択した要素のコンテキストメニューに、4 つのコマンド ([Copy Element (要素をコピー)]、[Cut Element (要素を切り取り)]、[Delete Element (要素を削除)]、[Add Fault Path (障害パスを追加)]) が表示されている。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/flow-build-logic/route-and-reorder-flow-elements/images/ja-JP/924410c7c8c04cf8d941367f890a68ab_kix.4g7m86ddfhqv.png)
 - 要素を移動する場所の 
 にカーソルを置き、
 をクリックします。要素が新しい場所に配置されます。 
 
自動レイアウトは、豊富な機能を使用して整然としたフローをすばやく構築する優れた手段です。ただし、大量の要素を移動させる必要がある場合は、一時的に自由形式に切り替えた方が早い場合があります。[自由形式] モードで、コネクタを選択し、Backspace キーか Delete キーを押します。要素の下部にある円をクリックし、コネクタの新しい場所にドラッグして、新しいコネクタを作成します。
リソース
