Teamsにリマインダー機能を追加したい 続き

メッセージをリマインド DX

前回の記事の続きになりますので、まだ読んでいない方はそちらの記事から読むと流れが分かりやすいかと思います!

前回の記事はこちらです。

テンプレートを改造して作成したPower Automate

さて、テンプレートを改造したフローは以下の通りです!

リマインダーを通知するPower Automate

ちなみに、実際にこのフローを使って実行すると以下のような流れになります。

まずはTeamsから通知したメッセージの「・・・」にカーソルを合わせます。そうしたら、「メッセージをリマインド」を選択します。

メッセージをリマインド

そうすると以下のようなポップアップが表示されます。

いつリマインドしますか?

性格上、入力の項目が多いと使いたくなくなってしまうので、最小限にしてみました。

slackのリマインドのショートカットを意識してみました。

プルダウンから選ぶ項目としては、こんな感じしています。

プルダウン

実際の通知は以下のような感じになります。

通知画面

アプリ上ではこんな感じです。時間は気にしないでください笑

アプリ上の通知画面

さて、テンプレートを参照した方は分かると思いますが、テンプレートを大きくは変更していません。自分のやりたいことをちょこちょこ入れて、既存のフローは活かして改造しています。

改造したポイントを次の章でピックアップしていきます!

改造した箇所

まずはこちらです!冒頭の選択したメッセージからPower Automateを起動する部分!

選択したメッセージの場合

このアクションの中でポップアップ画面を編集します。

アダプティブカード

CARD ELEMENTの中から「Input.choiceSet」をドラッグアンドドロップしてカードに置きます。(表現があっているか不安)

今回、私は何分後という問いにしたいので何分後を選択肢として用意しています。

choiceset

計算がしやすいように裏で持つ数字は全て「分」単位にしています。

続いては通知時間をPower Automateに渡したいので、日時の計算をするための処理を行います。

最初に現在の日付を取得します。形式としては「yyyy-MM-dd」

現在日付

値に入力している値は「formatDateTime(convertTimeZone(utcNow(), ‘UTC’, ‘Tokyo Standard Time’), ‘yyyy-MM-dd’)」になります。utcNow()で現在の日時(たぶんアメリカ?)を取得でき、その値を日本の時間に変換し、変換した値をyyyy-MM-ddに変換みたいなことをしていると認識していますが、間違っていたらすみません。

続いて計算用の日時を取得します。

現在の日付(計算用)

値に入れているのは、現在の日時(タイムスタンプ込)です!「convertTimeZone(utcNow(), ‘UTC’, ‘Tokyo Standard Time’)」

続いては、アダプティブカードから選択した、何分の値を変数に退避させます。

何分後

これは特に難しいことをしていないので次にいきます。

↑で取得した値「何分後」を数値型に変換します。

数値変換

値に入力している式としてはこんな感じです→「int(variables(‘何分後’))」

時間を計算するための変数を作成します。

時間計算

やっていることは非常にシンプル!計算用の日付に何分後を足して、それをHH:mm形式で出力です!

「addMinutes(variables(‘現在日付(計算用)’),variables(‘何分後(整数)’),’HH:mm’)」

最後に既存の変数に値を渡して完成です!

リマインド時間作成

まとめ

今回はPower Automaeteでリマインダー機能を追加してみました。

勘のいい方はお気づきかもしれないですが、日中の業務中に↑のフローを使うことは特段問題ないですが、日付が変わる前だったりに触ると正常に動きません。。。笑

日付と時間を分けて作成してしまっているため。。。

ちなみに選択肢「1日後」セットした瞬間に通知きますww

とまぁバグは多少あるものの、日中業務をする上での使用なら問題なし!

もともと私がslackで使っていたリマインド機能をTeamsでも出来ないかなと思って少しだけテンプレートに手を加えて作成してみました。

もっといい方法があるなどありましたら是非コメントで教えてください!

では、また次の記事で!

コメント

タイトルとURLをコピーしました