はじめに
Power Automate の Teamsコネクタに 「チャットやチャネルのアダプティブ カードを更新する」アクションが追加されます。
※現在(2022年6月1日時点)はPreview環境にて利用可能です。
Hiroさんがツィートしていらっしゃったので、簡単に試してみました。
これまでユーザーの応答内容を使ってカードを更新することはできませんでした。
— Hiro (@mofumofu_dance) May 27, 2022
今回のアップデートによって、AdaptiveCardへの入力を拾って、カードを更新することができるようになりました。これはかなり幅広いユースケースに対応できると思います。 https://t.co/InianyE5os
1.「チャットやチャネルのアダプティブ カードを更新する」アクションについて
Teamsに投稿済みのアダプティブカードの表示内容をまるっと更新することができるアクションです。
アダプティブカードには、Action.ShowCard
や、Action.ToggleVisibility
というアクションもありますが、これらによる表示内容の切り替えはカードの一部分のみです。
対して、当アクションはカードそのものの内容を更新可能です。
投稿者や投稿先への設定値は、アダプティブカードを投稿するアクションと同じため割愛します。
特筆すべきは、更新対象のメッセージIDを指定することで、該当メッセージに新たにアダプティブカードを送信できる部分です。
メッセージIDは、
フロー内で投稿したメッセージであれば、動的なコンテンツから取得可能です。
また、既存のメッセージに対しては、[リンクをコピー]し、
クリップボートに保存されたURIから、パラメータのparentMessageId
の値で取得可能です。
https://teams.microsoft.com/l/message/ ~ 中略 ~ &parentMessageId= [メッセージID] &teamName= ~ 略
「1654069681408」のような数字の羅列になります。
2.利用例
当アクションの利用方法として、チャネルに投稿したアダプティブカードからの応答を元に、該当アダプティブカードの内容を更新するというものが考えられます。
①アダプティブカードを投稿し応答を待機
アダプティブカードに「Action.Submit」を埋め込み、投稿を待機します。
②アダプティブカードの応答に対し条件分岐
アダプティブカードに複数「Action.Submit」を埋め込んだ場合は、submitActionId
を取得します。
③アダプティブカードを更新
先のアダプティブカードの応答を元に、カードの更新を行います。
投稿先、チーム、チャネルは、上記の「①アダプティブカードを投稿し応答を待機」と合わせてください。
メッセージIDは、投稿時に割り振られますので、動的な値を取得します。
このような動作になります
Power Automate のTeamsコネクタ「チャットやチャネルのアダプティブ カードを更新する」#AdaptiveCard #アダプティブカード pic.twitter.com/LpDkD95gZW
— Miyake Mito (@MiTo60448639) June 1, 2022
3.ためしたこと
① 通常メッセージに対し「アダプティブカードを更新」
「チャットまたはチャネルでメッセージを投稿する」アクションで投稿したメッセージに、「チャットやチャネルのアダプティブ カードを更新する」
結果はHTMLがそのまま表示されますが、
ブラウザを更新すると、アダプティブカードが正しく表示されました。
② 別のユーザーが投稿したアダプティブカードに「アダプティブカードを更新」
他のユーザーが投稿したアダプティブカードに対し、「チャットやチャネルのアダプティブ カードを更新する」
結果は、エラーでした。投稿者とユーザーIDが異なるためNGのようです。
③ アダプティブカードの応答を待たずに「チャットやチャネルのアダプティブ カードを更新する」
このようなフローを作ります。
動作させると、自動的にアダプティブカードが更新されていきます。
アダプティブカードでパラパラ漫画が作れるw#AdaptiveCard #アダプティブカード pic.twitter.com/pvPaMBvaij
— Miyake Mito (@MiTo60448639) June 1, 2022
アダプティブカードでパラパラ漫画が作れそうです(笑)
「チャットやチャネルのアダプティブ カードを更新する」は、ユーザーの応答を待つことはできません。
よってアダプティブカードの更新は実質1回のみとなります(パラパラ漫画でよければ別ですが)。
まとめ
投稿済みのアダプティブカードの内容を更新できる「チャットやチャネルのアダプティブ カードを更新する」アクションは、アダプティブカードの表示内容が変更できます。
投稿者当人でないと更新できない、ユーザーの応答に対し1度きりの更新のみ可能等、制約はありますが、ぜひご活用ください。