LoginSignup
2
4

More than 1 year has passed since last update.

Power Automate: Teams のチャットでも「リンクのコピー」を取る。ついでに各種 ID も取得して Automate 開発の助けを

Last updated at Posted at 2022-01-25

背景

Teams で「リンクのコピー」が徐々に増えていっているのは有難いことですが、未だに「チャット」では取得出来ません。

ということで、昔から使ってる「リンクのコピー」生成 Automate を共有

こんな感じで、チャネルには有る筈のメニューが無い
image.png

Automate で実現することによる利点

  • チャットでもリンクが取れるので、「メッセージ保存」「タスクの生成」以外の選択肢が作れる
  • アクセス権がある人であれば、対象メッセージを共有しやすくなる。
    • チャットの「返信」は便利ですが、チャネルだとコピペして ">" 引用しかないので。
  • 検索した際に、前後メッセージがみたいのに表示されない!って時に使う事で、前後メッセージもみられる

実際の動作例

  1. リンクの欲しいメッセージを表示(検索結果でもOK)
    image.png
  2. 対象メッセージで右クリックメニュー(検索結果でも使えるのがポイント)
    image.png
  3. Submit を押して起動
    image.png
  4. リンクが Automate Bot から送付されてきます。
    image.png

概要

image.png

特に難しいことはしてなくて

  1. Teams メッセージでの Trigger
  2. 結果を編集して、Compose へ
  3. あとは、Compose.Outputs を Post するだけ
メッセージ表示用
<p><a href="@{triggerBody()?['entity']?['teamsFlowRunContext']?['messagePayload']?['linkToMessage']}">リンク元へ</a></p>
<p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['messagePayload']?['subject']}</p>
<blockquote>@{triggerBody()?['entity']?['teamsFlowRunContext']?['messagePayload']?['body']?['content']}</blockquote>
<table border = "1" cellspacing="1"  align="center" style="border: 1px ;color:silver;">
	<tr style="vertical-align: middle;">
		<td>Team ID</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['channelData']?['team']?['aadGroupId']}</p>	
        </tr>
	<tr  style="vertical-align: middle;">
		<td>Channel ID</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['channelData']?['channel']?['id']}</p></td>
	</tr>
	<tr  style="vertical-align: middle;">
		<td>Message ID</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['messagePayload']?['id']}</p></td>
	</tr>
	<tr  style="vertical-align: middle;">
		<td>Conversation Name</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['conversation']?['name']}</p></td>
	</tr>
	<tr  style="vertical-align: middle;">
		<td>Conversation ID</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['conversation']?['id']}</p></td>
	</tr>
	<tr  style="vertical-align: middle;">
		<td>Is Group</td>
		<td><p>@{triggerBody()?['entity']?['teamsFlowRunContext']?['conversation']?['isGroup']}</p></td>
	</tr>
</table>

ソースは、以下から取得して、Zip 化して Import

あとがき

Automate の Adaptive Card Editor に問題があって、現在編集出来ないみたいで、その辺りは説明省略したけど・・
Version 1.5 対応でもっと便利になってくれると期待 :laughing:

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4