前回ChatGPTがオススメするアプリとしてタスク管理アプリを作りました。
今回はこのタスク管理アプリの拡張として、タスクの期限の日になったらリマインドとして自分のスマホにプッシュ通知するフローを作りました。
PowerAutomateでフローを作る
PowerAppsのアプリ、SharePointのリストは前回の記事でできているので早速PowerAutomateのフローを作ります。
全体としては以下画像のようになります。
トリガーを設定する
トリガーとはフローが起動する条件のことです。
今回は毎日9時に起動するということにします。
5分毎に起動して時間の10分前になったらプッシュ通知をする、というようにもできますが、
5分毎に起動だと起動回数が多くてうっとうしいので1日1回起動とします。
スケジュールカテゴリーから「繰り返し」トリガーを追加します。
設定は以下画像の通り、間隔を1日にして設定時刻を9時にします。
今日の日付を取得する
続いて起動した日が何日なのかを取得します。
日時カテゴリーから「現在の時刻」、「タイムゾーンの変換」を追加します。
以下画像の通り、現在の時刻は設定不要です。
タイムゾーンの変換では基準時間に現在の時刻。
日付だけほしいので書式設定文字列は時間が入っていない形式を設定。
変換設定は標準時から日本時間に変換します。
リストの期限から日付を取得する
次はタスク管理アプリのリストから期限を取得してそれを日付に変換します。
SharePointカテゴリから「複数の項目の取得」を追加します。
設定は以下画像の通り、SharePointのサイトアドレスとリスト名を追加します。
次に日時カテゴリから「タイムゾーンの変換」を追加します。
基準時間には「複数の項目の取得」の「期限」を設定します。
書式設定文字列と変換ゾーンは先ほどの「タイムゾーンの変換」と同様に設定します。
基準時間に「複数の項目の取得」の「期限」を設定すると「Apply to each」という枠の中に入りますが、特に問題ありません。
今日の日付と期限の日付を比較する
期限の日付が今日かどうかを比較します。
コントロールカテゴリから「条件」を追加します。
特に名前を変えてなければ「タイムゾーンの変換」と「タイムゾーンの変換2」のようになっているので、それぞれの値が等しいかを比較します。
いいえの場合は特に何も処理を追加しません。
はいの場合は担当者が自分かどうかの処理を追加します。
担当者が自分かを比較する
担当者が自分じゃないのにプッシュ通知されても邪魔なだけなので、担当者が自分かどうかの比較をします。
コントロールカテゴリから「条件」を追加します。
「複数の項目の取得」から名前_DisplayNameと自分の名前が等しいかを比較します。
メールアドレスで比較するなど別の方法もありますが、結局自分専用なので何でも大丈夫です。
いいえの場合は特に何も処理を追加しません。
はいの場合はプッシュ通知の処理を追加します。
プッシュ通知の設定をする
期限の日付が今日で担当者が自分の場合(どちらもはいの場合)、プッシュ通知をします。
Notificationsカテゴリから「モバイル通知を受け取る」を追加します。
テキスト内容は何でもいいので、期限とタイトルを表示します。
実際にプッシュ通知がくるために必要なこと
ここまででフローは完成していて、フローのテストも成功しているがプッシュ通知が来ない!
と私はなりました。
どうやらスマホ側でPowerAutomateにログインしていないと、プッシュ通知が来ないようです。
PowerAutomateにログインしてテストしてみたらプッシュ通知きました。
まとめ
プッシュ通知がくることでそこそこ便利になりました。
まだまだスケジュールアプリをダウンロードした方が15倍くらい便利なレベルですが、
既存のアプリでこんな機能が欲しいって部分を自分でアレンジできるのが良いところです。
普段からMicrosoft365を導入しているチームであれば、PowerApps、SharePoint、PowerAutomateを組み合わせることで簡単にアプリが作れるので是非使ってみてください。