Microsoft Teamsのプレゼンスから部下がサボってないか監視しよう!

【目次】Teamsプレゼンス可視化ツール

0. プロローグ 1. 永続的なアクセストークンの取得 2. プレゼンスの取得 3. エクセルで可視化
4. PowerAutomate Desktopで定期実行 5. Pythonで実装 6. 完全自動化Pythonプログラム  

さて、テレワークが定着して早2年が経とうとしています。たまに出社してもオフィスはガランとしています。もう人類の働き方は変わったのでしょう。誰も満員電車に乗る生活には戻りたくないですから。

それでもやっぱり出社させたい人たちがいます。そう、経営側の人たちです。

確かに立派なオフィスを構えて、机も椅子もパソコンも買い与えて毎日出社して仕事させていたのに突然、家で仕事が出来ることが分かったので出社しませんって、じゃあ今までの投資は何だったんだと、家賃にいくらかかってると思ってるんだとなるのもうなずけます。

それにやっぱり働いてる社員が見えないとサボってるじゃないかと疑心暗鬼になるんでしょうね。正直分かります。

というわけで今回はそんな経営者の不安を払しょくするためテレワークでもちゃんと働いているんだよとわかるシステムを作ってあげることにしました。

社員の状態を可視化できるMicrosoft Teamsのプレゼンス

ITシステムをマイクロソフト製品で固めている会社は多いと思います。私の会社もそうです。OutlookにTeams、OneDriveといったところです。このTeamsにはプレゼンスという機能があり、スケジューラとその社員アクティビティを掛け合わせて、その社員の状態をほぼリアルタイムで把握することが出来ます。本来のプレゼンスの使い方はその社員が取り込み中なのか、空いているのか、離席しているのかを把握し、声掛けしても大丈夫か、メンションしても問題ないかを判断するために使用します。このプレゼンス情報を定期的に取得し可視化すればどの社員がいつ、どのくらいサボっているか把握できるちゅーわけです!

プレゼンス情報の取得はMicrosoft Graph APIを使用

TeamsのプレゼンスはMicrosoft Graph APIからJSON形式で取得することができます。

APIからの定期的な情報取得はPower Automate Desktopを使用

プログラムの定期実行はPower Automate Desktopを使用します。JSON形式で情報を取得するだけなのでなんでもいいのですが、マイクロソフト製品で固めた方が後のデータの取り込み、加工、可視化が簡単になるのでお勧めです。

取り込み、可視化はエクセルからのPower BI

JSON形式で取得したデータはエクセルに追記していきます。単純な可視化はエクセルだけで十分ですが、ため込んだデータはエクセルのテーブルにすることでBIツールが良しなにグラフ化してくれます。BIツールはPower BIを使用します。

完成した「テレワーク対応Teamsのプレゼンスから社員が働いているか把握しちゃおうツール」です。

こちらはとある組織のとある一日のTeamsプレゼンスを可視化した画像です。当然名前は仮名です。色分けはTeamsのプレゼンスの色分け通りにすると分かりやすいです。

Busy        取り込み中、Web会議中
Available 連絡可能、作業中、PCの前にいる
Away       離席、予定なし。サボっている

いやー見事に可視化できています。データ分析は可視化からと言いますが、世の中可視化しちゃいけないデータもあるのです。これもその一つ。一挙手一投足、手に取るように分かってしまいます。

Power Automate Desktopの総アクション数は21

実装したPower Automate Desktopの総アクション数は21でした。割と簡単に実装できます。

次回から実装方法を細かく解説したいと思います。