Notesへ戻る
Power Platformメモ
Power Automateのトリガー条件とは?フィルタリングの基本
Power Automateでトリガーが毎回発火してしまう問題と、トリガー条件・フィルタークエリを使った絞り込みの基本を整理したメモです。
Power Automateのトリガー条件とは?フィルタリングの基本
この記事の位置づけ
この記事は、Power Automateの初学者向け技術メモです。フローの動作は環境・コネクタ・バージョンによって変わることがあります。
実際のフローで動作を確認してください。
ざっくり言うと
Power Automateで「SharePointのアイテムが変更されたとき」などのトリガーを使うと、すべての変更で毎回フローが動いてしまうことがあります。
特定の列が変わったときだけ動かしたい、特定の条件を満たすときだけ動かしたい、という場合はトリガー条件やフィルタークエリを使って絞り込みができます。
よくある困りパターン
- ステータス列が「承認済み」になったときだけ通知を送りたいのに、毎回送られてしまう
- 特定の担当者のアイテムだけ処理したいのに、全アイテムで動いてしまう
- フローが動いても「条件」アクションで大半がスキップされてしまっていて無駄が多い
トリガー条件(Trigger Conditions)
トリガー自体に条件を設定することで、条件を満たさない場合はフローを起動させないようにできます。
設定場所
トリガーの「︙」(詳細設定)→「トリガー条件」から追加できます。
書き方の例
@equals(triggerBody()?['ステータス'], '承認済み')
ステータス列の値が「承認済み」と等しいときだけトリガーします。
@not(equals(triggerBody()?['AssignedTo']?['Email'], ''))
担当者が空でないときだけトリガーします。
トリガー条件のポイント
- 条件を満たさない場合はフロー自体が起動しない(実行履歴にも残らない)
- 複数の条件を設定すると「AND」として扱われる(すべて満たす場合だけ起動)
- 式の書き方は「式エディタ」と同じ書き方を使う
フィルタークエリ(SharePoint)
SharePointのトリガー・アクションではフィルタークエリを使ってサーバー側で件数を絞り込めます。
設定場所
SharePointの「アイテムの一覧表示」などのアクションで「フィルタークエリ」欄に入力します。
書き方の例
Status eq '承認済み'
AssignedTo/EMail eq 'tanaka@example.com'
Modified ge '2026-01-01T00:00:00Z'
フィルタークエリのポイント
- OData 形式で書く
- SharePoint の内部列名(英語列名)を使う必要がある
- 日本語の列名をつけていても内部名は英語のケースが多い
- 件数が多いリストでは、フィルタークエリで絞ってからApply to eachに渡すと処理が軽くなる
トリガー条件とフィルタークエリの使い分けの入口
| 方法 | 効果 | 使う場面 |
|---|---|---|
| トリガー条件 | フロー自体を起動させない | 起動数を減らしたい |
| フィルタークエリ | 取得するデータを絞る | 一覧取得の件数を減らしたい |
| 条件アクション | フロー内で分岐する | 起動はしてもよい、処理を分けたい |
注意点
トリガー条件に誤りがあると、意図した条件でもフローが起動しなくなります。
条件を変更した後は、テスト用のデータで意図通りに動くかを必ず確認してください。
また、フィルタークエリのOData式は、SharePointリストの列の内部名と型に依存します。日付型・ユーザー型・選択肢型では書き方が変わるため、動作確認が必要です。