件名フィルターではできない。
Power Automate にて、Outlook 365コネクタの「新しいメールが届いたとき」のトリガーを使うときに、複数キーワードによるAND検索やOR検索でトリガーする方法について解説します。
▲通常、件名フィルターの設定項目のところでは、複数キーワードを条件として記述することができません。このときに使えるのが「トリガー条件」です。
ダメな例
まず、上図のように件名フィルタのところに、複数キーワードをスペースで指定してみました。「週報」あるいは「日報」いづれかのキーワードが含まれる場合にトリガーしてくれることを望んだのですが機能しませんでした。
トリガー条件の設定方法
まず、「メールタイトルに「週報」か「日報」というキーワードが含まれていたら」という条件を例に作成していきますね。
トリガー条件セクションにある「+追加」をクリックします。
詳細は次項で解説しますが、ワークフロー定義言語の関数を使って下記のように指定します。
▼メールタイトルが「週報」あるいは「日報」にマッチ @or(contains(triggerBody()?['Subject'], '週報'),contains(triggerBody()?['Subject'], '日報'))
▲トリガー条件を入力したら完了をクリックします。
▲トリガー条件を設定するときは、件名フィルター欄は空欄で問題ありません。
以上でトリガーアクションの設定が完了しました。フローにその他アクションを追加してフローが完成したらテストしてみましょう。
ワークフロー定義言語の関数 使用例
トリガー条件に利用した関数はAzure Logic Appsのワークフロー定義言語と呼ばれる言語で使われる関数です。Power Automateでも利用することができます。下記のように使います。
メールタイトルに「週報」が含まれていたらマッチ @contains(triggerBody()?['Subject'], '週報')
メールタイトルが「週報」に完全一致したらマッチ @equals(triggerBody()?['Subject'], '週報')
▼メールタイトルが「週報」あるいは「日報」のいづれかにマッチ @or(contains(triggerBody()?['Subject'], '週報'),contains(triggerBody()?['Subject'], '日報'))
▼メールタイトルが「日報」と「日次報告」の両方ともにマッチ @and(contains(triggerBody()?['Subject'], '日報'),contains(triggerBody()?['Subject'], '日次報告'))
その他の関数、詳細は公式ドキュメントをご確認ください。
Power Automateを学ぶ
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。