今日では、人々は何十、何百ものステップを必要とするフローを構築していますが、これらのアクションをすべて1つの フローに入れようとすると、そのフローのナビゲートと維持が難しくなります。
子フローを使用することで、フローの管理が簡単になり、フローに数百のステップを持たせることを回避できます。 この方法は、クラウド フロー内の複数の場所でタスクを再利用する場合や、複数のフローにわたってタスクを再利用する場合に特に便利です。
連絡先の名前に基づいて Dataverse で連絡先を作成、または更新する子フローが存在する場合の例を示します。
2 つのフローを持つソリューションが必要です。
- 子フロー: これは、親 フローの中に入れ子になったフローで、実行の対象とする小さなタスクが含まれています。 親フロー内に複数の子フローを含めることができます。
- 親フロー: このフローは任意のタイプのトリガーを持つことができ、子フローを呼び出します。
ソリューションに子フローを作成する
Power Automate にサインインする。
ナビゲーション ペインで ソリューション を選択し、既存のソリューションを選択します。
または、既存のソリューションを使用しない場合は、ソリューションを作成できます。
新規>オートメーション>クラウド フロー>インスタント を選択します。
インスタント クラウド フローを構築する 画面が表示されます。
後で簡単に識別できるように、フローに名前を付けます。
手動でフローを起動する トリガーを選択します。
作成 を選択します。
入力の追加を選択します。
定義した入力は、親フローから子フローに渡されます。
この例では、子フローが連絡先を作成するため、連絡先名 と 連絡先メール の入力フィールドが必要です。 ContactName 入力と ContactEmail 入力を手動でフローをトリガーするカードに追加します。
子フローを実行するロジックを構築します。 このロジックには、必要なだけの数のステップを含めることができます。
手順の後で、親フローにデータを返す必要があります。 この場合、以下のアクションのいずれかを使用できます。
- Power App またはフローに応答する (Power Apps コネクタの下)。
- 応答 (プレミアム HTTP 要求/応答コネクタ上)。
トリガーと同様に、子フローを親フローに戻す出力をいくつでも定義できます。 次のスクリーンショットでは、子フローは連絡先の ID で応答します。
続いて、子フローをテストする必要があります。 インスタント フローを手動で起動できるため、デザイナー内ですぐにテストできます。 いくつかの異なる入力で試して、出力が期待どおりとなることを確認してください。
最後に、フローが組み込みアクションまたは Microsoft Dataverse コネクタ以外を使用する場合は、フローを更新して、フローに 埋め込まれた 接続を使用する必要があります。 これを行うには、子フローのプロパティ ページに移動し、編集 を 実行専用ユーザー タイルで選択します。
表示されたペインで、フローで使用される各接続について、実行専用ユーザーが提供する の代わりに この接続を使用する (<接続名>) を選択する必要があります。
保存を選択します。
注意
現時点では、親フローから子フローに接続を渡すことはできません。 これを行わないと、子ワークフローは埋め込み接続のみをサポートするため、名前を子ワークフローとして使用できないことを示すエラーが表示されます。
ソリューションに親フローを作成する
子フローを作成したのと同じソリューションで親フローを構築します。
または、既存のフローをそのソリューションに組み込むこともできます。 親フローは、任意のタイプのトリガーを持つことができます。
ご利用の 親フロー の中で子フローを呼び出す場所を探し、組み込み タブの フロー コネクタの下にある 子フローの実行 アクションを追加します。
先ほど作成した子フローを選択します。
注意
アクセス権があり、ソリューション内にあるフローのみが表示されます。 子フローには、手動でフローをトリガーする トリガーも必要です。
子フローを選択すると、子フローで定義した 入力 が表示されます。 子フローのアクションの後は、当該子フローに由来する任意の 出力 を使用できます。
親フローが実行されると、子フローがフローの存続期間中、完了するまで待機します (組み込み接続と Dataverse を使用するフローの場合は 1 年、それ以外のフローの場合は 30 日)。
このフローを保存して、テストします。
これら 2 つのフローを含むソリューションをエクスポートして別の環境にインポートすると、新しい親フローと子フローが自動的にリンクされます。 URL を更新する必要がありません。
既知の問題
親フローとすべての子フローを同じソリューションで 直接 作成する必要があります。 フローをソリューションにインポートすると、予期しない結果が発生する可能性があります。