ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Teamsのチーム内で敬称をつけたメンションを入力しやすくするPower Automate クラウドフロー

思い付きだけのネタフローです。

 

 

このフローで実現できること

  • チームメンバーの表示名+"_さん"のタグを一括作成します
  • メンションするときにタグを選択すれば敬称付きメンションです
  • メンバーがチームから脱退したり、ユーザーが削除されるとタグは自動的に削除されます(メンバーが存在しなくなったタグは自動削除されるTeamsの仕様?)

 

フロー実行イメージ

フローを実行すると、メンバーの表示名+”_さん”のタグが作られます。

メンションする時にタグを選択すれば、1アクションで敬称付きでお名前が表示されます。

 

フロー全体

既存メンバーの敬称タグを作成します。

フロー#1 初期導入用フロー

 

フロー#2 更新用フロー

フロー#1を実行した後で、新規でメンバー追加された際に敬称タグを作成するフローです。

 

フロー解説#1 初期導入用フロー

1.トリガー 手動でフローをトリガーします

このフローは初期導入時に既存メンバーのタグを作成するために使いますので、「手動でフローをトリガーします」トリガーで、手動で一度だけ実行します。

 

2.作成-TeamId

処理を実行するチームのIdを指定しています。

 

3.スコープ-チームメンバーの情報を取得する

チームのメンバー情報を取得します。Office 365 Group コネクタの「グループメンバーの一覧表示」アクションで取得します。

「選択-TeamMemberNameList」で、表示名のみのアレイを作成します。その際表示名に敬称"_さん"を付与します。敬称タグが存在しないユーザーを検出するために使用します。

「選択-TeamMemberNameAndIdList」で、表示名とIdのみのアレイを作成します。その際表示名に敬称"_さん"を付与します。

 

 

4.スコープ-敬称タグ情報を取得する

「チームのタグをすべて一覧表示する」アクションでチームの既存のタグを取得します。取得したタグから、タグ名の末尾が"_さん"で終わるもののみを抽出します。

「選択-TagNameList」でユーザーとの比較用に表示名のみのアレイを作成します。

 

5.スコープ-敬称タグがないユーザーのタグを作成する

5-1.アレイのフィルター処理-敬称タグがないユーザー

「選択-TeamMemberNameList」の出力(ユーザー表示名+"_さん") と 「選択-TagNameList」の出力(タグ名称)を比較して、敬称タグが存在しないユーザーを抽出しています。

フィルターアクション内でconains関数を使い、TagNameListに含まれていないユーザーを抽出しています。

 

5-2.Apply to each (タグを作成)

5-1でタグが存在しないユーザーの表示名のアレイが作られていますので、1つずつタグを作成しています。

「チームのタグを作成」アクションでタグを作成するためには、ユーザーのIdが必要になります。その為、「選択-TeamMemberNameAndIdList」の出力をフィルターしてIdを取得しています。

TeamIdとタグ名、取得したユーザーIdを指定してタグを作成します。

 

フロー解説#2 更新用フロー

新規でメンバー追加された際に敬称タグを作成するフローです。

1.トリガー 新しいチームメンバーが追加されたとき

このトリガーを指定することチームにメンバーが追加されたらフローが実行されます。

  • チーム
    • 敬称タグを作成するチーム

 

2.ユーザープロフィールの取得(V2)

1.の出力にはユーザーIDしかありませんので、ユーザープロフィールの取得アクションでユーザーの表示名を取得します。

  • ユーザー(UPN)
    • トリガーの出力のユーザーID

 

3.チームのタグを作成する

2で取得したユーザーの表示名+敬称"_さん" でタグを作成します。

  • チーム
    • trigger関数を使って、「新しいチームメンバーが追加されたとき」トリガーで指定したチームを参照しています。
  • 表示名
    • 2で取得したユーザー表示名+"_さん"
  • ユーザーID
    • トリガーの出力のユーザーID

 

 

残課題

  • ユーザーの表示名変更への追従
    • 今回のフローではユーザーの表示名が変更された場合には対応していません。フロー#1を実行すれば新しい表示名のタグは作成されますが、旧表示名のタグが削除されません。婚姻などによる改姓であれば旧姓でのメンションが引き続きできるというメリットにもなりますが...要検討です。
  • 最大200人までのメンバー数のチームで利用可能
    • タグの仕様としてチームごとの作成できるタグの上限が200までとなっているためです。
    • チームごとのタグの総数が200の為、ほかの用途でタグが使用されている場合はその数だけ敬称タグは使用できなくなります。
  • プライベートチャネル・共有チャネルでは使用できない
    • Teamsの仕様でタグが使用できない為解決は難しいです。

 

さいごに

敬称付加がルールとなっている場合にはこのようなフローで手間が軽減できるかもしれません。

※コンセプトのみで運用はしていません。

 

 

参考にしたサイト

trigger関数の存在を知ることができました。ありがとうございます✨✨✨

wataruf.hatenablog.com

 

learn.microsoft.com