Power Automateを使って業務の自動化を進める中で、避けて通れないのが「エラー処理」です。たとえば「メール送信が失敗した」「ファイルが存在しない」など、想定外の事態が発生した際に、適切なエラー処理を設定していないと、フロー全体が停止してしまうこともあります。
本記事では、Power Automateでよくあるエラーの種類と原因、そして基本的なエラー処理方法から実践的な使い方までを、初心者にもわかりやすく解説します。トラブル時の対処法や「失敗しても通知だけ飛ばす」といった応用テクニックも紹介します。
Power Automateで発生するエラーとは?
Power Automateのエラーは、大きく分けて以下の3つに分類されます。
- 接続エラー:APIやクラウドサービスへの接続がうまくいかない
- 入力エラー:変数やファイル名などが空、または不正
- 実行時エラー:ループの中で要素が欠けていたり、条件式が失敗したりする
たとえばSharePointにファイルをアップロードする処理で、対象のフォルダが存在しない場合、エラーとなってフローが停止します。こうしたエラーは事前に想定し、分岐処理や通知設定で「自動リカバリー」できるようにしておくことが重要です。
エラー処理の基本「スコープ」と「条件付き分岐」
Power Automateでエラー処理を組む場合、まず覚えておきたいのが「スコープ」と「条件付き分岐(条件アクション)」です。
スコープとは?
スコープは、複数の処理を1つのグループとしてまとめる機能です。エラー処理でよく使う理由は、スコープの中の処理が成功したか、失敗したかを後で判定できるからです。
例:
- 「ファイルをコピー」や「データ取得」などをスコープ内にまとめる
- そのスコープの「実行状況」を条件として分岐処理を行う
条件付き分岐と組み合わせる
スコープの後に「条件」を使い、「スコープの実行状況が失敗したらメール通知する」といった処理を追加できます。
条件:スコープの実行結果 == 失敗
→ メールで通知
→ エラーログに書き込み
「失敗しても次に進める」コンセプト:Configure Run After の活用
「ある処理が失敗しても、止めずに次へ進めたい」――そんなときに便利なのが、**「Configure Run After(後続アクションの実行条件の設定)」**です。
各アクションの「…(三点リーダー)」から設定を開き、以下のような条件で次のステップに進むようにできます。
- 成功時にのみ実行(デフォルト)
- 失敗時にも実行
- スキップ時に実行
- タイムアウト時に実行
たとえば「ファイル移動 → 通知メール」の流れで、ファイル移動が失敗しても通知メールだけは送信したい場合に有効です。
実例:ファイル転送に失敗したらSlack通知を飛ばす
フローの構成例
- スコープA:ファイル転送処理(OneDrive → SharePoint)
- 条件:スコープAが失敗したか判定
- スコープB:Slack通知を送信
スコープAが失敗した場合にのみ、スコープBが実行されるように「条件」で制御します。これにより、ミスがあってもフローが止まらず、担当者に即時通知できます。
Slack以外にもメールやTeamsでも同様に実装可能です。
エラー詳細をログに記録する方法
エラーが発生した際に「何が原因だったのか?」を記録しておくと、後からのトラブルシューティングがスムーズになります。
ログ記録の方法
- エラー発生時の「エラーメッセージ」変数を取得
- ExcelやSharePointリストに「日時・フロー名・エラーメッセージ」を書き込み
- Power BIで視覚化するのもおすすめ
Power Automateでは、outputs()
関数を使うとエラー詳細を抽出できます。
outputs('アクション名')?['body']?['error']?['message']
Power Automate Desktopのエラー処理方法
クラウド版だけでなく、Power Automate for Desktopにもエラー処理機能が存在します。
エラー処理の手順
- Try-Catchアクションを使用
- Try部分に通常処理、Catchにエラー時の処理を記述
- エラーメッセージをログ出力したり、フローを停止するか続行するかを制御
GUIベースで直感的に操作できるので、初心者でも比較的簡単に扱えます。
よくあるエラーと対応策
エラー例 | 原因 | 対処方法 |
---|---|---|
401 Unauthorized | 認証トークン切れ | 接続の再認証 |
404 Not Found | ファイル/URLが存在しない | 事前にファイル有無をチェック |
Timeout | 長時間待機で処理中断 | タイムアウト時間の延長や分割処理 |
変数が未定義 | 条件によって変数が未設定 | 初期値を入れておく or Nullチェック |
エラーを防ぐためのベストプラクティス
- すべてのアクションに「エラー後の処理」を設定する
- スコープで処理をまとめ、成功/失敗判定を明示的に行う
- ログは必ず残す(SharePointリスト、Excel、Dataverseなど)
- メールやチャット通知は必須
- 定期的にフローの実行履歴を確認する
まとめ:エラー処理は「保険」ではなく「必須」機能
Power Automateで業務を自動化する以上、「エラー処理」は避けられません。しかし、適切な処理を設定しておけば、たとえトラブルが起きてもフローを止めず、最小限の影響で済ませることができます。
本記事で紹介した「スコープ+条件判定」「Configure Run After」「ログ記録」といった基本テクニックを取り入れることで、あなたのPower Automateフローは一段と実用的で安定したものになるでしょう。