LoginSignup
12

More than 1 year has passed since last update.

Power Automate から Teams に投稿したアダプティブカードを更新する

Last updated at Posted at 2022-06-01

はじめに

Power Automate の Teamsコネクタに 「チャットやチャネルのアダプティブ カードを更新する」アクションが追加されます。
※現在(2022年6月1日時点)はPreview環境にて利用可能です。

Hiroさんがツィートしていらっしゃったので、簡単に試してみました。

1.「チャットやチャネルのアダプティブ カードを更新する」アクションについて

Teamsに投稿済みのアダプティブカードの表示内容をまるっと更新することができるアクションです。
アダプティブカードには、Action.ShowCardや、Action.ToggleVisibilityというアクションもありますが、これらによる表示内容の切り替えはカードの一部分のみです。
対して、当アクションはカードそのものの内容を更新可能です。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

投稿者や投稿先への設定値は、アダプティブカードを投稿するアクションと同じため割愛します。
特筆すべきは、更新対象のメッセージIDを指定することで、該当メッセージに新たにアダプティブカードを送信できる部分です。

メッセージIDは、

フロー内で投稿したメッセージであれば、動的なコンテンツから取得可能です。
image.png

また、既存のメッセージに対しては、[リンクをコピー]し、

image.png

クリップボートに保存されたURIから、パラメータのparentMessageIdの値で取得可能です。

https://teams.microsoft.com/l/message/ ~ 中略 ~ &parentMessageId= [メッセージID] &teamName= ~ 略

「1654069681408」のような数字の羅列になります。

2.利用例

当アクションの利用方法として、チャネルに投稿したアダプティブカードからの応答を元に、該当アダプティブカードの内容を更新するというものが考えられます。

image.png

①アダプティブカードを投稿し応答を待機

image.png

アダプティブカードに「Action.Submit」を埋め込み、投稿を待機します。

②アダプティブカードの応答に対し条件分岐

アダプティブカードに複数「Action.Submit」を埋め込んだ場合は、submitActionId を取得します。

image.png

③アダプティブカードを更新

先のアダプティブカードの応答を元に、カードの更新を行います。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

投稿先、チーム、チャネルは、上記の「①アダプティブカードを投稿し応答を待機」と合わせてください。

メッセージIDは、投稿時に割り振られますので、動的な値を取得します。

image.png

このような動作になります

3.ためしたこと

① 通常メッセージに対し「アダプティブカードを更新」

image.png

「チャットまたはチャネルでメッセージを投稿する」アクションで投稿したメッセージに、「チャットやチャネルのアダプティブ カードを更新する」

結果はHTMLがそのまま表示されますが、

image.png

ブラウザを更新すると、アダプティブカードが正しく表示されました。

image.png

② 別のユーザーが投稿したアダプティブカードに「アダプティブカードを更新」

他のユーザーが投稿したアダプティブカードに対し、「チャットやチャネルのアダプティブ カードを更新する」

結果は、エラーでした。投稿者とユーザーIDが異なるためNGのようです。

image.png

③ アダプティブカードの応答を待たずに「チャットやチャネルのアダプティブ カードを更新する」

image.png

このようなフローを作ります。
動作させると、自動的にアダプティブカードが更新されていきます。

アダプティブカードでパラパラ漫画が作れそうです(笑)

「チャットやチャネルのアダプティブ カードを更新する」は、ユーザーの応答を待つことはできません。
よってアダプティブカードの更新は実質1回のみとなります(パラパラ漫画でよければ別ですが)。

まとめ

投稿済みのアダプティブカードの内容を更新できる「チャットやチャネルのアダプティブ カードを更新する」アクションは、アダプティブカードの表示内容が変更できます。

投稿者当人でないと更新できない、ユーザーの応答に対し1度きりの更新のみ可能等、制約はありますが、ぜひご活用ください。

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
12