Power Automateで共通機能の関数化を実現する「子フロー」について詳しく調べたので、その内容をメモ。
子フロー(Child Flow)
Power Automateにおける子フローとは、他のフロー(親フロー)から呼び出すことができるフローのことで、共通機能を子フロー化することで、開発時間の短縮が見込める。
フローを子フローとして扱うには、以下の3つの条件を満たす必要がある。
- フローがソリューションに入っていること
- トリガーが手動トリガーまたはPower Apps(V2)トリガーであること
- 「Power Appsまたはフローに応答」アクション、または「応答」アクションが呼び出されること
まずは基本的な使い方から紹介。
子フローの基本的な使い方
今回は例として、引数として「名前」を受け取り、戻り値として「挨拶」を返す子フローを作成する。
子フローの構築





子フローを呼び出す



※戻り値は[動的なコンテンツ]から使用可能。


トリガーは「Power Apps(V2)」トリガーでもOK



戻り値の設定は「応答」アクションでもOK



子フローを作る際の注意点
最後に子フローを作る際の注意点を解説。
応答アクションは必須


ということで、子フローには「応答」系のアクションは必須。
親フロー自身の呼び出しは不可(再帰処理は不可)

よって子フローを再帰処理のように使うことはできない
成功時と失敗時で異なる応答を返したい場合は「応答」アクションを使用
※エラー:The schema definition for action with status code ‘200’ is not valid. The schema definitions for actions with same status code must match.Upgrade


コメント
子フローを呼び出すためには、呼び出される子フロー、それを呼び出す親フロー、共に、ソリューションの中で作成されている必要があります。
ドキュメントが更新されており、その点について記載が加わっています。
「子フローの作成」
https://docs.microsoft.com/ja-jp/power-automate/create-child-flows
Takuya Hiroseさん
コメントありがとうございます!
関数化できることがわかり、作業がめちゃめちゃ捗りました!!
本当にありがとうございます!