Power Automateでフローが動かない時の対処法|エラー別の原因と直し方

はじめに
Power Automate を使っていると、必ず一度は「フローが動かない」「赤いエラーが出た」場面に出くわします。
エラーは大きく分けて
①保存しようとした時点で分かるものと
②実行して初めて分かるもの
があり、原因の探し方・直し方もそれぞれ違います。
本記事では、よく遭遇するエラーをエラーメッセージの原文つきで整理し、原因と直し方、そして「エラーが起きても止まらないフロー」を作る方法(Try-Catch)まで、実際の画面で解説します。
エラー文でそのまま検索して来た方も、該当箇所から読めます。
- フローが動かない・保存できない原因を切り分けたい
- エラーメッセージの意味と直し方を知りたい
- エラーが出ても途中で止まらないフローを作りたい
Power Automate の基本・料金・他の実例一覧はこちら。

保存できない時:フローチェッカーを見る
必須項目が空だったり設定に不備があると、保存時にブロックされます。たとえば「変数の設定」で名前を空のまま保存しようとすると、上部にエラーバナーが出て、フローチェッカー(右上のアイコン)が自動で開き、どのアクションの何が問題かが階層表示されます。

「保存できない」ときは、まずこのフローチェッカーの「エラー」タブを開いて、指摘されたアクションを直すのが基本の流れです。
注意:軽い構文ミスは「勝手に直されて」保存が通る
意外な挙動として、式の閉じ括弧を忘れる程度の軽い構文ミスは、式エディタに警告(「この式には問題があります」)が出るものの、保存時に自動修正されてそのまま通ってしまうことがあります。

下の例では concat('a' という閉じ括弧の欠けた式が、実行時には a として評価されていました。「保存が通ったから正しい」とは限らないので、式を書いたら必ずテスト実行して、出力が意図通りかを確認しましょう。

実行時によく出るエラーと直し方
存在しないプロパティを参照した(null参照)
取得したデータに無いキーを参照すると、次のようなエラーになります。
Unable to process template language expressions ... property '存在しないキー' cannot be selected. Property selection is not supported on values of type 'String'.原因は、参照しようとしたプロパティが実際のデータに存在しない、または想定と違う型(この例では文字列)だったこと。直し方は、実行履歴の「未加工の出力」で実際のデータ構造を確認し、正しいプロパティ名に直します。存在するか不確実な項目は ?[...] のセーフナビゲーションや coalesce() で保険をかけると安全です。

数値に変換できない値を変換した(型変換エラー)
int('abc') のように数値化できない文字列を int() に渡すと、次のエラーになります。
The template language function 'int' was invoked with a parameter that is not valid. The value cannot be converted to the target type.直し方は、変換前の値が本当に数字だけかを確認すること。空欄や記号混じりの可能性があるなら、条件アクションで事前チェックするか、後述の Try-Catch でエラーを受け止めます。

失敗した実行を見つけて「再送信」する
フローが失敗したら、実行履歴で原因を調べます。右上の「すべての実行」ドロップダウンから「失敗した実行」を選ぶと、失敗分だけに絞り込めます。

原因を直したら、失敗した実行にチェックを入れて「フロー実行を再送信する」ボタンを押せば、同じ入力でやり直せます(トリガーからやり直す必要がありません)。

なお「認証エラー」「接続できない」系は、左メニューの「接続」ページで各コネクタの状態を確認し、切れている接続を再認証すると直ることが多いです。
エラーが起きても止まらないフロー(Try-Catch)
最後に実践テクニックです。「スコープ」アクションと実行条件(この後に実行する)を組み合わせると、プログラミングの Try-Catch のような「エラーを受け止めて後処理する」構成が作れます。
- 「スコープ」を2つ置く(Try と Catch)
- Try の中に本来の処理を入れる
- Catch の「設定」→「この後に実行する」で、Try が「失敗しました」の時だけ実行するように変更

こうすると、Try がエラーになっても Catch が後始末(通知やログ記録など)を行い、フロー全体としては正常終了扱いになります。下は Try が失敗(赤)・Catch が成功(緑)となり、上部に「正常に実行されました」と表示された結果です。

まとめ
- 保存できない時はフローチェッカーで指摘箇所を直す。軽い構文ミスは自動修正されるので必ずテスト実行を
- 実行時エラーは「未加工の出力」で実データを確認。null参照・型変換が2大パターン
- 失敗した実行は絞り込んで「再送信」。接続エラーは接続ページで再認証
- スコープ+実行条件で Try-Catch。エラーを受け止めて止まらないフローにできる
エラーを未然に防ぐには、そもそもの条件分岐やトリガー条件の設計も大切です。あわせてどうぞ。







