Power Automateは、コーディングの知識がなくともお手軽に業務の自動化を行うことができる非常に有用なツールです。
また、環境さえあれば誰でもお手軽に構築を始めることができます。
弊社のお客様でも、独学でPower Automateを活用し、自身の業務効率化を行っている方が多くいらっしゃいます。 そのようなお客様からの質問で、「独力で今までやってきたけど、構築方法はこれがベストなのか?」というご質問をいただくことがあります。
確かに、Power Automateはお手軽といえど、そこにはお作法が存在します。
お作法を守らずに作成すると、「他の人がメンテナンスできない」や「修正時のコストが大きい」といった問題が発生します。
そこで、今回は「Power Automate虎の巻」として、設計・構築時のTips集を紹介していきます。
弊社のノウハウが詰まった資料となっております!
Power Automateで設計・構築をしたことがある方は是非ご覧いただきたいです。また、今から始める方も事前にご一読いただくことをおすすめいたします。
トリガーアクションの下には、 「データを取得する」アクションを配置すべし!
「終了」アクションを活用し、 アクションの入れ子を回避すべし!
【追加】Apply to each×コンカレンシー×変数の設定はNG!
アクション名の付与方針は事前に決めるべし!
Power Automateは、アクションを追加していくことで、フローを構築していきます。
本記事では、そのアクション名の考え方について記載しています。
何気なくアクション名を変更している方もいるとおもいますが、実は奥深い内容だったりします。
アクション名を変更する・変更しないについてそれぞれのメリット・デメリットを記載しています。
また、それぞれの場合において、守っていただきたいポイントも記載しています。
変数を用いて類似アクションを共通化すべし!
Power Automateにてフローを作成する際、「条件」アクションなどを用いて分岐を作成することがあると思います。
その際に、各分岐の先で類似アクションを入れていませんか?
(例:承認の可否に応じて、送信するメールの内容を変更する)
修正コストが小さいフローを作成するためには、類似アクションはなるべく共通化することをお勧めします。
本記事では、類似アクションを共通化させるためのノウハウを記載しています。
トリガーアクションの下には、
「データを取得する」アクションを配置すべし!
フロー作成時、トリガーアクションで得た動的コンテンツを、そのまま後続のアクションで使用していませんか?
実はこの方法では、トリガーアクションを削除・変更した場合に、後続アクションに入っている動的コンテンツも自動的に削除されてしまいます。
上記を防ぐため、トリガーアクションの下に、「データを取得する」アクションを追加すると、修正コストの小さいフローを作成することができます。
本記事では、「データを取得する」アクションの有無によって、どのような違いがあるのかについて実例を示しながら説明しています。
「終了」アクションを活用し、
アクションの入れ子を回避すべし!
フローを構築していくと、「条件」アクションの中に更に「条件」アクションが必要(=アクションが「入れ子」)となるような場合があります。
この際、アルゴリズム通りに構築してしまうと、フロー全体を把握することが難しくなるため可読性が低下します。
(アクションのネストが深くなりすぎて、「今どこを見てるのか?」となったことはありませんか?私はよくあります(笑))
本記事では、「終了」アクションを活用することで、アクションの入れ子を回避する方法について説明しています。
Apply to each×コンカレンシー×変数の設定はNG!
Power Automateの高速化を行う際の1つの方法として、コンカレンシー制御を活用する場面は多いと思います。
コンカレンシー制御の設定自体は簡単にできますが、気をつけるべき点が存在します。
それはApply to eachでコンカレンシー制御を行う場合は、変数の設定を行ってはいけないということです。
今記事の内容を知っていないと、フローを実装したけど予想と異なる値が格納されることになるため、注意が必要です。
ぜひ内容を理解していただければと思います。
検索結果が1件とわかっている場合は、
不要なApply to eachは回避すべし!
Power Automateでフローを作成していると、「Apply to each」アクションが自動的に追加された経験はありませんか?
Power Automateでは配列内の項目を取得する場合、自動的に「Apply to each」アクションが追加される仕様となっています。
しかし、形式は配列になっているものの、取得する値は1つであることが明確である場合、わざわざ「Apply to each」アクションを使用する必要はありません。
本記事では、不要なApply to eachを回避すべき理由と、実際の回避方法について記載しています。
トリガー条件を活用し、不要な起動を回避すべし!
フローを構築する際、「起動させるけど、条件に合致しない場合は「終了」アクションですぐ終わらせる」という構築を行っていませんか?
こちらも大きな問題とはなりませんが、トリガー条件を用いると、フローの起動そのものを制限することができます。
これにより、トリガーの回数を減らすことができるので、実行履歴がより見やすくなると思います。
本記事では、不要なPower Automateフローの起動を防ぐため、トリガー条件を用いて、「ある決まった条件の場合のみ、Power Automateフローを起動させる」ための方法について説明しています。
「スコープ」アクションを活用すべし!
Power Automateでフローを作成していると、段々とアクション数が多くなって、フロー全体の可読性が下がってしまいます。
このような際、「スコープ」アクションを用いると、複数のアクションをまとめることが出来るため、可読性を向上させることができます。
また「エラー発生時、その内容を保持したい」や「エラー発生の有無に関わらず、処理を実行したい」という要望もあると思います。
このような要望に対しては、「スコープ」アクションを用いた例外処理(try catch finally)を実装することで対応できます。
本記事では、それぞれの実装方法について説明しています。
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200
こんにちは。アーティサン株式会社の小刀稱(ことね)です。