Power Automate 繰り返し処理をしながら一日一回だけ実行
為替レートが公表されたかどうかをメールで通知するフローを作ってみました。
確認自体はできたけれど、これを定期的に実行し、なおかつ一回メールで通知したら、それ以降は通知しない仕組みが必要です。何度も通知メールが来たらたまりませんから。
繰り返し処理は容易
繰り返し処理は容易です。5分を指定すればそれで終わりです。
次の例ではタイムゾーンを指定していますが、開始時刻を使わないなら指定は不要だと思います。
メールを送ったらフローを無効にする
厄介だったのはメールを一回送ったらその日は送らないという仕組みです。
最初は、グローバル変数みたいなものを使って、最終実行日を記録し、次回実行時にそれをチェックして今日の日付なら送らない、という処理にしようかと思いました。
しかし、Power Autoamteでstatic変数みたいなものを用意できるのかどうか不明でした。
そこで検索してみたところ、予想外な方法が紹介されていました。それが実行しているフロー自体を無効にしてしまうというものです。
How to: Creating a “Run Once” Daily Trigger using Power Automate
なるほど、フローを無効にしてしまえば、次に有効になるまで二度とメールは送られることがありません。システムリソースも使わずに済みます。
条件に一致したら、メールを送信し、その次に自分自身のフローを無効にしてしまいます。
メール送信フローは別のフローで有効にする
無効にしたフローは、別のフローを使って有効にします。
次の例では、月曜から金曜の9時半にフローを有効化しています。
これで、9時半にフローを有効にしてチェックを開始し、メールを送信したら停止するという仕組みが用意できました。
なるほど!
フローを有効化する側のフローの間隔を調整すれば、1時間ごとに一回や一週間ごとに一回もできそうです。
コメント
コメントを投稿