背景
Teams で「リンクのコピー」が徐々に増えていっているのは有難いことですが、未だに「チャット」では取得出来ません。
ということで、昔から使ってる「リンクのコピー」生成 Automate を共有
Automate で実現することによる利点
- チャットでもリンクが取れるので、「メッセージ保存」「タスクの生成」以外の選択肢が作れる
- アクセス権がある人であれば、対象メッセージを共有しやすくなる。
- チャットの「返信」は便利ですが、チャネルだとコピペして ">" 引用しかないので。
- 検索した際に、前後メッセージがみたいのに表示されない!って時に使う事で、前後メッセージもみられる
実際の動作例
- リンクの欲しいメッセージを表示(検索結果でもOK)
- 対象メッセージで右クリックメニュー(検索結果でも使えるのがポイント)
- Submit を押して起動
- リンクが Automate Bot から送付されてきます。
概要
特に難しいことはしてなくて
- Teams メッセージでの Trigger
- 結果を編集して、Compose へ
- あとは、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 対応でもっと便利になってくれると期待