【Power Automate】毎月、特定の日に複数人にTeamsのメッセージを送る機能の作成

## はじめに

###やりたいこと
・なるべく簡単な方法で、通知機能を作成したい。
・毎月、特定の日に複数の人達にTeamsで通知を送る。
・日付ごとにフローを分けずに、１つのフローで実現したい。

###作成するフローの概要
・毎日起動し、「現在の日付＝通知を送る日付」の場合だけメッセージを送るというフローを作成する。
・現在の日付を取得し、通知を送る日付を条件式で判定する。

###準備
・Power Automate
・Microsoft Teams
(どちらも無料プランでOK）

##フローの作成の準備
ここではPower Automateでフローを作成する前の準備を行います。

1.Power Automateにログインし、作成を選択します。
2.「スケジュール済みクラウドフロー」を選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/35ddaf9d-0494-6351-c067-5b8cbc859137.png)

3.「スケジュール済みクラウドフロー」をクリックすると以下のような画面がでてきますので以下のように設定して作成を選択してください。

・フロー名:自由(ここではメッセージ通知としました)
・開始日:今日の日付
・時間:今回は午前9時に設定しました
・繰り返し間隔:以下の画像のようにしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/f87c0c1d-3187-3d8a-dfd7-b792412c38fc.png)

4.作成を選択すると以下のような画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/9c5908fd-9d0c-c833-cd51-949d62a70344.png)




##フロー作成
ここから実際にフローを作成していきます。
まずはメッセージを送る時間から設定していきます。

###メッセージを送る時間の設定

1.時計マークのRecurrenceをクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/83400753-92fc-ed43-d1a1-b8e6c3a46663.png)
2.以下のようになるので編集をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/c557df98-252f-fdaa-cd8b-d2573a9d2b07.png)
3.「詳細オプションを表示する」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/3dfac910-0bcd-9144-1c83-1b5b35a9e47d.png)
4.以下のような画面になるのでまずはタイムゾーンを(UTC+09:00) 大阪、札幌、東京に設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/e50435fe-9930-ce32-6d1b-db2cbdccab47.png)
5.開始時刻末尾の「Z｝を消去してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/b0f357e9-dbac-890a-3406-36ea52e7a444.png)
**↓**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/6ed49e66-e957-43d4-afb7-e2b270ecc16a.png)
6.「設定時刻」の項目でメッセージを送りたい時間を設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/3829be02-b060-ca44-6173-27d073fb44a2.png)


これで時間の設定は完了です。

※5の開始時刻末尾「Z」消去について
https://docs.microsoft.com/ja-jp/azure/connectors/connectors-native-recurrence
>重要: タイム ゾーンを選択しない場合は、末尾にスペースを入れず、アルファベットの "Z" を追加してください。 この "Z" は、同等の航海時間を表します。 タイム ゾーンの値を選択した場合は、開始時刻 の値の末尾に "Z" を追加する必要はありません。 行った場合、"Z" は UTC 時刻形式を示すため、Logic Apps ではタイム ゾーンの値が無視されます。

##各変数の設定
ここでは後に日付や送るメッセージを設定する時に条件式で使う各変数を設定していきます。

###現在の日付の取得
1.「+新しいステップ」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/38287a15-f115-8e18-7ef1-ac73496dca82.png)

2.以下のような画面になるので検索欄に「変数」と入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/2566dfb6-0527-7883-48a1-28d0b22936fc.png)
3.検索結果が表示されるので「変数を初期化する」を選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/232a39a4-f920-5261-7751-534c4ca02430.png)
3.これでフローに変数を初期化するステップが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/df9f3b6d-612f-cc13-8b03-8f229b72d482.png)
4.名前と種類を以下のように設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/c9802ae6-5244-0997-0cfd-e09aa6e4e055.png)
5.値の入力欄をクリックすると以下のような画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/907d7e23-a044-6870-2a0f-5c3ab04fcca5.png)

6.枠の中の式をクリックし、以下のような画面にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/3c4ae16a-139a-7a98-49b9-058bebfe0b89.png)
7.入力欄に「**int(dayOfMonth(utcNow()))**」と入力しOKをクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/457eaf29-99b7-1115-bff3-3fe62a247d6a.png)
8.これで現在の日付を取得する変数の設定は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/7a0ad6b4-71aa-45ca-5bc5-4da8f2297067.png)


###メッセージを送る相手の設定
1.現在の日付の取得の時と同じように新しいステップをクリックし、検索欄に変数と入力して変数の初期化を選んでください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/7e44f494-90b2-541f-495f-2ba629f5b4fb.png)
2.名前と種類を以下のように設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/575b7832-2fa7-9c5b-6301-b92185b407e6.png)
3.値の入力欄をクリックし、以下のようにしてメールアドレスを入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/3a7cca0e-2085-5ff9-b639-c1fc58fe7896.png)



「aaa@mail.com」の部分にメッセージを送りたい相手のメールアドレスを設定してください。自分に送ることもできるので
まずは自分のメールアドレスを設定してみましょう。

```
[
  "aaa@mail.com"
]
```
複数の相手に送りたい場合は以下のようにします。

```
[
  "aaa@mail.com",
  "bbb@mail.com",
  "ccc@mail.com"
]
```
4.これでメッセージを送る相手の設定は完了です。
###送りたい日付を条件式で設定
先ほど設定した変数を使い条件式を設定します。ここでメッセージを送りたい日付を設定することができます。

1.新しいステップをクリックし、「コントロール」を選択してください。
（コントロールが表示されていない場合は検索欄に「コントロール」と入力してください。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/2c2e64b6-379e-7e3e-3144-e125bea389d1.png)
2.「条件」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/48314e0f-497d-5e20-151a-81b7b54f8a26.png)
3.以下のような画面になります。赤枠の中の条件の部分でメッセージを送りたい日付を設定していくことになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/f5dfef96-826a-91bc-1106-7f939e6392aa.png)
4.左側の値の選択をクリックし、Dayを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/da1d3257-a781-b5a1-540f-d41a684b18b7.png)
5.次に右側の値の選択をクリックし,メッセージを送りたい日付を***半角数字のみ***で入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/73e0ab04-aac7-7cea-0b02-9fe55b13e3d4.png)


***※複数の日付を設定したい場合は以下のようにしてください。***
・追加をクリックし、行の追加を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/6e476582-099e-1113-f0bf-9729bdfbb2ec.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/ad037f6c-b3b7-db37-0aea-be8914099065.png)
・以下のようになるので、Andをクリックし「または」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/dad3ba67-dc1a-0072-18c5-bf443f616ac8.png)
・左側はDayを選択し、右側に別の日付を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/191dcca1-26fd-61c9-4d7e-a9c6242e6812.png)


これでメッセージを送りたい日付の設定は完了です。

###メッセージの設定

ここでは実際に送るメッセージを設定していきます。

1.「はいの場合」の方のアクションの追加をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/5145a5e1-1119-fd7f-3ccd-a71f323d3f3f.png)
2.「組み込み」を選択し、検索欄に「Apply to each」と入力。検索結果の「Apply to each」を選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/445e7363-fef6-1fbb-6fb9-b48ca958d5bd.png)
3.入力欄をクリックし、「UserEmailAdress」を選択。その後、***Apply to each内の「アクションの追加」をクリックしてください。***
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/ab09f7aa-9dd9-5719-5e92-45b1a44f86ed.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/c1d67fcf-160b-5cfa-ef36-08731a102b73.png)
4.「Microsoft Teams」を選択し、「チャットまたはチャネルメッセージを投稿する」を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/fd317dde-5d6d-f555-0a15-b5154e461658.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/373816ec-699c-ec8c-0d60-de3ddf7b2ec4.png)
5.「投稿者」の部分はそのままで「投稿先」の入力欄をクリックし、「Chat with Flow bot」を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/70a9ca4d-b3ed-3cbb-6dc5-6e0d8a56ebd6.png)
6.「Recipient」の入力欄をクリックし、「現在のアイテム」を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/0ebc779a-3c76-2da7-4ed4-4ae734ef8b83.png)
7.あとは「Message」の欄に送りたいメッセージを入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/1458d6fb-c93d-d514-cba7-86c989b5b82d.png)
これで全ての設定は完了です。最後に画面下の「保存」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/a36abbda-a07e-dd7a-22d0-6e1a04479af0.png)


後はPower Automateからチャット欄に以下のように指定された日付と時間にメッセージが送られてくればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2127528/d7c11219-814f-f60e-862c-0fbfbdb08444.png)