子フローを呼び出す

有効対象 パブリック プレビュー 早期アクセス 一般提供
管理者、作成者、またはアナリスト、自動的 - - この機能はリリース済みです。 2019 年 10 月 23 日

機能の詳細

最近では、数十または数百のステップを必要とするようなフローが Power Automate で構築されていますが、これらのアクションのすべてを _1 つの_フローに詰め込むと、フロー内を移動したりフローを維持したりするのが困難になる場合があります。 代わりに、いくつかのステップを別の小さなフローに分割し、これらのフローを必要に応じて呼び出すことをお勧めします。 個々の小さいフローでは、1 つのあまり大きくないタスクを実行できます。これにより、フローが読みやすくなり、何か問題が発生した場合に特定しやすくなります。 そのタスクをフロー内の複数の場所で、または複数のフローで再利用したい場合、このアプローチは特に重要です。

以前、HTTP トリガーとアクションを使用して、あるフローで別のフローを呼び出す方法を紹介しました。 この方法は、フローの HTTP URL をコピーして貼り付ける必要があるため、やや面倒です。 さらに問題なのは、フローに対してソリューションを導入すると、異なる環境間でフローをコピーしたときに、古い環境のフローの HTTP URL が参照されているため、HTTP アプローチはエクスポートとインポートを行うと機能しなくなります。

10 月に、これらの問題を自動的に処理する子フローの実行という名前の新しい組み込みアクションが導入されました。 このアクションを開始するには、左側のナビゲーションでソリューションを選択した後、既存のソリューションを選択するか、ソリューションを作成します。 次に、2 つのフローを作成 (または編集) します。

  1. フロー: このフローは任意の種類のトリガーを含むことができ、他のフローを呼び出します。
  2. フロー: これは他のフロー内に入れ子にされるフローであり、実行する小さなタスクが含まれています。

連絡先の名前に基づいて Common Data Service で連絡先を作成または更新する子フローの例を見てみます。

子フローの構築

最初に子フローを作成する必要があります。 現在、子フローに使用できる 3 つの異なるトリガーがあります。

  1. 手動でフローをトリガーする (モバイルの [フロー] ボタン)。
  2. Power Apps
  3. HTTP 要求を受信したとき (Premium HTTP 要求/応答コネクタでのみ使用可能)。

最初のトリガーを選択すると、子フローが親フローから受け取る_入力_を定義できます。 たとえば、子フローで連絡先を作成する場合、連絡先の名前連絡先のメール アドレスが必要になります。 入力の追加を選択し、詳細を指定します。

子フローの入力

次に、子フローで実行するロジックを作成します。 このロジックには、必要な数のステップを含めることができます。 手順の後で、親フローにデータを返す必要があります。 この場合、次の 2 つのアクションのいずれかを使用できます。

  1. Power App またはフローに応答する (Power Apps コネクタで)。
  2. 応答 (Premium HTTP 要求/応答コネクタで)。

トリガーと同様に、子フローから返したい出力をいくつでも定義できます。 この例では、連絡先の ID で応答できます。

子フローの応答

フローにわかりやすい名前を付けて保存します。 その後、子フローをテストする必要があります。 このフローは手動でトリガーできるため、デザイナー内で簡単にテストできます。 いくつかの異なる入力で試してみて、出力が期待どおりであることを確認します。

最後に、組み込みアクションまたは Common Data Service (現在の環境) コネクタ以外のものをフローで使用している場合は、フローに埋め込まれた接続を使用するようにフローを更新する必要があります。 これを行うには、戻るボタンを選択して子フローのプロパティ ページに移動し、実行のみのユーザー編集を選択します。

フローを編集する

表示されるペインで、フローで使用される接続ごとに、実行専用ユーザーが提供するの代わりにこの接続 (<接続名>) を使用するを選択する必要があります。

使用する接続を選択する

次に、保存を選択します。 この時点では、親フローから子フローに接続を渡すことはできません。 これを行わないと、子ワークフローでは埋め込み接続のみがサポートされているため、名前は子ワークフローとして使用できないことを示すエラーが表示されます。

親フローの構築

これで、子フローを作成したのと同じソリューションで親フローを構築できます。 新しいフローを作成するだけです。 または、既存のフローをそのソリューションに取り込むのでもかまいません。 この親フローには、任意の種類のトリガーを含めることができます。

フロー内で子フローを呼び出したい場所を見つけて、ビルトイン タブのフロー コネクタの下にある子フローの実行アクションを追加します。

次に、前に作成した子フローを選択する必要があります。 念のため、ソリューション内にあり、前述の 3 つのトリガーのいずれかが含まれていて、アクセスすることができるフローのみが表示されます。

実行する子フローを選択する

子フローを選択すると、定義した_入力_が表示されます。 子フローのアクションの後で、その子フローからの_出力_をどれでも使用できるようになります。

入力

親フローを実行すると、フローの有効期間の間、子フローの完了が待機されます (組み込み接続と Common Data Service を使用するフローの場合は 1 年、他のすべてのフローの場合は 30 日間)。

最後に、このフローを保存してテストできます。 これら 2 つのフローを含むソリューションをエクスポートして別の環境にインポートすると、新しい親フローと子フローが自動的にリンクされるため、URL を更新する必要はありません。