Power Automateのトリガー条件で無駄な実行を減らす方法

はじめに
「ファイルが作成されるたびにフローが動くけれど、本当は特定の名前のファイルだけ処理したい」——こんなとき、フローの中に条件を置いて弾く方法もありますが、それだと毎回フローが起動して実行回数を消費し、実行履歴も無駄な記録で埋まってしまいます。
そこで使うのが「トリガー条件」です。条件に合わないイベントではそもそもフローを起動させないため、無駄な実行をゼロにできます。本記事では設定方法と、実際に「合致しないイベントは実行履歴にどう残るのか」を実測した結果を画面つきで解説します。
- フローが余計なイベントで動きすぎて実行回数が気になる
- 特定の条件を満たすときだけフローを起動させたい
- トリガー条件の式の書き方(プロパティ名)が分からない
Power Automate の基本・料金・他の実例一覧はこちら。

トリガー条件はどこで設定する?
トリガー条件は、トリガーの「設定」タブにあります。トリガーのカードを開き、「設定」→「トリガーの条件」セクションの「+ 追加」をクリックすると、式を入力するテキストボックスが1行表示されます。

入力する式は @ で始めるのがルールです(@ を付け忘れると式として評価されません)。ここでは OneDrive の「ファイルが作成されたとき」を例に、ファイル名が req_ で始まるときだけ起動する条件を設定します。
@startsWith(triggerOutputs()?['headers/x-ms-file-name'], 'req_')
正しいプロパティ名の調べ方
式に使うプロパティ名は、いったんトリガー条件なしでフローを1回動かし、実行履歴の生データから確認するのが確実です。トリガー条件を付ける前に、まず普通に起動することを確認しておきましょう。

- トリガー条件なしで1回実行する
- 実行履歴のトリガー(例:ファイルが作成されたとき)を開く
- 「未加工の出力を表示する」を開き、
headersの中にx-ms-file-nameがあることを確認する
正しい式を設定してから req_test1.txt を作成すると、条件に合致してフローが起動します。

合致しないイベントは「実行履歴に一切残らない」
条件に合致しない memo_test2.txt を作成しても、実行履歴には新しい行が一切追加されません。「スキップ」や「失敗」としてすら記録されず、そもそもイベントが来なかったかのように扱われます。
下は、合致ファイルの実行以降、非合致ファイルを投入して19分待っても新規実行が増えていない実行履歴です。

つまりトリガー条件は、実行回数のカウント自体が発生しないフィルターです。無駄な実行を本当にゼロにできます。
「条件アクション」で弾く方法との違い
同じ判定をフロー内の「条件」アクションでも実現できますが、挙動は大きく異なります。
条件アクションの場合、合致しなくても毎回フローは起動し、実行履歴に記録が残ります(分岐の「いいえ」側で止まるだけ)。

- トリガー条件:合致しなければ起動しない。実行履歴に残らず、実行回数も消費しない
- 条件アクション:毎回起動して履歴に残る。ログを残したい・複雑な分岐をしたい場合はこちら
まとめ
- トリガーの「設定」→「トリガーの条件」に
@始まりの式を入れる - プロパティ名は実機の生データで確認。 OneDriveのファイル名は
headers/x-ms-file-name - 合致しないイベントは履歴に残らず実行回数も消費しないのが最大のメリット
- ログを残したい・複雑な分岐が必要なら「条件」アクションを使う
フロー内で判定する「条件」アクションの詳しい使い方や、うまく動かない時の対処はこちらもどうぞ。







