みなさんは会社の業務で他課の人から定期的にデータを貰ったりすることはありませんか?
私の会社の人はよくそのデータ送信を忘れてしまうため、毎回催促メールを送っていましたが、
このフローを作ったことで抜けなくデータを貰えるようになりましたのでご紹介いたします。
フロー概要
フローはとても簡単です。構成は以下の通りです。
①トリガー:Recurrence(繰り返し)
②アクション:条件(今回の場合は第2、第4土曜日であることを条件とする)
③アクション:メールの送信(V2)
詳細については後述していきます。

①トリガー:Recurrence(繰り返し)
トリガーとして1週間に1回このフローが動作するようにしています。
・間隔:1
・頻度:週
・タイムゾーン:(UTC+9:00)大阪、札幌、東京
・開始時間:任意の日時
・これらの曜日に:土曜
・これらの時間に:1
・これらの分に:入力なし
上記の設定で毎週土曜の1:00時にこのフローが動作させることが出来ます。

②アクション:条件(今回の場合は第2、第4土曜日であることを条件とする)
ここでは毎週土曜にこのフローが動作するため、第2、第4土曜日だけメールを送りたいので関数を使用して動作した日が第2、第4週であるか確認をしています。
※この記事を書いていて気づきましたが、①トリガーで2週間ごと・土曜で設定することで
ここの条件アクションをなくせるのでは・・・と思いました。

条件は第2、第4週を判断したいので
・判定条件:または(OR)
・第一条件:関数①が2に等しい
・第二条件:関数①が4に等しい
ここで関数①とは以下の式を入力しています
関数①
div(
add(dayOfMonth(utcNow()), 6),
7
)関数①の中身は以下を実行しています
内側から順番に処理すると理解しやすいです。
- utcNow()
- 現在の日時(UTC)を取得します。
- 例:2026-08-08 なら「2026-08-08」の日時が返ります。
- dayOfMonth(utcNow())
- 現在の日付から「日」を取り出します。
- 例:2026-08-08 → 8
- 例:2026-08-25 → 25
- add(dayOfMonth(utcNow()), 6)
- 取り出した日に「6」を足します。
- 8日なら 8 + 6 = 14
- 25日なら 25 + 6 = 31
- div(…, 7)
- その結果を7で割ります。
- div は整数除算(小数点以下を切り捨て)です。
- 14 ÷ 7 = 2
- 31 ÷ 7 = 4
イメージすると次のようになります。
例えば日付ごとの結果は次のようになります。
この式は、「その日が月の第何週か」を簡易的に求めるためによく使われます。
- 1~7日 → 第1週(1)
- 8~14日 → 第2週(2)
- 15~21日 → 第3週(3)
- 22~28日 → 第4週(4)
- 29日以降 → 第5週(5)
つまり、「日付を7日ごとの区切りに分けて、第何週かを求める」ための式です
③アクション:メールの送信(V2)
ここではメールの送信内容を決めます
・宛先:データを送って貰いたい人のメールアドレス
・件名:任意の件名を入力
・本文:メールを見てデータを送ってほしいことが伝わる内容を入力。









コメント