アーティサン株式会社
  • Power Automate
  • Power Platform

Power Automate 設計・構築時のTips集|保守しやすいフローを作るベストプラクティス10選

この記事のポイント

  • Power Automateでフローを作るときに守りたい「お作法」を、設計・構築のTips10個にまとめて紹介
  • アクション名の付け方、変数による類似アクションの共通化、「データを取得する」アクションの配置、「終了」アクションによる入れ子の回避など、保守しやすさに直結するTipsを収録
  • Apply to eachの並列実行と変数、不要なApply to eachの回避、トリガー条件、スコープでの例外処理(try catch finally)、Excelの同時編集、エラー時の管理者通知まで取り上げる
  • 各Tipsの詳しい手順・画面例は、リンク先のベストプラクティス連載で確認できる
この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate) 2026 Microsoft MVP(SharePoint・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Power Automateとは、Microsoftが提供するローコードの業務自動化ツールで、コーディングの知識がなくても「アクション」を並べるだけでフロー(自動化の流れ)を作れます。手軽に始められる一方で、作り方のお作法(ベストプラクティス)を守らないと「作った本人以外がメンテナンスできない」「修正のたびに大きな手間がかかる」といった問題が起こります。

本記事では、アーティサンがこれまでのPower Automate案件で蓄積してきた設計・構築時のTipsを10個紹介します。すでにフローを作ったことがある方はもちろん、これから作り始める方も、作る前に一度目を通していただくのがおすすめです。

ここで紹介するお作法は、個人で作るフローが増えてきたときや、部署でフローを共有し始めたときほど効いてきます。社内でのフロー作成ルールづくりや、既存フローの見直しについて相談したい場合は、以下もご参照ください。

アクション名は変更すべき?付与方針は事前に決めるべし!

Power Automateは、アクションを追加していくことで、フローを構築していきます。

本記事では、そのアクション名の考え方について記載しています。
何気なくアクション名を変更している方もいるとおもいますが、実は奥深い内容だったりします。

アクション名を変更する・変更しないについてそれぞれのメリット・デメリットを記載しています。

また、それぞれの場合において、守っていただきたいポイントも記載しています。

分岐の先に同じようなアクションが並んだら?変数を用いて共通化すべし!

Power Automateにてフローを作成する際、「条件」アクションなどを用いて分岐を作成することがあると思います。

その際に、各分岐の先で類似アクションを入れていませんか?
(例:承認の可否に応じて、送信するメールの内容を変更する)

修正コストが小さいフローを作成するためには、類似アクションはなるべく共通化することをお勧めします。
本記事では、類似アクションを共通化させるためのノウハウを記載しています。

トリガーアクションの下には、
「データを取得する」アクションを配置すべし!

フロー作成時、トリガーアクションで得た動的コンテンツを、そのまま後続のアクションで使用していませんか?

実はこの方法では、トリガーアクションを削除・変更した場合に、後続アクションに入っている動的コンテンツも自動的に削除されてしまいます。
上記を防ぐため、トリガーアクションの下に、「データを取得する」アクションを追加すると、修正コストの小さいフローを作成することができます。

本記事では、「データを取得する」アクションの有無によって、どのような違いがあるのかについて実例を示しながら説明しています。

「終了」アクションを活用し、
アクションの入れ子を回避すべし!

フローを構築していくと、「条件」アクションの中に更に「条件」アクションが必要(=アクションが「入れ子」)となるような場合があります。

この際、アルゴリズム通りに構築してしまうと、フロー全体を把握することが難しくなるため可読性が低下します。
(アクションのネストが深くなりすぎて、「今どこを見てるのか?」となったことはありませんか?私はよくあります(笑))

本記事では、「終了」アクションを活用することで、アクションの入れ子を回避する方法について説明しています。

Apply to eachを並列実行するときの注意点は?コンカレンシー×変数の設定はNG!

Power Automateの高速化を行う際の1つの方法として、コンカレンシー制御を活用する場面は多いと思います。
コンカレンシー制御の設定自体は簡単にできますが、気をつけるべき点が存在します。

Apply to eachのコンカレンシー制御は既定ではオフ(並列度1=1件ずつ順番に実行)で、オンにすると並列度を1〜50の範囲で指定できます。並列度を上げるほど処理は速くなりますが、同時に動くループの数も増えるため、変数の値が他のループに上書きされやすくなります。

それはApply to eachでコンカレンシー制御を行う場合は、変数の設定を行ってはいけないということです。
今記事の内容を知っていないと、フローを実装したけど予想と異なる値が格納されることになるため、注意が必要です。

ぜひ内容を理解していただければと思います。

検索結果が1件なのにApply to eachが出てきたら?
不要なApply to eachは回避すべし!

Power Automateでフローを作成していると、「Apply to each」アクションが自動的に追加された経験はありませんか?
Power Automateでは配列内の項目を取得する場合、自動的に「Apply to each」アクションが追加される仕様となっています。

Apply to eachが1回のフロー実行で処理できる配列の項目数には上限があり、ライセンスのパフォーマンスプロファイルが「Low」の場合は5,000件、それ以外は100,000件です。1件で済む処理にループを使わないことは、上限に近づくのを避けるうえでも有効です。

しかし、形式は配列になっているものの、取得する値は1つであることが明確である場合、わざわざ「Apply to each」アクションを使用する必要はありません。

本記事では、不要なApply to eachを回避すべき理由と、実際の回避方法について記載しています。

トリガー条件を活用し、不要な起動を回避すべし!

フローを構築する際、「起動させるけど、条件に合致しない場合は「終了」アクションですぐ終わらせる」という構築を行っていませんか?

こちらも大きな問題とはなりませんが、トリガー条件を用いると、フローの起動そのものを制限することができます。

これにより、トリガーの回数を減らすことができるので、実行履歴がより見やすくなると思います。

本記事では、不要なPower Automateフローの起動を防ぐため、トリガー条件を用いて、「ある決まった条件の場合のみ、Power Automateフローを起動させる」ための方法について説明しています。

「スコープ」アクションを活用すべし!

Power Automateでフローを作成していると、段々とアクション数が多くなって、フロー全体の可読性が下がってしまいます。

このような際、「スコープ」アクションを用いると、複数のアクションをまとめることが出来るため、可読性を向上させることができます。

また「エラー発生時、その内容を保持したい」や「エラー発生の有無に関わらず、処理を実行したい」という要望もあると思います。
このような要望に対しては、「スコープ」アクションを用いた例外処理(try catch finally)を実装することで対応できます。

本記事では、それぞれの実装方法について説明しています。

Excelファイルを複数人で更新するときは?同時実行とロックに備えるべし!

Power AppsからPower Automateを呼び出してExcelに値を書き込む場合、複数のユーザーが同じタイミングで実行すると、後から実行した方の値が優先される「後勝ち」や、「~が共有するためにロックしています。」というエラー、更新した値が反映されないといった問題が起こります。

本記事では、コンカレンシー制御の設定などで、Excelファイルを安全に編集するための対策について、実際に起きた問題点と修正後のフローを比べながら説明しています。

フローが失敗したらすぐ気づくには?エラー時は管理者へ通知すべし!

Power Automateの標準機能では、フローがエラーで終了しても、すぐに通知はされません(失敗したフローの一覧が週1回メールで届きます)。

本記事では、「スコープ」アクションの実行条件の構成を使い、エラーが起きたタイミングでフロー名・起動時刻・実行URLを管理者へ通知する方法を、手順に沿って説明しています。

まとめ:保守しやすいフローを作るためのTips10選

本記事で紹介したTipsを一覧にすると、次のとおりです。フローを作る前の確認や、既存フローの見直しにお使いください。

NoTips防げる問題
1アクション名の付与方針は事前に決めるフローの中身が他の人に読めない
2変数を用いて類似アクションを共通化する修正時に同じ変更を何か所も行う
3トリガーの下に「データを取得する」アクションを置くトリガー変更時に動的コンテンツが消える
4「終了」アクションで入れ子を回避するネストが深くなり全体が把握できない
5Apply to each×コンカレンシー×変数の設定はしない並列実行で値が上書きされる
6結果が1件なら不要なApply to eachを使わない不要なループで処理が分かりにくくなる
7トリガー条件で不要な起動を防ぐ実行履歴が不要な実行で埋まる
8「スコープ」でまとめ、例外処理を入れるエラー時の処理が漏れる・可読性が下がる
9Excelを編集するときは同時実行とロックに備える後勝ち・ロックエラー・更新が反映されない
10エラー時はすぐに管理者へ通知する失敗に気づくのが週1回の通知まで遅れる

また、フローの設計書を作るときは、少なくとも次の項目を書いておくと、作った本人以外でも保守しやすくなります。

  • フローの目的と、トリガー(いつ・何をきっかけに動くか)

  • 入力と出力(どのリスト・ファイルを読み、どこに書き込むか)

  • アクション名の付け方のルール(Tips1)と、使う変数の一覧

  • エラー時の動き(スコープでの例外処理と通知先、Tips8・10)

  • 所有者・共同所有者と、使っている接続(異動・退職時の引き継ぎ先)

Tipsを知っていても、実際の業務フローにどう当てはめるかは、組織の体制や作る人のスキルによって変わります。社内でPower Automateを作り続けられる体制づくり(内製化)や、作り手の育成に興味がある方は、こちらからサービス内容をご覧いただけます。

 

こちらも合わせて読みたい