Power Automateのトリガー条件式で個人的によく使ったりよく質問される条件式をメモ。
トリガー条件式
Power Automateのトリガー条件式は、トリガーを実行する条件を設定できる機能。





今回はこのトリガー条件式で個人的によく使う処理をまとめる。
日時

曜日
まずは曜日。平日のみ実行したいフローや、土日のみ起動したいフローによく使用。
※祝日はトリガー条件式では難しい(固定値で指定すれば不可能ではないけどめんどくさい。。)ので、フロー内の条件式ではじくことが多い。
// 月~金のみ起動 @and( greaterOrEquals(dayOfWeek(addHours(utcNow(), 9)), 1), lessOrEquals(dayOfWeek(addHours(utcNow(), 9)), 5) ) // 土、日のみ起動 @or( equals(dayOfWeek(addHours(utcNow(), 9)), 0), equals(dayOfWeek(addHours(utcNow(), 9)), 6) ) // 特定曜日のみ起動(例では水曜日のみ実行) @equals(dayOfWeek(addHours(utcNow(), 9)), 3) //dayOfWeek関数の結果:日=0, 月=1, 火=2, 水=3, 木=4, 金=5, 土=6
時間
続いて時間。業務時間内や業務時間外に実行したいフローによく使用。
// 業務時間内(例では「09:00 ~ 18:00」が業務時間の場合) @and( greaterOrEquals(addHours(utcNow(), 9, 'HH:mm'), '09:00'), //(時間は必ず24h形式0埋めで記載すること) lessOrEquals(addHours(utcNow(), 9, 'HH:mm'), '18:00') ) // 業務時間外(例では「~08:59 or 18:01~」のみ実行) @or( less(addHours(utcNow(), 9, 'HH:mm'), '09:00'), greater(addHours(utcNow(), 9, 'HH:mm'), '18:00') )
Outlook

// 特定の差出人(例ではsample@example.com)からのメールのみ起動 @equals(triggerOutputs()?['body/from'], 'sample@example.com') // 特定のメールアドレスが複数ある場合 @or( equals(triggerOutputs()?['body/from'], 'sample1@example.com'), equals(triggerOutputs()?['body/from'], 'sample2@example.com') ) // 特定のドメインから来たメールのみ起動 @endsWith(toLower(triggerOutputs()?['body/from']), '@example.com') // 特定のドメインが複数ある場合 @or( endsWith(toLower(triggerOutputs()?['body/from']), '@example.com'), endsWith(toLower(triggerOutputs()?['body/from']), '@example.org') ) // 件名に特定の文字列(例では「請求書」)を含む場合のみ起動 @contains(triggerOutputs()?['body/subject'], '請求書')
SharePoint, OneDrive

// 特定の拡張子(例では.pdf)のときのみ起動
@endsWith(toLower(triggerOutputs()?['body/{FilenameWithExtension}']), '.pdf')
// 特定の文字列(例では「請求書」がファイル名に含まれる場合のみ起動
@contains(triggerOutputs()?['body/{FilenameWithExtension}'], '請求書')
SharePointリスト

動作確認
以降はそれぞれの式の動作確認。興味のある方のみどうぞ。
日時

曜日




時間



※フロー保存のタイミングにより22:11はスキップ。

Outlook







SharePoint











コメント