Teamsで完結する簡単なアンケートをAdaptive Cardsで作成する

要件

リモートワーク化でマネージャーが自チームのメンバーを定期的にウォッチし、勤怠管理やメンタルケアを行いたい。

※リモートワーク化じゃなくても可能

実装したこと

  1. 定期的にチームメンバーに対して、Microsoft Teamsのbotを介して以下のようなメッセージを送る。

  1. メンバーはこれに回答して"送信"ボタンを押すだけで、回答完了。

  1. マネージャーには回答結果が通知される。

※ 今回のデモではTeamsチャネルに投稿してしまっているが、本番だとこれをマネージャー自身にメールするとかで実装する。さらに作り込んでSharePointのリストに保管するとかも可能。

メリット

メンバーが気軽に回答できる

リモート環境下で、マネージャーに能動的に悩みを相談できない人も、ふらっと来たbotに対しては気軽に回答できると思います。週の終わりに「今週はどうでしたか?」的な質問を投げるのもいいですね。Power Automateで作っているので、悩みがあるフラグのメンバーの投稿は、アラートを上げるような仕組みも作れる。

マネージャーの定期確認チェックが簡単

この定期チェックはPower Automateで作っているので、月末などをトリガーにすればマネージャーが多忙でも勝手にメンバーに通知される。メンバーとの1on1やり忘れを防いだり、メンバーが有給取ってるかを確認するしたいって場合に、マネージャーの手間を省く事が出来る。

Formsじゃダメなん?

Formsでアンケ作ってメールでバラまいてもいいんですが、Formsを開く1クリックが余計で回答率が下がる。そりゃ、まじめな人はちゃんとForms開いて回答するけど、そうじゃない人はシカトするし、そういった人ほど労務管理的にちゃんとチェックしないといけない。

Forms開くまでアンケートの量が分からないのと、Adaptive Cardsでアンケ送付されて これだけ答えればいいんだ が分かる状態なら、絶対後者の方が正答率が上がる。

ところでAdaptive Cardsってなんぞ?

Adaptive Cardsは簡単に言うと、メールやTeamsチャットで相手に入力フォームを送り付けることができる機能です。 Outlookの投票ボタン が一番近いイメージですね。

※ 古のOutlook使いは投票ボタンを使いこなしているイメージ。

投票ボタンもAdaptive Cardsも、相手がメールやチャットを見た瞬間、そのメッセージ内で返信が完結することが最大のメリットです。

先日のPower Platform Day Summer ’20 – connpassで紹介されており、興味があって使ってみようと思いました。Adaptive Cardsについて発表されたのはHiroさんで資料はこちらです。

どうやって使うの?

Power Automateで「アダプティブ カードを Teams ユーザーに投稿して応答を待機」ってアクションがあるので、それ使うのが一番楽です。Power Automate使ってる人ならそんなに難しくなく使えます。詳しい作り方はもうちょっと下に書いておきました。

FormsやOutlook投票ボタンとの違い

Outlook投票ボタンは1メールにつき1質問しかできません。あと、当然ですがOutlook使ってないとダメ。Formsは前述のとおりFormsを開くアクション自体が発生し、回答率が下がる懸念があります。その代わり、長文を入力させたり回答の中で分岐が発生する場合はFormsの方がいいです。

ざっくりまとめるとこんな感じです。

機能 作成できるアンケート 回答の労力 利用できるクライアント
Outlook投票ボタン △1問だけ ◎楽 △Outlookのみ
Adaptive Cards ○複数可。だがTextAreaの設定や分岐設定はできない ○そこそこ楽 ○OutlookやTeams
Forms ◎複数可。また、自由度も高い △1クリック必要 ◎URL開けるクライアントならなんでも

業務的な事を言うと、回答しないと不利益になるようなものは、(回答者が必死で回答するので)Formsでいいですねw 逆に、質問者が回答者の立場より弱いとか、数を集めるのを重視する場合、Adaptive Cardsを利用するのがよいと思います。

Power AutomateでのAdaptive Cardsの作り方

ここからは技術的な話。Adaptive CardsはMicrosoft社が提唱する標準フォーマットなので、Power Automateを使わずともGraph APIを利用することで作れるのですが、Power Automateには組み込みのアクションがあるので本当に簡単に作ることができます。詳しい作り方は先ほどリンクしたHiroさんの資料を参照して頂くとして、ここでは自分が作ったPower Automateを紹介します。

インプットとして部内のメンバーのメールアドレスをJSON形式で記載します。作り込めば、Excelを読み込んでパースして…とできるけど、いったんべた書き。

次のステップでは、メンバーに対してそれぞれ個別にAdaptive Cardsを投げます。ここで使うのはPower AutomateのFor-Eachですが、ポイントは コンカレンシー制御をONにして並列実行とすることです。これがOFFのままだとメンバー1人1人に対して逐次実行になってしまうので、回覧板よろしく誰かが回答しなければそこで止まってしまいます。

作ったAdaptive Cardsはこちら。

回答をTeamsチャネルに投稿します。

冒頭の繰り返しとなりますが、回答の送信先はPower Automateで自由に設定できますので、例えばマネージャー個人のメールを宛先にする匿名性を保つことができます。

余談

この仕組み、Teams公式でもReflect messaging extensionってヤツで似たような機能が実装されるようです。

Reimagining virtual collaboration for the future of work and learning – Microsoft 365 Blog

5段階で自分の心境を回答して、マネージャーは匿名で結果を集計することができるみたいです。

リモートワーク環境下ってのを抜きにしても、メンバーの健康状態を把握してチームをいい方向に維持するのは大事ですね。

Posted by tera