Notesへ戻る

Power Platformメモ

Power Automateのトリガー条件とは?フィルタリングの基本

Power Automateでトリガーが毎回発火してしまう問題と、トリガー条件・フィルタークエリを使った絞り込みの基本を整理したメモです。

Power Automateトリガー条件フィルタークエリSharePoint自動化

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リストの列の内部名と型に依存します。日付型・ユーザー型・選択肢型では書き方が変わるため、動作確認が必要です。

関連メモ・関連ツール