【Power Automate】親子フロー(共通処理化)についてのご紹介

2022.03.14
【Power Automate】親子フロー(共通処理化)についてのご紹介

こんにちは、MS開発部1年目の加藤です。

開発を行う上で、共通処理化(共通コントロール)を行う事が多いと思います。
業務でPower Automateに触れていく中で、同等の機能がないか調べた所、
「親子フロー」というフローの作成方法を見つけました。

「親子フロー」とは、
親フロー、子フロー、それぞれ作成し、子フローを共通部品化することができます。
とても便利な機能だと感じたため、今回ご紹介していきたいと思います。

また、弊社の記事ではありますが、
【Power Apps】コンポーネント(共通部品化)についてのご紹介
にて、同様の観点でPower Apps のコンポーネントについても、
ブログを記載させていただいていますので、併せてご確認ください。

親子フローとは

公式サイトによると

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

親子フローを使うメリット

親子フローを作るメリットとして主に2つ挙げられ、
プログラミングを行う際に関数化するのと同じです。

メリット1:再利用できる

Power Automateで同じ処理を複数の箇所で使いまわしたいとき、
何度も同じフローを作成するのはとても手間で、時間の無駄です。

そんな時に複数個所で使いたいフローを、
親子フローとして、親フロー、子フローそれぞれ作成しておくことで
簡単に再利用することができ、無駄な手間を省け、作業の時短に繋がります。

メリット2:メンテナンスが簡単

複数の箇所で同じフローを使用している場合、
親子フローではなく、それぞれの箇所でフローを作っていると、
修正や変更点があった場合、全箇所で同じ変更を加えなければいけません。

これはかなり手間になり、箇所ごとにフローが違ってしまうなどの、
人為的なミスにつながってしまうリスクもあります。

しかし親子フローとして作成したフローを使用することで、
変更点があったときは該当する子フローの変更で全箇所に反映させることができるため、
手間が省けることや人為的なミスを防ぐことができます。

再利用する事がわかっている処理やメンテナンスの頻度が高そうな処理など、
明確な役割をもったフローを、子フロー化することが大切です。

Power Automate 親子フローを使うときの注意点

親子フローを使う時の注意点は主に3つあります。
1. 親子フローを作る際には、ソリューション内に作成してください。
2. 子フローのトリガーは「手動でフローをトリガーします」を選択してください。
3. 子フローのアクションは「Power AppsまたはFlowに応答する」が必要です。
→ 何を親フローに渡すのかを定めなければいけないためです。

実際に親子フローを作ってみた

親子フローの作り方

左側のサイドバーの 【ソリューション】>【+新しいソリューション】
【表示名】【名前】【公開元】【バージョン】を設定後 >【作成】をクリックしてください。

Power Automate の親子フローの作成方法

作成したソリューションの【…(三点リーダー)】>【編集】で以下の画面に遷移します。 画面上部の【+新規】>【自動化】>【クラウドフロー】>【すぐに】をクリックしてください。

Power Automate の親子フローの作成方法

子フローの作り方

以下の画面が表示されるので、
任意の【フロー名】【手動でフローをトリガーします】>【作成】をクリックしてください。
※【手動でフローをトリガーします】が子フローでの既存のアクションとなるため、
ほかの方法を選択しないよう注意してください。

Power Automate の子フローの作成方法

今回は、Microsoftが提供するチャットシステムTeamsで
「チャットまたはチャネルでメッセージを投稿する」というフローを作成しました。
※「Power AppsまたはFlowに応答する」は子フローでの既存のアクションとなるため、
必ず子フローのアクションの最後に追加してください。

Power Automate の子フローの作成方法

また、作成した子フローの詳細画面から
【実行のみのユーザー】>【編集】>【実行専用のユーザーによって提供されました】から
【この接続(アドレス)を使用する】に変更 >【保存】をクリックして接続方法を変更してください。
※この変更を行わないと親フローで、子フローを呼び出す際にエラーになってしまいます。

Power Automate の子フローの作成方法

親フローの作り方

先ほどご紹介した、子フローの作成手順同様
任意の【フロー名】【手動でフローをトリガーします】>【作成】をクリックしてください。

Power Automate の親フローの作成方法

子フローの呼び出し方

フローの作成画面で【+新しいステップ】>「子フローの実行」をクリックすると
先ほど作成した子フローが選択できるようになります。

Power Automate の子フローの呼び出し方

以上で、親子フローの作成は完了です。

以下2つのフローは同じフローです。今回作ったのは、
Teamsで「チャットまたはチャネルでメッセージを投稿する」という簡単なフローですが、
それでも、“親子フローを用いたフロー”と”親子フローを用いらなかったフロー”で、
これだけフローの長さに差があり、
その分、不具合やメンテナンス時の修正や確認する量に影響することが分かります。

Power Automate 親子フローを用いたフロー

Power Automate 親子フローを用いらなかったフロー

まとめ

Power Automateの親子フローについての
説明と実装方法をまとめていきましたが、いかがでしたか?

本章でもご紹介した通り、「親子フロー」としてフローをそれぞれ作成することで、
再利用することができ、作業時間を短縮することができます。

今回ご紹介させていただいたPower Automateや、
Power Platformについて興味をお持ちいただいた方は、下記からご連絡ください。

また、弊社の記事ではありますが、
Power Automate for desktop とは?
【Power Automate】カスタムコネクタとは?作成方法まで解説
にて、Power PlatformやPower Automate のカスタムコネクタについても、
概要を記載させていただいていますので、併せてご確認ください。

ここまでお読みいただき、誠にありがとうございました。

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

  • この記事の
    著者
  • この著者の
    最新記事
加藤

この著者の保持資格

PAGETOP