Power Automateで作成したフローがエラーで停止しても、管理者に自動で通知が届かないと「なぜ止まったのか分からない」「障害対応が遅れる」といった問題が起きます。特に業務に直結する承認フローやファイル同期フローでは、エラー発生を即座に把握することが重要です。本記事では、Power Automateのフローでエラーが発生したときに、管理者や担当者へメールやTeamsで通知を送る設定手順を詳しく解説します。エラー通知の仕組み、具体的な設定方法、よくある失敗パターン、管理者に確認すべき項目まで網羅していますので、ぜひ参考にしてください。
【要点】この記事で確認すること
- 最初に見る場所: フローの「設定」タブにある「エラー時の処理」オプションと、アクションの「実行後のタイムアウト」や「失敗再試行」の設定
- 切り分けの軸: フロー実行履歴のエラーメッセージ詳細、トリガー条件とアクション設定、コネクタのアクセス許可
- 注意点: エラー通知を設定する際は、無限ループを防ぐためにトリガー条件に「過去N分以内の実行がない」などの制御を追加すること。また、管理者のメールアドレスやTeamsチャネルが組織のポリシーで許可されているか事前に確認する必要があります。
ADVERTISEMENT
目次
エラー通知の設定手順(基本編)
Power Automateでは、フロー全体のエラーをキャッチする「エラーハンドリング」と、個別のアクションが失敗したときの処理を分けて設定できます。ここでは、最もシンプルな「フローがエラーで停止したら管理者にメールを送る」手順を説明します。
1. フローに「エラー時の処理」を追加する
- Power Automateポータル (make.powerautomate.com) にサインインし、対象のフローを開きます。
- 編集画面で、右側の「設定」パネル(歯車アイコン)をクリックし、「エラー時の処理」を展開します。
- 「エラー時の処理を実行する」をオンにします。これにより、フロー内のアクションが失敗した場合に、特別なパス(エラー処理ブランチ)が実行されるようになります。
- 「設定」パネルの「タイムアウト」と「再試行」も適宜調整します。デフォルトでは再試行が有効ですが、エラー通知を早く受け取りたい場合は「再試行なし」に設定しても構いません。
2. エラー処理ブランチに通知アクションを追加する
- フローのキャンバス上で、一番最後のアクションの下にある「+」ボタンをクリックし、「アクションを追加」を選択します。
- 検索ボックスに「Send an email」と入力し、Office 365 Outlook(または対象メールサービス)の「電子メールの送信 (V2)」アクションを選択します。
- アクションの「宛先」に管理者のメールアドレスを入力します。動的コンテンツを使ってフローの作成者やトリガー情報を含めることも可能です。
- 「件名」に「【エラー通知】フロー名 – 実行ID」など、概要が分かる文字列を設定します。実行IDは動的コンテンツの「フロー実行ID」で取得できます。
- 「本文」にエラーの詳細を記載します。例えば「フローがエラーで停止しました。エラーメッセージ: @{outputs(‘アクション名’)?[‘error’]}」のように動的コンテンツを使うと、具体的なエラー内容を含められます。
注意点として、エラー処理ブランチは通常のアクションとは別に配置する必要があります。具体的には、エラー処理専用のスコープ(「Apply to each」など)の中に入れると管理しやすくなります。
Teams通知を使ったエラー通知の設定
メールだけでなく、Teamsに通知を送ることでより迅速にエラーに気づくことができます。Teamsの「メッセージを投稿する」アクションを使用します。
- エラー処理ブランチに「Post a message (V3)」アクションを追加します。
- 「チーム」と「チャネル」を選択します。管理者が所属するチームのチャネル、または自分宛てのチャットを選びます。
- 「メッセージ」にエラー詳細をMarkdown形式で記述します。例えば「**フローエラー**\n\nフロー名: @{workflow()?[‘name’]} \n実行ID: @{workflow()?[‘run’]?[‘id’]} \nエラー: @{outputs(‘アクション名’)?[‘error’]}」とすると見やすくなります。
Teams通知の利点は、チャネルに投稿することで複数の管理者が同時に確認できる点です。ただし、プライベートチャネルには投稿できない場合もあるため、事前に確認してください。
高度な設定:条件付きエラー通知と異常な挙動の検知
単にエラーが発生したときだけでなく、特定の条件(複数回連続エラー、特定の時間帯のエラーなど)で通知を絞り込むことも可能です。
複数回連続エラーを検知する
フロー内でカウンター用の変数を使い、連続エラー回数をカウントします。例えば「グローバル変数」にエラー回数を保存し、閾値を超えたら通知するロジックを組むことができます。具体的な手順は以下の通りです。
- フローの最初に「変数の初期化」アクションで整数変数(例:ContinuousErrorCount)を0に設定します。
- エラー処理ブランチ内で「変数の増加」アクションでカウンターを1増やします。
- その直後に「条件」アクションを追加し、「ContinuousErrorCount が 3 以上」という条件を設定します。
- 条件が真の場合のみ、管理者に通知を送るアクション(メールまたはTeams)を実行します。
- フローが成功した場合は、変数を0にリセットするアクションを追加します(正常実行ブランチに配置)。
特定の時間帯のみ通知を有効にする
夜間のエラーは翌朝にまとめて確認したい場合、トリガー条件に「現在時刻が勤務時間内か」をチェックするロジックを追加します。式「@utcNow(‘HH’)」を使って時間を比較し、条件分岐で通知するかどうかを切り替えます。
代表的なエラーと通知設定の比較表
| エラーの種類 | 一般的な原因 | 通知方法の例 | 管理者に伝えるべき情報 |
|---|---|---|---|
| アクションがタイムアウト | 外部APIの応答遅延、コネクタの制限 | メール(件名にタイムアウト明記) | タイムアウト設定値、実行時間、対象アクション名 |
| アクセス許可エラー | コネクタの資格情報期限切れ、権限不足 | Teams通知(緊急度高い) | エラーコード(例:403)、リソース名、影響範囲 |
| データ形式の不一致 | JSONスキーマの不一致、Null値の参照 | メール(詳細な出力を含む) | アクションの出力サンプル、エラーメッセージ全文 |
| フロー全体の停止(未処理のエラー) | トランザクション処理中に予期しない例外 | 両方(メール+Teams) | 実行履歴リンク、フロー名、停止時刻 |
よくある失敗パターンとその対策
エラー通知を設定しても、思ったように動作しないことがあります。代表的な失敗例を紹介します。
- エラー処理ブランチが実行されない:原因は「エラー時の処理」のスコープが正しく設定されていないことです。「設定」パネルで「エラー時の処理を実行する」がオフになっていると、フロー全体のエラーでもエラー処理ブランチは実行されません。また、スコープ内でアクションが失敗した場合、そのスコープのエラー処理が優先されるため、外側のエラー処理に到達しないケースがあります。
- 通知アクションだけが失敗する:メール送信アクションで「宛先」のメールアドレスが誤っている、またはTeamsアクションで投稿先のチャネルが存在しないなど、通知自体の設定ミスが考えられます。事前にテスト実行で通知が届くか確認してください。
- 無限ループが発生する:エラー通知に使ったアクションがさらにエラーを引き起こし、再度エラー処理が実行されるループです。これを防ぐには、通知アクションに「実行をスキップする条件」を追加するか、通知アクションを別のフローに切り出す方法があります。
管理者に確認すべき設定項目
エラー通知を正しく管理者に届けるためには、以下の点を事前に管理者と確認しておく必要があります。
- 送信元メールアドレスの承認:Power Automateからメールを送信する際、組織によっては外部メール送信が制限されている場合があります。Office 365 Outlookコネクタを使用する場合は、Exchange管理センターで「送信者制限」がかかっていないか確認してください。
- Teamsコネクタの利用ポリシー:一部の組織では、カスタムコネクタや特定のAPIの使用が許可されていない場合があります。Teamsにメッセージを投稿するために必要なアクセス許可(Team.ReadWrite.Allなど)が付与されているか確認します。
- フロー実行の監査ログ:エラー通知が届かない場合、Power Automateの監査ログを確認することで、フローが実行されたか、エラーが発生したか、通知アクションが失敗したかなどの詳細を追跡できます。
- 管理者のメールボックス容量やTeams使用制限:メールボックスがいっぱいだと通知メールが届かないことがあります。また、Teamsのプライベートチャネルには外部からのメッセージ投稿が制限されている場合があります。
よくある質問(FAQ)
Q1: フローが正常に動いているときに通知テストをする方法は?
A1: フローの編集画面から「テスト」を実行し、任意のアクションで「失敗」をシミュレートする方法があります。具体的には、テスト実行時に特定のアクションの「出力」を手動で書き換えることはできませんが、一時的にアクションを削除するなどして強制的にエラーを発生させることが可能です。ただし、本番環境に影響を与えないように注意してください。
Q2: エラー通知を複数の管理者に同時に送るには?
A2: メールアクションの「宛先」フィールドにセミコロン区切りで複数のアドレスを指定できます。Teamsの場合は、チャネルに投稿することでチャネルのメンバー全員に通知が届きます。また、配布グループのメールアドレスを使う方法もあります。
Q3: エラー通知が届かない場合の確認手順は?
A3: まず、フローの実行履歴を開き、エラーが実際に発生しているか確認します。エラーが発生している場合は、通知アクションの出力をチェックします。特に「送信済み」になっているが届いていない場合、迷惑メールフォルダを確認してください。また、コネクタの再接続が必要な場合があります。
Q4: エラー通知のテンプレートはありますか?
A4: Power AutomateのコミュニティやMicrosoft Learnでサンプルフローが公開されています。例えば「Send an email on failure」という名前のテンプレートを検索すると、エラー内容を含むメールを送る基本的なフローが入手できます。それをベースにカスタマイズすると便利です。
まとめ
Power Automateでエラー通知を管理者へ送る設定は、フローの安定運用に欠かせません。基本は「エラー時の処理」を有効にし、通知アクション(メールまたはTeams)を追加するだけですが、無限ループや通知の届かないケースに注意する必要があります。エラーの重要度に応じて通知方法を変えたり、連続エラー回数を条件にすることで、過剰な通知を防ぎながら確実に異常を検知できます。最初はテスト環境で動作確認を行い、管理者と連携して適切な通知設定を整えてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
