はじめに
Power Apps や Power Automate で、例えば、お問い合わせを受け付けるシステムや、何かの予約を受け付けるシステムにおいて、依頼者や担当者に通知をしたいというシナリオがあります。
比較的簡単に実現できるのですが、データソースを SharePoint リストにしており、複数選択を許可しているユーザー列の全員に通知をしたい場合、少し癖があるので、方法について説明します。
データソースの用意
今回は、以下のようなシンプルな SharePoint リストの [通知先] の列を利用します。
Power Automate フローの作成
とりあえず、手動トリガーで複数の項目を取得し、[通知先] の列を使ってメールで通知をします。
ざっくりですが、以下のような感じで実現できます。
選択アクションで、通知先列の Email だけの配列を作成して、その配列を結合アクションに渡して文字列にします。セミコロン (;) で結合することで、アドレス1;アドレス2
といった、普段 Outlook で複数人にメールを送るときと同じように、複数のメールアドレスがセミコロンで結合された文字列になります。
ポイントは、以下の箇所です。
- 通知先
- 通知先 Email
それぞれの中身は以下のような表記です
@{items('Apply_to_each')?['OData__x8907__x6570_']}
@{item()?['Email']}
['OData__x8907__x6570_'] は [通知先] の列の内部名です。SharePoint リストをデータソースにする場合は、最初に英語名で列を作成しておくことをお勧めします。必要であれば、あとから日本語に変えます。この場合、内部名は最初に英語名で作成したもののままで、Power Apps から Power Automate で操作がしやすくなります。
実行結果
問題なく、複数のユーザーに通知されているようです。
※一旦、メール通知にしていますが、Teams に通知することも可能です。
ただしこの場合は、宛先ごとにループさせて通知する必要があると考えます。
こちらの方法は別途紹介しようと思います。