Power Automate フローのアクション数を確認するフロー
2022.08.08
Power Automate のフローには「アクション数は 500 まで」という制限があります。一般的なフローではまず問題になりませんが、込み入った業務プロセスをフロー化するなど、開発規模が大きくなると、どうしてもこの上限を意識する必要があります。ところが、そもそもの話として、現状 Power Automate ではフローにいくつのアクションがあるのか、確認する方法がないんですよね。
そこで、フローを利用して、別のフローのアクション数をカウントする方法です。
アクション数を数えるフロー
設計そのものはとてもシンプルです。
【Power Automate Management – フローの取得】アクションで、分析したい他フローを指定します。
【Data Operation – 作成】アクションで、「フローの取得」で戻ってきた JSON を分析します。入力式は「length(body(‘フローの取得’)?[‘properties’]?[‘definitionSummary’]?[‘actions’])」。[definitiopnSummary] 配下の [actions] 配下の数を数えている感じです。
このフローを実行して、実行結果から「作成」アクションを開くと、「出力」に対象フローで利用されているアクションの数が表示されます。
そもそも 500 近いアクションのフローって…
もちろん、上記は最低限のコア部分だけなので、頻用する方はもう少し作り込んでもよいと思います。
ただ、そもそもの話として、アクション上限を気にするようなフローを作るべきなのか?という問題がありそうです。数百アクションのフローは、動作が遅かったり、メンテナンス性が極端に悪かったりします。ローコードの弱点ですね。内部でどんな処理が行われているのか、把握するだけでもひと仕事ですし…設計画面を開くだけでブラウザ上でタイムアウト警告がでたり!
きちんとした承認フローを組んでいくと、どうしても設計が複雑化・巨大化する訳ですが(フローをオブジェクト単位で分割するにはソリューション内でフローを作成する必要があります)、やはりサービス(基盤)の特性として「適正な規模」というものは存在しますよね。それを越えるような場合は、無理につくるよりも、業務プロセスを見直すか、実装を見直すか、さもなければいっそソリューションを見直すべきかな…とは思います。