MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

Microsoft 365 グループの表示名をもとにグループのメールアドレスを表示するフロー

Teamsなどでグループを作成すると、そのグループにはメールアドレスが割り当てられるのですが、日本語でグループを作ったりするとメールアドレスが "msteams_xxxx@contoso.com" みたいに推測不可なものになります。

探せないことはないのですが、普段使わない画面・サービスは操作方法忘れてしまうので、それならばと グループの表示名からグループのメールアドレスを検索・表示するフロー を作成しました。

以下のGIFのように動作します。日本語英語によらず、前方一致で該当するグループを拾ってきて表示名とメールアドレスを一覧にしてくれます。

今回作成したフローは以下からダウンロードできますので、よろしければご利用ください。

github.com

フロー解説

フローのトリガーには "From the compose box (V2)" を利用しています。このトリガーはユーザーの入力を受け付けるような簡易的なUIを提供できる点で非常に便利。

トリガーの入力を受けて、次のアクションで Office 365 groups コネクターの "List groups" アクションを実行しています。

この際、入力された文字列を使いたいので、

startswith(displayName,'入力された文字列')

というフィルターを書いています。これで前方一致でグループを見つけることができます。

検索結果をTeams側に返すためにAdaptive Cardを構成していきます。

テーブルのように検索結果一覧を表示したいので、Adaptive Card の Container コントロールを利用し、"Select" アクションと組み合わせて 繰り返しの構造を作っていきます。

このあたりは以前のブログを参照してください。

mofumofupower.hatenablog.com

最後に、トリガーするために表示した入力用のAdaptive Cardを更新します。

以上でフローが完成です。

おわり

Teams の トリガー "From the compose box" と、そのカードを更新するアクション "Respond in Teams task module" を利用すると普段使っている Teams の UIに独自のダイアログを提供することができます。 簡易的に入力を受け付けて情報を返すのにうってつけの組み合わせだと思いますので、ぜひ試してみてください。

mofumofupower.hatenablog.com