2026 年 11 月 6 日に更新しました
2 つの使い方の図、終了アクションで選べる状態、Try / Catch のスコープと組み合わせる使い方を加えました。
Power Automate でフローの最後の状態(成功・失敗)を思いどおりに決めるのに便利なアクション、「終了(Terminate)」を紹介します。
こちらもどうぞ
Power Automate のテスト効率化に向けたベストプラクティスこんにちは、Geek Fujiwaraです。 今回は、Power Automate クラウドフローのテスト効率化 について、多くのシナリオを実行する場合の効率性の課題と、それに対す…
「終了(Terminate)」アクションとは
「コントロール」の中にある「終了(Terminate)」は、フローの途中で処理を止め、フロー全体の状態を決めるアクションです。
| 選べる状態 | 使いどころ |
|---|---|
| 成功(Succeeded) | 想定内のエラーが出ても、フローは成功として終える |
| 失敗(Failed) | 本当のエラーで止める。コードとメッセージを入れて、理由を実行履歴に残せる |
| 取り消し(Cancelled) | 続ける必要がなくなったときに止める |
公式のガイドでも、重大なエラーのときは終了アクションで止め、状態とメッセージを入れて、あとで理由が分かるようにすることが勧められています(Employ robust error handling)。
2 つの使い方
パターン 1:想定内のエラーなら「成功」で終える
たとえば、繰り返し(Apply to each)の中で、いくつかの項目は成功し、いくつかは失敗したとします。失敗が「想定内のエラー」なら、フロー全体を失敗にはしたくありません。

このようなときに、終了アクションを次のように置きます。
- 繰り返しの外に終了アクションを置く:Apply to each の中には置けません(保存のときにエラーになります)。
- 終了アクションの状態を「成功(Succeeded)」にする:これで、フロー全体が成功になります。
- 実行条件を「直前の処理が失敗した場合」にする:想定内のエラーが出たときだけ、終了アクションが動きます。


フローが「失敗」として記録されると、あとで実行履歴を見返したり分析したりするのが大変になります。想定内のエラーは「成功」で終えることで、本当に見るべき失敗だけが残り、運用が楽になります。

パターン 2:本当のエラーは「失敗」で止め、理由を残す
本当のエラーは、逆に「失敗」としてはっきり残したいものです。このときは、スコープで Try / Catch の形を作ると分かりやすくなります(Use scopes to organize actions)。
- 本来の処理を「Try」という名前のスコープにまとめます。
- その下に「Catch」のスコープを作り、実行条件を「Try が失敗した場合」にします。
- Catch の中で、エラーを記録したり、担当者に通知したりします。
result('Try')で、Try の中のどのアクションが失敗したかを取り出せます。 - 最後に終了アクションを置き、状態を「失敗」にして、コードとメッセージを入れます。
こうしておくと、実行履歴を開いたときに、なぜ止まったのかがすぐに分かります。
ヒント
一時的な通信のエラーなら、終了で止める前に、アクションの設定の再試行のポリシー(指数間隔がおすすめ)で回復できることもあります。
まとめ
- 終了アクションで、フローの最後の状態を成功・失敗・取り消しから選べます。
- 想定内のエラーは「成功」で終え、本当のエラーは「失敗」にしてコードとメッセージを残します。
- 終了は繰り返しの中には置けません。スコープや条件の中には置けます。
ぜひ、皆さんのフローにも取り入れてみてください。
メルマガで新しい記事を受け取る
新しい記事や講座のお知らせを、メールでお届けします。いつでも配信を停止できます。
ご登録いただいたアドレスは、メルマガの配信にだけ使います。
あわせて学びたいオンライン講座
どの講座から始めればよいか、学ぶ順番をまとめています。





コメントを残す