Power Apps から直接 Teams ユーザーにチャットを送れるか?
Power Apps x Teams 連携として、ユーザーに対して Power Apps から直接チャットを送る方法について考えてみます。
コネクタのリファレンスを確認
リファレンスを確認すると、[ PostMessageToConversation ]で実装できそうです。
チャットでメッセージを送信する
https://docs.microsoft.com/en-us/connectors/teams/#post-message-in-a-chat-or-channel
Type : dynamic の箇所が怪しい雰囲気を感じますね。
Power Apps で実装してみる
Power Apps で確認してみると、3つ必要な引数が2つまでしか指定できません。
Type : dynamic の部分が指定できない状態です。
Power Apps は動的スキーマに対応していない
Docs を探してみると、動的スキーマには対応していないという記述がありました。
Overview of canvas-app connectors for Power Apps - Actions
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/connections-list#actions
このように、Power Apps は動的スキーマに対応していません。
同様に引数によって動的に続く引数が変わるようなアクションは実行できないようです。
結論
Power Apps 単体ではユーザーにチャットを送信することは(標準機能では)できない。
代案
Power Automate を利用すると、フローボットとしてユーザーにチャットを送信できます。ボットとしてでよければ、こちらで代用しましょう。
場合によっては Graph API を利用
どうしてもやりたい場合は、Microsoft Graph API の利用を検討します。
チャットでメッセージを送信する
https://docs.microsoft.com/ja-jp/graph/api/chat-post-messages?view=graph-rest-1.0&tabs=http
ただ、少々手間が掛かりそうです。
無理にチャット機能を実装するより、別のアプローチを検討すべきかもしれません。
機能が無いということは、そういった使い方を想定していない、もしくはして欲しくない可能性があります。それに反するとドツボにはまる可能性が高いので、個人的にはあまりお薦めはできません。
まとめ
残念ながら Power Apps 単体でユーザーに対して Teams チャットを送信することは難しそうです。
私であれば Power Automate を利用した形で妥協すると思います。
Graph API は要件にもよりますが、なるべく使わない方向で検討する気がしますね。
PR
アプリ作成支援や導入支援サービスを提供しています。
Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport