Microsoft Power Automateを使って社内で流通する情報の取りこぼしを減らした話

こんにちは。インハウスチームのonoeです。

皆さん、チャットツールを使っていますか?活発に使われている会社だと、業務に関係ある話もない話も、かなりの量のメッセージが飛び交っているのではないでしょうか。それはヌーラボも例外ではありません。そういった状況の中で、必要な情報の取りこぼしを減らすための取り組みをご紹介しようと思います。

 

ヌーラボでのチャットツール

ヌーラボではTypetalkというビジネスチャットツールを提供しており、社内のコミュニケーションもTypetalkで行われています。Typetalkのトピックはチーム、プロジェクト、タスク、部活動など、様々な粒度・用途で随時作成されていて、情報をオープンにするため基本的に社員全員がメンバーに入っているため、結果的にかなりのトピック数が常時動いているという状態になっています。

ちなみに12/12現在で、部活動など業務に関係ないものまで含めると400を超えるトピックがありました(中にはもう終わったプロジェクトのものもあると思いますけどね)。

コミュニケーションが活発なのは良いことですが、これだけトピックがあると全部を把握することは難しいですし、自分の知らぬところで話されていた重要な内容を見落とす可能性もあります。

 

Microsoft Power Automateを使った自動メッセージ検知の仕組み

そこで、Typetalkのメッセージに特定キーワードがある場合にお知らせしてくれる仕組みを構築してみました。今回の仕組みに登場するのはMicrosoft Power Automate(以降 Power Automate)、TypetalkのAPIGoogle Spreadsheetの3つです。コードは一切書かず、全部画面上での操作で完結するようにしました。全体構成としては以下のような形になってます。

以下に構築の手順を書いてみようと思います。構築手順とか興味ないよ!っていう方は「実際に動かしてみてどうだった?」のところまで飛ばしてもらえれば。

 

事前準備 1. Typetalk Tokenの取得とSpreadsheetの準備

まず、Typetalkのメッセージ情報取得、通知を行うためのTokenを取得します。取得方法についてはTypetalkのヘルプページを参照ください。ここで取得したTokenはあとでPower Automateのコネクタを作成するときに使います。

次にキーワードを設定するためのSpreadsheetを用意します。
これはどこに作成しても構いませんが、Power AutomateからGoogle Spreadsheetにアクセスする際にアカウント情報を入力する必要がありますので、作成者自身で認証ができるアカウントでSpreadsheetを作成しておくのが良いでしょう。
Spreadsheetは「Setting」というシート名、下記のフォーマットで作成しておきます。
また、「 __PowerAppsId__ 」という列は、Micrsoft Power Automateが自動的に作成するものなのであってもなくても大丈夫です。

 

 

事前準備 2. Power Automateのカスタムコネクタ作成

先に記載した構成図のとおり、Power AutomateからTypetalkへのアクセスが必要なのですが、Typetalkとのコネクタは公式では用意されていません。
なので、カスタムコネクタを使用してTypetalk APIに接続するようにします。
カスタムコネクタの接続設定は下記の通りになります。Client idとClient Secretは事前に取得したTypetalk tokenを登録しましょう。OAuth2.0での接続となりますので、接続先などは下記画像を参照ください。

カスタムアイコンのロゴ設定と接続先URLの設定

Typetalk APIへのOAuth2接続設定

 

また、接続設定に加えて、各APIに対しての操作も登録しておく必要があります。今回の仕組みでは「メッセージの検索」と「通知メッセージの投稿」が必要なので、それぞれ作成しておきました。

メッセージ検索のアクション設定

メッセージ投稿のアクション設定

最後に、Power Automate上での接続テストが成功すれば設定完了です。

 

Microsoft Power Automateのフロー設定

これで事前準備はできたので、構成図の内容をPower Automateのフローに落としていきます。文章では少し説明しづらいのでフロー設定の画像をご覧ください。


フロー上での「Apply to each 2」のところが、Spreadsheetで設定したキーワード数分だけループする形になっています。「Apply to each 3」では、キーワードで検索した結果のメッセージ分だけループして通知メッセージを投稿するようにしています。条件2のところで「検索対象外トピック」と「検索対象外ユーザーID」と本通知メッセージ自体を除外しています。

Power Automateではパラメータなどに動的な値を設定することもでき、上記フローの「処理時刻の15分前」などはその機能を使用していますが、詳細な説明は割愛します。詳しくはPower Automateのヘルプをご確認ください。

 

実際に動かしてみてどうだった?

この仕組み、実はインハウスシステム課では1年以上動かしています。今設定しているキーワードは、

  • データ 分析
  • データ 活用
  • インハウス
  • QuickSight
  • 業務ハック

などが設定されていて、どこかのトピックで「インハウスさんにそれお願いしたら〜」的な話がされていると検知されます。場合によっては「呼びましたか」といった感じで駆けつけるなど ストーカーみたいな 対応がすぐにできるのでなかなか良いです。

検知したときの通知例。連携が必要とされてることがバッチリ分かります!

実際に、弊社で利用しているBIツールである「QuickSight (※) の使い方が分からないなあ」といったボヤキのようなコメントを検知して、すぐに使い方の説明をする場面もあったりして、そこそこ有用なように感じています。
※QuickSightの正式名称は「Amazon QuickSight」です

また、インハウスシステム課にはデータ活用を社内に広げる、というミッションがあるので、どこかでデータ活用できそうな話があれば、そこに協力していきたいという思いもあります。社内のコミュニケーションを人力ですべて把握するのは無理なので、こういった仕組みでカバーすることも重要だと考えています。

先に書いたとおり、この仕組みは1年以上動いているので1年分のデータが蓄積されています。試しに、弊チームの呼称「インハウス」というキーワードでの検知数を集計してみると、昨年も今年も9月ごろだけ少し検知数が多くなっていて、もしかすると9月に問い合わせをするような活動が発生しているのかもしれません。こういう検知数から何かカイゼンのきっかけが見えてくることもあるかもしれないですね。

「インハウス」でのメッセージ検知数推移

 

おわりに

コロナ禍以降、リモートワークをされている方も増えていると思います。リモートワークでは特にチャットツールでのコミュニケーションが多いのではないでしょうか。

チャットのコミュニケーションは口頭でのやりとりとは違い、コミュニケーションの記録がすべて残っているのが大きなメリットだと思います。一方で、記録が残ってしまうがゆえに、情報の波に飲み込まれてしまうリスクもあるので、今回紹介したような仕組みで情報を得る負担を減らすことも考えてみてはいかがでしょうか。

それでは

より良いチームワークを生み出す

チームの創造力を高めるコラボレーションツール

製品をみる