ADVERTISEMENT

【Power Automate】スコープのConfigure run afterでつまずく時の会社環境での安全な再設定

【Power Automate】スコープのConfigure run afterでつまずく時の会社環境での安全な再設定
🛡️ 超解決

Power Automateのスコープ機能と「Configure run after」設定は、フローの実行順序やエラー処理を柔軟に制御できる便利な機能です。しかし、会社の環境ではテナントポリシーやセキュリティ制限によって、意図したとおりに動作しないことがあります。特にスコープ内で複数のアクションを連携させる場合、Configure run afterの設定ミスが原因でフロー全体が停止してしまうケースも少なくありません。本記事では、会社PCで安全に再設定するための具体的な手順と、つまずきやすいポイントを解説します。

【要点】この記事で確認すること

  • 最初に見る場所: フローエディターのスコープアクションにある「Configure run after」の設定画面。まずは現在の状態を確認してください。
  • 切り分けの軸: 端末側のローカル設定(Power Automate for desktop)か、アカウント側のクラウド設定(Power Automate for web)か、管理設定側(DLPポリシー、コネクタの使用許可)かを切り分けて原因を特定します。
  • 注意点: 会社PCでは管理者権限がない場合が多く、環境変数やカスタムコネクタの変更は管理者に依頼してください。また、Configure run afterの設定変更はフロー全体の動作に影響するため、必ずテスト環境で検証してから本番に適用しましょう。

ADVERTISEMENT

スコープとConfigure run afterの基本

スコープとは

Power Automateのスコープは、複数のアクションをグループ化するためのコンテナです。スコープを使うと、アクションの実行結果を一元管理したり、スコープ全体の成功・失敗に応じて後続の処理を分岐させたりできます。例えば、ファイルのダウンロード、データ変換、アップロードという一連の処理を1つのスコープにまとめ、スコープが成功した場合のみ次のステップへ進むよう設定できます。会社環境では、テナントのポリシーによってスコープのネスト数に制限がある場合もあるため、設計時に確認が必要です。

Configure run afterの役割

「Configure run after」は、特定のアクションがどのような状態(成功、失敗、スキップ、タイムアウトなど)になった場合に次のアクションを実行するかを指定する設定です。スコープ内の各アクションに個別に設定でき、さらにスコープ自体のrun after設定も可能です。例えば、スコープ内のすべてのアクションが成功したときだけスコープを成功とみなす、または1つでも失敗したらスコープを失敗とみなす、といった制御ができます。会社の基幹システムと連携するフローでは、この設定を誤ると予期しないエラーが発生し、業務に支障をきたすことがあります。

会社環境でつまずく原因

テナントのポリシー制限

会社のMicrosoft Entra ID(旧Azure AD)やPower Platform管理センターでは、データ損失防止(DLP)ポリシーやコネクタの使用制限が設定されていることがあります。例えば、あるコネクタが「ビジネスデータのみ」に分類されている場合、そのコネクタをスコープ内で使用するとConfigure run afterの設定が反映されず、フローが予期せず停止することがあります。また、条件付きアクセスポリシーによって、特定のIPアドレスからのみPower Automateへのアクセスが許可されている場合、スコープ内のアクションがタイムアウトになることも原因の一つです。

スコープ内のアクション設定の誤り

Configure run afterの設定は、アクションごとに「成功」「失敗」「スキップ」「タイムアウト」「中止」の5つの状態を複数選択できます。会社環境でよくあるミスとして、すべての状態をチェックしてしまう「常に実行」状態にしてしまい、後続のアクションが想定外のタイミングで実行されるケースがあります。また、スコープのrun after設定が「成功」のみになっているのに、内部のアクションが失敗した場合、スコープ全体が「失敗」と扱われずに後続へ進む矛盾が発生することもあります。

並列処理との組み合わせ問題

スコープ内で並列処理(concurrency)を有効にしている場合、Configure run afterの動作が複雑になります。並列で実行されるアクションの完了順序が不定のため、run afterの条件が正しく評価されないことがあります。会社のSharePointリストやDataverseなど、同時実行制限があるデータソースと組み合わせると、デッドロックが発生してスコープがタイムアウトする可能性があります。

安全な再設定の手順

以下の手順に従って、会社環境でも安全にConfigure run afterを再設定できます。操作はすべてPower AutomateのWebエディター(make.powerautomate.com)から行います。

  1. フローを開き、スコープを選択する – 対象のフローを編集モードで開き、問題が発生しているスコープアクションをクリックします。スコープのタイトルバーにある「…」メニューから「設定」を選択してください。
  2. 現在のConfigure run afterを確認する – 「Configure run after」の設定画面で、現在どの状態がチェックされているか確認します。デフォルトでは「成功」のみがチェックされています。会社環境では、すべての状態がチェックされている場合や、逆に何もチェックされていない場合があるため、注意深く確認してください。
  3. 目的に応じて設定を変更する – スコープ全体の動作を「成功時のみ実行」にしたい場合は「成功」のみをチェックします。エラーハンドリングを組み込みたい場合は「失敗」や「タイムアウト」も追加します。スコープ内のアクションが複数ある場合は、スコープのrun afterとは別に、各アクションのrun afterも個別に設定する必要があります。
  4. テスト環境でフローを実行する – 変更を保存する前に、必ずテスト用の環境(個人用開発環境など)でフローを実行し、意図した動作になるか検証します。会社の本番環境で直接テストすると、他のユーザーに影響を与える可能性があるため避けてください。
  5. 保存して本番環境に反映する – テストで問題がなければ、ソリューションを使って管理された環境にフローをデプロイします。直接上書き保存するのではなく、新しいバージョンとして保存し、必要に応じて以前のバージョンにロールバックできるようにしておきましょう。
  6. 監視ログで動作を確認する – フロー実行後、Power Automateの「実行履歴」から各アクションのステータスを確認します。スコープが「成功」または「失敗」になっているか、それぞれのアクションのrun afterが正しく適用されているかをチェックします。

状況別の比較表

設定パターン スコープ内アクション1の結果 スコープ内アクション2の結果 スコープのrun after状態 最終的なスコープの実行結果
すべて成功のみ 成功 成功 成功 スコープ成功→後続実行
すべて成功のみ(1つ失敗) 成功 失敗 成功(スコープ自体は成功と評価) スコープ成功→後続実行(アクション2は失敗)
成功+失敗を指定 成功 失敗 成功(スコープは成功とみなす) スコープ成功→後続実行(エラー処理可能)
スコープのrun after未設定 成功 成功 なし(デフォルトは成功) スコープは常に実行

よくある失敗パターンと対策

失敗パターン1: スコープ内のアクションがすべて成功しているのにスコープが失敗になる

この場合、スコープのConfigure run afterが「すべてのアクションが成功したらスコープ成功」ではなく、「いずれかのアクションが成功したらスコープ成功」など異なる条件になっている可能性があります。また、スコープ内で「Apply to each」や「Do until」などのループアクションを使っている場合、ループ内のアクションが成功してもスコープが成功とみなされないことがあります。対策として、スコープのrun after設定を開き、「成功」のみがチェックされているか確認し、さらにスコープ内の各アクションのrun afterも「成功」のみに統一してください。

失敗パターン2: スコープがタイムアウトで失敗する

会社環境では、スコープの実行時間がテナントの制限(通常は30分)を超えるとタイムアウトになります。特に大量のデータを処理するループがスコープ内にある場合に発生しやすいです。対策として、スコープのrun afterに「タイムアウト」を追加し、タイムアウト時に別の処理(通知送信など)を行えるように設定します。また、可能であればスコープ内の処理を分割し、複数のスコープに分けることでタイムアウトを回避できます。

失敗パターン3: スコープがスキップされて後続のアクションが実行されない

スコープのrun afterが「スキップ」を含む設定になっているか、スコープそのものが条件分岐の結果スキップされた場合に発生します。会社の承認プロセスなどで、スコープの前に条件アクションがあると、その条件が偽になったときにスコープがスキップされることがあります。対策として、スコープのrun after設定で「スキップ」のチェックを外すか、条件アクションのrun afterを調整して確実にスコープが実行されるようにします。

管理者に確認すべきポイント

会社のPower Platform管理者に対して、以下の点を確認しておくとスムーズです。

  • テナントのDLPポリシーで、使用しているコネクタが適切なデータグループに分類されているか。
  • 環境の「フロー実行時間制限」や「アクション数制限」の設定値。既定値を超える場合は引き上げが可能か。
  • カスタムコネクタやオンプレミスデータゲートウェイを使用している場合のアクセス許可とセキュリティポリシー。
  • 並列処理の制限(concurrency limit)が環境全体で設定されているか。
  • スコープのネスト数制限(通常は5段階まで)。必要に応じて設計を見直す。

よくある質問(FAQ)

Q: スコープのConfigure run afterで「成功」と「失敗」の両方をチェックするとどうなりますか?

A: スコープは、内部アクションの結果にかかわらず常に実行されます。つまり、スコープが失敗しても成功しても、後続のアクションが実行されるようになります。エラーハンドリングの目的で使う場合は、後続アクションで条件分岐を設ける必要があります。

Q: 会社のフローで「このアクションはこの環境では許可されていません」と表示されます。どうすればいいですか?

A: Power Platform管理センターでDLPポリシーによりそのコネクタが禁止されている可能性があります。管理者に連絡して、使用したいコネクタを「許可」するようポリシーの変更を依頼してください。また、代わりに許可されたコネクタがないか確認することも有効です。

Q: スコープのrun afterを変更したら、以前のバージョンに戻せますか?

A: はい、Power Automateではフローのバージョン管理が可能です。フローエディターの「バージョン履歴」から以前のバージョンを選択し、復元できます。ただし、復元後に再度設定を変更する場合は注意が必要です。会社環境では、バージョン管理が有効になっているか管理者に確認してください。

まとめ

Power AutomateのスコープとConfigure run afterは、柔軟なフロー制御を実現する強力な機能ですが、会社環境ではポリシーや制限によって思わぬトラブルが発生することがあります。原因を切り分けるには、テナントポリシー、アクション設定、並列処理の影響を段階的に確認することが重要です。安全な再設定には、必ずテスト環境での検証とバージョン管理を活用し、管理者の協力を仰ぎながら進めてください。本記事の手順を参考に、つまずきのないフロー運用を目指しましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT