今回は、簡単なリマインダーアプリを作成していきたいと思います。

前回の記事から読みたい方はこちらからどうぞ👇

1.フローを作成する

前回、お伝えしたように先にフローから作成をしていきます!

フローの全体像

『延期期限』アクションで指定した時間になるまで待機して、その後、Teams でリマインダー通知を行います。

フローの作り方

①.フローの種類は、『インスタント クラウド フロー』を選択します。

②.フロー名を入力して、トリガーに『PowerApps』を選択します。

あれ?「Power Apps」じゃなくて、「PowerApps」になってる、、、

③.1つ目のアクションに、『スケジュール – 延期期限』を選択します。
『延期期限』アクションは、タイムスタンプで指定した時刻になるまで、次のアクションに進まず待機します。

項目設定値
タイムスタンプ『PowerApps で確認』を選択します。
※Power Apps でアプリを作成するときに、値を定義します。

④.2つ目のアクションに、『Microsoft Teams – メッセージをフローボットとしてユーザーに投稿する』を選択します。

項目設定値/内容
受信者任意の受信者(自分)を選択します。
メッセージ『PowerApps で確認』を選択します。
※Power Apps でアプリを作成するときに、値を定義します。
ヘッドラインメッセージの件名を指定できます。
概要通知やアクティビティに表示させるメッセージを指定できます。
IsAlertメッセージがアクティビティ表示されるかを指定できます。

2.アプリ画面を作成する

作成する画面イメージ

リマインドする日時と、送信するメッセージ内容を入力する画面を作成します。
右下の[送信]ボタンをクリックすると、フローが開始されるように設定していきます。

リマインド日時の入力項目の設定

まずは、日時を入力する項目を設定します。

キャプチャのようになるように、各アイテムを配置していきます。

アイテム名コントロールの種類内容
HintText1テキスト ラベル『いつリマインドしますか?』を表示
Separatorテキスト ラベル時間と分の間の『:』を表示
MinuteValueドロップダウン分の選択
HourValueドロップダウン時間の選択
DatePicker1日時の選択日付の選択

『HintText1』の Text プロパティには、「”いつリマインドしますか?”」といった文を、『Separator』の Text プロパティには、「”:”」を入力します。

『DatePicker1』はデフォルトのまま利用します。

『HourValue』と『MinuteValue』の Item プロパティには、下表のように入力します。

アイテム名Item プロパティの入力値
HourValue[“00″,”01″,”02″,”03″,”04″,”05″,”06″,”07″,”08″,”09″,”10″,”11″,”12″,”13″,”14″,”15″,”16″,”17″,”18″,”19″,”20″,”21″,”22″,”23”]
MinuteValue[“00″,”01″,”02″,”03″,”04″,”05″,”06″,”07″,”08″,”09″,”10″,”11″,”12″,”13″,”14″,”15″,”16″,”17″,”18″,”19″,”20″,”21″,”22″,”23″,”24″,”25″,”26″,”27″,”28″,”29″,”30″,”31″,”32″,”33″,”34″,”35″,”36″,”37″,”38″,”39″,”40″,”41″,”42″,”43″,”44″,”45″,”46″,”47″,”48″,”49″,”50″,”51″,”52″,”53″,”54″,”55″,”56″,”57″,”58″,”59”]
HourValueは0~23時、MinuteValueは0~59分から選択できるようにしています。ここの設定を変えることで、8~17時の間のみや、10分毎で選択可能にするといったことも可能です。
▲HourValueの設定イメージ

リマインド本文の入力項目の設定

メッセージ入力のための項目を、配置していきます。

アイテム名コントロールの種類内容
TextInput1テキスト入力メッセージ内容の入力
HintText1_1テキスト ラベル『何をリマインドしますか?』を表示

『HintText1_1』には、「”何をリマインドしますか?”」といった文を入力します。

『TextInput1』は、Default プロパティの値を消して、代わりに HintText プロパティに「”ボットさんから~”」といった任意の分を入力します。

『Default』と『HintText』の使い分け
Default:テキスト入力欄に既定で記入する文字を入力します。ユーザーが記入する内容がほぼ毎回同じになる場合、ここで設定することをお勧めします。
HintText:ユーザーに記入して欲しい内容の説明や、記入例を入力します。ここで設定した文字はグレーアウトしており、ユーザーが記入を開始すると文字は表示されなくなります。

送信ボタンの設定

今回のメインの設定部分です!
まずは、送信アイコンを右下に配置します。

アイコンをクリックした時の動作を、OnSelect プロパティに設定していきます。
OnSelect プロパティを選択している状態で、アクションタブ内にある「Power Automate」をクリックします。
「使用できるフロー」一覧から、作成したフローを選択します。

OnSelect プロパティに、『[作成したフロー名].Run()』と自動で入力されました。その少し上に、設定イメージが表示されています。


Run()の括弧内に、①.延期期限_タイムスタンプ、②.メッセージをフローボットとしてユーザーに投稿する_メッセージ の2つを設定するように表示されています。

この2つを設定していきたいと思います。

①の延期期限_タイムスタンプには、このように入力します。

Concatenate(Text(DatePicker1.SelectedDate,”yyyy-mm-dd”),”t”,HourValue.Selected.Value,”:”,MinuteValue.Selected.Value)

Text関数では、DatePicker1から選択した日付を”yyyy-mm-dd”に書式設定をしています。
Concatenate関数では、各値を連結して、”yyyy-mm-ddThh:mm(2021-06-30T15:01)”といった形になるようにしています。

②のメッセージをフローボットとしてユーザーに投稿する_メッセージには、「TextInput1.Text」をそのまま指定します。

①と②を合わせて、OnSelect プロパティには、このように設定します。

[フロー名].Run(Concatenate(Text(DatePicker1.SelectedDate,”yyyy-mm-dd”),”t”,HourValue.Selected.Value,”:”,MinuteValue.Selected.Value),TextInput1.Text)

3.通知してみた!

16:50に『もうすぐ5時ですね』という通知が来るように入力して、送信ボタンをクリック!!

16:50までの数分間、わくわくしながら待機…!
フローのテスト時の、わくわくどきどきする待ち時間っていいですよね。個人的には好きです(^・ェ・^)

通知が送られてきました!
ちゃんと16:50に送らて来ています👍

4.まとめ

  • Power Automate → Power Apps の順で作成します
  • Power Automate では、フロー作成時に、Power Apps から取得必要なデータを定義します
  • Power Apps では、実行するフローを選択して、フロー側で定義された必要なデータに対して、どのような値を渡すかを設定します

この記事を書き終わった後に、「Power Apps(V2)」トリガーの存在に気が付きました、、、
「Power Apps(V2)」の方が、新しくて分かりやすいと思うので、こちらの利用をオススメします!
また今度、新しいトリガーの使い方を投稿したいと思います!

トリガーやアクション等は、毎回新しいバージョンが出ていないか確認必要だと感じました!それか、常にキャッチアップしないとですね😃