VisasQ Dev Blog

ビザスク開発ブログ

Slack + Zapierでメンションを見落とさないハック

フルサポート開発チームの喜多(きた)です。
ビザスクには2017年10月10日に入社したので祝3周年です🎂

当時の社員数は30名程度でしたが、3年の時を経て100人超になりました。
100人くらいまでは全員の顔と名前をインプットできていたのですが、リモートによる対面コミュニケーションの減少やマスクによる顔識別情報の欠落、Zoomによる美肌補正により、覚えるのが難しくなってきました。

複雑化するコミューニケーション

更に難しくなっているのがコミュニケーションです。

組織の拡大とチーム数の増加により全社で利用しているSlackをはじめ、開発内で利用しているGitHub、ClickUpにおいてもコミュニケーションの量やパスが圧倒的に増えました。

大事なことを見落としてしまう

これにより発生したのが「メンション見落とす」問題です。

お返事のタイミングを受け取り側が調整できるというのが非同期コミュニケーション利点ではありますが、できるだけ即レスした方が相手の業務を止めないことになり、全体効率化につながるはずです。

Slackのメニューに「Mentions & reactions」がありますが個人的には以下の課題があります。

  • @channel や @here などの全体周知が含まれる
  • どれが対応済みなのか把握ができない
  • リアクション一覧がノイズである

またGitHubやClickUpはSlackにログを流しているものの、Mentionedを確認するためにはメーラーやブラウザを開く必要があります。

ブックマーク機能でメンションを管理する

一時はメンションや大事なトピックを条件反射でブックマークし「Save items」の一覧で確認していたのですが、ミーティング中などはそれがしにくいですし、何よりトラックパッドの移動をしすぎて指先が磨り減ってしまうという悩みがありました。そもそも非効率すぎます。

一日が落ち着いた頃にボーッとこの作業を振り返ってみると、やっていることは

@きた or @dkita or @Daik Kita を見つけたらブックマークする

これだけです。これは自動化できそうですね。

Cloud Functionsで自動化する

Slackにはstars.addというブックマーク用のAPIがあります。

また弊社では各個人が自由に使えるGCPGoogle Cloud Platform)の環境が割り当てられております。
この中のCloud Functionsを利用します。

これにより以下のような構成で実現できます。

これでも良いのですが、この機能のためだけにメンテナンスする対象が2つ(Outgoing Webhooks, Cloud Functions)もあるのはやや面倒です。

さて、面倒なことはZapierにやってもらうことにします。

Zapierで自動化する

ZapierについてはITチーム みともりの記事をご参照ください。

まずはアカウントを申請します。押忍!

さてZapを作成していきます。

まずSlackのすべてのメッセージをトリガーにします。

次にFilterを利用してメンション付きのメッセージを抽出します。

最後に抽出したメッセージをWebhook経由でブックマークします。

できました!

自動化した結果

ブックマークを後で一つずつ対応していけば良いのでとても効率化されました。そして指先が擦り減らなくなりました。やったね!😉

フルサポート開発チームは「ビジネスメンバーの業務を最大限に効率化する」というミッションを掲げています。そのためにまず自分たちの業務効率を上げるのはとても重要なことです。

残る課題

実は1点、過去に生成したレガシートークンを利用しているという問題があります。レガシートークンは新規発行ができないので、現行の仕様に従いSlackアプリを作成・インストールする方式へ変更する必要があります。

社内のいくつかの機能でSlackアプリの連携はしているので、その知見を元に移行を検討中です。