このページの本文へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第51回

繰り返しトリガーで「毎月第1週目のみ」「偶数日のみ」といった起動条件を設定する

Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう

2025年07月15日 09時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

3. 今回作成するワークフロー

今回作成するワークフロー

 それでは、最初に取り上げた「毎月第1週目のみ」というトリガーの条件で、Power Automateのワークフローを作成してみましょう。「毎月第1週目の月曜日、午前9時に実行する」フローとします。

 今回のワークフローは上図のような形になります。「トリガーの条件」のサンプル用フローなので、アクションは「Teamsの指定チャネルにメッセージを投稿する」だけのシンプルなものです。

 なお、今回はクラシックデザイナーの画面で説明していますが、フローはモダンデザイナーでも同じように作成できます。

3-1. フローの新規作成

スケジュール済みクラウド フロー

 Power Automateのポータル画面で、左メニューの「+作成」をクリックし、「スケジュール済みクラウド フロー」を選択します。

スケジュール済みクラウド フローの設定

 開始日は、実際に繰り返しを開始したい日時よりも「前」の日時にしておきます ※注

※注:本来であれば、初回開始日時は「繰り返しを始めたい日時」そのものに合わせればよさそうですが、実際にそう設定すると正常にトリガーされないようです(実行日時がずれる)。そのため、たとえば開始前日などに設定しておくイメージです。また、フローの作成時点よりも過去の日付や、未来すぎる日付を設定すると、やはり正常にトリガーされない場合があるので注意してください。

 「毎月第1週目の月曜日」という条件なので、繰り返し間隔には「週」を選択したいところですが、ここでは「日」を選び、毎日トリガーが起動するようにします。実際のフロー実行条件は、この後の「トリガーの条件」でまとめて設定します。

 「フロー名」を入力して「作成」ボタンをクリックします。

3-2. トリガーの設定

トリガーの設定

 「繰り返し(Recurrence)」トリガーの「詳細オプションを表示する」をクリックします。表示される項目にはすでに値が入っているものもありますが、あらためて以下の内容を入力します。

 (1)タイムゾーン:「(UTC+9:00)大阪、札幌、東京」を選択
 (2)開始時刻:「2025-06-01T00:00:00.000」と入力(末尾にZを付けない ※注
 (3)設定時刻(時間):「9」にチェックを入れる
 (4)設定時刻(分):「0」を入力

※注:Power Automateの標準設定では、時刻を「UTC(協定世界時)」で扱います。時刻末尾の「Z」はUTCを表す記号ですが、ここでは「タイムゾーン」で日本標準時を選択しているため、「Z」は削除します。

 続いて「トリガーの条件」を入力する画面に切り替えます。「2-1. 「トリガーの条件」の設定方法」で説明したとおり、「繰り返し(Recurrence)」トリガー右上の「…」メニューから「設定」をクリックします。

トリガーの設定

 以下の式を「トリガーの条件」にコピー&ペーストします。改行による区切りはそのままで構いません。

@and(
equals(formatDateTime(addHours(utcNow(), 9), 'dddd'), 'Monday'),
lessOrEquals(dayOfMonth(addHours(utcNow(), 9)), 7)
)

 この式に含まれる関数の意味は、それぞれ次のとおりです。

 ・and(…):以下の2つの条件式が共に「true」であれば「true」

 《条件式1》
 ・addHours(utcNow(), 9):実行時点の日時を日本標準時で取得
 ・formatDateTime(…, 'dddd'):今日の曜日名(Mondayなど)を取得
 ・equals(…, 'Monday'):今日の曜日名が「Monday ※注」ならばtrue

 《条件式2》
 ・dayOfMonth(…):今日の日付を数値として取得(1~31)
 ・lessOrEquals(…, 7):日付が「7以下」の場合は第1週と判断しtrue

※注:取得できる曜日名は1文字目が大文字(Monday、Tuesday……)なので、equals関数で指定する曜日名もそのようにします。小文字('monday'など)で指定すると一致しません。

 「3-2. トリガーの設定」で設定したトリガーは「毎日午前9時」に起動しますが、上記の「トリガーの条件」によって、「日本時間で月曜日、かつ日付が1~7の間(つまり第1週目)」である場合のみ、以後のフローが実行されます。

カテゴリートップへ

この連載の記事
アクセスランキング
ピックアップ