月1回ではなく月2回 #powerautomate のフローを動かす方法
月1回ではなく月2回 Power Automate のフローを動かす方法 この記事の内容 Power Automate の繰り返しトリガーは「毎月第〇日」のような細かい指定ができないため、別のアプローチが必要です 毎日実行するスケジュールを組み、「今日が何日か」を条件判断することで月2回実行を実現できます UTC の現在時刻を日本標準時に変換してから日付を取得することが重要なポイントです dayOfMonth() 関数を使うと、タイムスタンプから「日」の部分だけを抽出できます 条件分岐を組み合わせることで、指定した日だけチームズにメッセージを投稿するフローが完成します 背景:月2回の定期実行は繰り返しトリガーだけでは難しい Power Automate の Teams アプリ内でフローを作成する際、スケジュールトリガーとして「繰り返し」を選択できます。この繰り返しトリガーでは、実行間隔を「分・時間・日・週・月」などの単位で指定できます。 しかし、「毎月10日と末日」のように月2回の特定日を直接指定することはできません。そのため、別のアプローチを取る必要があります。 解決策の考え方 月2回実行したい場合の方法はいくつかありますが、シンプルな方法として次の2つが考えられます。 方法1:同じフローを2つ作る 1つ目のフローを「10日にスタートして、1か月に1回実行」に設定 2つ目のフローを「末日にスタートして、1か月に1回実行」に設定 この方法は構成がシンプルで、条件分岐を書く必要がありません。 方法2:毎日実行して条件で振り分ける(本記事で詳しく解説) 毎日実行するフローを1つ作成し、「今日が対象の日付かどうか」を条件で判断する 本記事では方法2を詳しく解説します。 フローの作成手順 1. トリガーの設定 Teams アプリ内の Power Automate から新しいフローを「一から作成」します。トリガーには「組み込み」の「繰り返し」を選択します。 間隔:1 頻度:日 開始時刻:任意の日付・時刻(例:午前10時) タイムゾーン:(UTC+09:00) 大阪、札幌、東京 タイムゾーンは日本時間に合わせておくと管理しやすくなります。 2. 現在の日本時間を取得する 繰り返しトリガーの直後に、現在時刻を日本標準時に変換するアクションを追加します。 アクション:タイムゾーンの変換 基準時刻:utcNow()(現在のUTC時刻) 変換元のタイムゾーン:(UTC) 協定世界時 変換先のタイムゾーン:(UTC+09:00) 大阪、札幌、東京 Power Automate の utcNow() は UTC で時刻を返すため、そのまま使うと日本時間と最大9時間ずれが生じます。必ずタイムゾーン変換を行ってから日付を取得してください。 変換を省略すると、日付が変わる前後の時間帯で意図しない動作になる可能性があります。 3. 日付の「日」部分を取得する タイムゾーン変換後の時刻から、「何日か」だけを取り出します。ここでは dayOfMonth() 関数を使います。 アクション:データ操作 > 作成 入力欄に以下の式を入力します。 ...