ADVERTISEMENT

【Power Automate】子フローが急に動かない時の会社環境での安全な再設定

【Power Automate】子フローが急に動かない時の会社環境での安全な再設定
🛡️ 超解決

Power Automateで構築した自動化ワークフローの中でも、子フローを利用した階層的な設計は保守性や再利用性を高める有効な手法です。しかし、ある日突然、子フローが動作しなくなることがあります。特に会社の共有環境や管理者ポリシーが厳しいテナントでは、原因の特定が難しく、再設定に踏み切れないケースも多いでしょう。本記事では、子フローが停止した際に会社のPC環境で安全に原因を切り分け、適切に再設定する方法をステップバイステップで解説します。

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

  • 最初に見る場所: 子フローの実行履歴と親フローのトリガー条件を確認し、エラーメッセージの有無を調べます。
  • 切り分けの軸: 子フロー単体のテストができるかどうか、親フローからの呼び出しパラメータの整合性、コネクタの認証状態の3点で原因を絞り込みます。
  • 注意点: 会社のPCでは、フローの共有設定やコネクタの追加に管理者権限が必要な場合があります。無断で変更せず、IT部門への確認が必要なポイントを明確にします。

ADVERTISEMENT

子フローが停止する主な原因

子フローが突然動作しなくなる原因は、大きく分けて4つに分類できます。それぞれの特徴を押さえておくと、問題の特定がスムーズになります。以下に代表的な原因を挙げます。

原因1:コネクタの認証切れ

Power Automateで使用するコネクタ(SharePoint、Outlook、Teamsなど)の認証トークンは一定期間で失効します。特に会社の条件付きアクセスポリシーが厳しい環境では、定期的な再認証が必要になるケースが多いです。認証切れが発生すると、フロー実行時に「401 Unauthorized」や「Access Denied」といったエラーが表示されます。子フロー単体でテストを実行した際にこのエラーが出た場合、コネクタの再サインインが最優先の対処です。

原因2:子フローの定義変更による互換性問題

子フロー自体を編集した後、親フローが古いバージョンのスキーマを参照し続けることがあります。具体的には、子フローの入力パラメータ名やデータ型を変更したにもかかわらず、親フロー側の呼び出しアクションの設定が追従していないケースです。この場合、親フローが子フローを呼び出す段階で「InvalidTemplate」や「BadRequest」エラーが発生します。原因の切り分けには、子フローの現在の入力パラメータを確認し、親フローの「子フローの実行」アクションと一致しているかどうかをチェックします。

原因3:ライセンスまたはテナントポリシーの変更

会社全体でPower Automateのライセンスプランが変更されたり、データ損失防止(DLP)ポリシーが厳しくなったりすると、子フローが制限を受けることがあります。特に、子フローが使用するコネクタがDLPポリシーでブロックされていないかどうかは、管理者に確認が必要です。また、試用版ライセンスの期限切れも原因の一つです。このケースでは、フローの実行履歴に「LicenseError」や「PolicyViolation」といったメッセージが含まれることが多いです。

原因4:親フローのトリガー条件の変化

子フロー自体は正常でも、親フローがトリガーされなくなったために結果的に子フローが動いていないように見えるケースがあります。例えば、親フローのトリガーが「新しいアイテムが作成されたとき」だった場合、対象のSharePointリストが別の場所に移動されたり、リスト名が変更されたりするとトリガーが機能しません。この場合、親フローの実行履歴に「Skipped」や「NotTriggered」という状態が記録されます。

まずは切り分け:子フロー自体の問題か親フローの問題か

問題の原因を特定するためには、子フロー単独でテストできるかどうかを確認することが最初のステップです。以下の手順で切り分けを進めてください。

  1. 子フローを単体でテスト実行する: Power Automateのポータルで該当の子フローを開き、画面上部の「テスト」をクリックして、手動でトリガーできる場合はトリガーアクションを選択して実行します。このとき、使用する入力値を適切に指定してください。
  2. テスト結果を確認する: テストが成功した場合、子フロー自体には問題がなく、親フローからの呼び出し方または親フローのトリガーに問題がある可能性が高いです。テストが失敗した場合は、エラーメッセージをメモし、コネクタの認証やパラメータの整合性を確認します。
  3. 親フローの実行履歴を確認する: 親フローの「実行」タブを開き、失敗した実行の詳細を表示します。エラーメッセージに「Action ‘Run_child_flow’ failed」のように子フロー呼び出し部分でエラーが発生しているか、それとも前後のアクションでエラーが発生しているかに注目します。
  4. 条件付きアクセスやポリシーの影響を確認する: 会社のPCを使用している場合、サインイン画面がポップアップしない、または認証が通らない場合は、条件付きアクセスポリシーや多要素認証(MFA)の変更が原因かもしれません。IT部門に問い合わせる前に、ブラウザのシークレットモードで一度サインインし直すことを試してみてください。
  5. 子フローのバージョンと親フローの参照バージョンを確認する: 子フローを編集した後は、必ず「公開」して最新バージョンを作成する必要があります。親フローが子フローのどのバージョンを参照しているかは、親フローの「子フローの実行」アクションのプロパティで確認できます。ここで「最新の公開バージョン」を選択している場合は、子フローを公開すれば自動的に参照が更新されますが、「特定のバージョン」を指定している場合は手動で更新が必要です。

以上の手順で原因のおおよその見当がついたら、次の「安全な再設定」に進みます。ただし、会社環境ではむやみに設定を変更せず、以下の比較表を参考に、どの部分を再設定するかを判断してください。

原因の分類 確認すべきポイント 再設定の方法 管理者への確認要否
コネクタ認証切れ 子フローのテストで401エラー 該当コネクタを削除して再追加、再サインイン 不要(ただしMFAが必要な場合あり)
子フロー定義変更 親フローの実行履歴にInvalidTemplateエラー 親フローの「子フローの実行」アクションのパラメータを子フローに合わせて修正 不要
ライセンス・ポリシー変更 実行履歴にLicenseErrorまたはPolicyViolation ライセンス再割り当て、またはDLPポリシーの例外申請 必須
親フロートリガー変更 親フローの実行履歴にSkipped状態 トリガー条件の再設定、接続先の再指定 状況による

この表を参考に、まずは自分で修正可能な範囲で対処し、それでも解決しない場合は管理者に相談してください。

会社環境で注意すべき設定変更ポイント

会社のテナントでPower Automateを利用する場合、個人設定のように自由に変更できない項目があります。以下の点は特に注意が必要です。

コネクタの再追加と認証

コネクタを削除して再追加する際、会社の条件付きアクセスポリシーによっては、再度MFA(多要素認証)が求められることがあります。このとき、会社の認証システムが「アプリのアクセス許可」を要求する場合があります。承認する前に、そのコネクタが必要最低限の権限(例:指定したSharePointサイトのみ)であることを確認してください。不必要に広い権限を要求するコネクタは承認せず、IT部門に問い合わせましょう。

フローの共有設定と接続参照

会社環境では、フローを個人の接続ではなく「接続参照」を使って共有することが推奨されます。接続参照を利用すると、管理者が一元的にコネクタの認証を管理できるため、個人の認証切れに左右されにくくなります。もし子フローが個人の接続を使用している場合は、接続参照に切り替えることを検討してください。ただし、この切り替えには管理者の協力が必要な場合があります。

子フローのバージョン管理

Power Automateでは、子フローを編集して公開すると新しいバージョンが作成されます。親フローが自動的に最新バージョンを参照する設定になっていれば問題ありませんが、明示的に特定のバージョンを指定している場合は、再設定時にその指定を解除するか、新しいバージョンに更新する必要があります。この操作は比較的リスクが低いため、自分で実施しても構いません。ただし、変更後は必ず親フローを保存し、再度テスト実行を行ってください。

安全な再設定の手順

ここでは、最も一般的なケースである「コネクタの認証切れ」と「子フロー定義変更」の再設定手順を、会社環境でも安全に実施できる方法で説明します。

  1. 子フローを開き、コネクタの状態を確認する: 子フローの編集画面で、各アクションに表示されている接続アイコンを確認します。鍵マークや警告アイコンがある場合は、認証が切れている可能性があります。該当のアクションをクリックし、「接続の変更」を選択して再サインインします。
  2. 再サインイン後にテストを実行する: 再サインインが完了したら、前述の手順で子フローのテスト実行を行います。このとき、テスト用の入力データは実際のデータに近いものを用意すると、本番環境での動作をより正確に確認できます。テストが成功したら、子フローを保存して公開します。
  3. 親フローの呼び出しアクションを確認する: 親フローを開き、「子フローの実行」アクションのプロパティを開きます。入力パラメータが子フロー側と一致しているか、特にパラメータ名とデータ型(文字列、数値など)が正しいか確認します。差異があれば修正します。
  4. 親フローを保存し、テスト実行する: 親フローを保存したら、テスト実行を行います。トリガーが手動の場合は「テスト」ボタンから、自動トリガーの場合は実際にトリガーイベントを発生させて動作を確認します。実行履歴で成功を確認してください。
  5. 実行履歴の監視: 再設定後、少なくとも数日間は実行履歴を定期的に確認し、再発していないか監視します。同じエラーが再び発生する場合は、根本的な原因が別にある可能性があるため、IT部門に相談してください。

管理者に確認すべき項目

上記の手順で解決しない場合や、権限の問題で設定変更ができない場合は、管理者に以下の情報を伝えて相談してください。

  • エラーメッセージのスクリーンショット: 実行履歴やテスト結果のエラーメッセージをスクリーンショットで保存し、共有します。
  • 原因の切り分け結果: 子フローの単体テストの成否、親フローのエラー発生箇所など、自分で調べた結果を簡単にまとめて伝えます。
  • 該当のフローIDとコネクタ名: フローの詳細画面からURLをコピーするか、フローIDをメモしておくと、管理者が調査しやすくなります。
  • 変更が必要な設定の明示: 接続参照への切り替え、DLPポリシーの例外、ライセンスの再割り当てなど、具体的にどのような変更が必要かを提示します。
  • 緊急度と影響範囲: このフローが止まっていることでどれだけの業務に支障が出ているかを伝え、優先度を共有します。

よくある質問

最後に、会社環境で子フローが動かなくなった際によく寄せられる質問とその回答をまとめます。

Q1. 子フローを単体でテストする方法がわかりません。
Power Automateポータルで子フローを開き、上部メニューの「テスト」をクリックします。トリガーアクションが選択できる場合、手動トリガーを選んでテスト用の入力を指定し、「テストの実行」をクリックします。トリガーがないフローの場合は、すぐにテストが開始されます。

Q2. コネクタを再追加したら、なぜか権限エラーが出ます。
会社のテナントでは、アプリのアクセス許可や条件付きアクセスポリシーが原因で、コネクタの再追加時に一部の権限が自動で付与されない場合があります。IT部門に連絡して、該当コネクタのアクセス許可設定を確認してもらいましょう。

Q3. 子フローを最新バージョンに更新したのに、親フローが古いバージョンを参照し続けます。
親フローの「子フローの実行」アクションで、参照バージョンが「最新の公開バージョン」ではなく「特定のバージョン」に設定されている可能性があります。アクションのプロパティを開き、バージョン指定を「最新の公開バージョン」に変更して保存してください。

まとめ

子フローが突然動かなくなったときは、まず子フロー単体のテストで問題の切り分けを行いましょう。コネクタの認証切れやパラメータの不一致は自分で修正できるケースが多いですが、ライセンスやポリシーに関わる場合は管理者への相談が必要です。会社環境では、無理に設定を変更せず、接続参照の利用やバージョン管理を適切に行うことで、再発を防止できます。本記事の手順を参考に、安全かつ迅速に問題を解決してください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT