Slack App Homeによる勤怠可視化

SlackのBeta機能であるApp Homeを使った勤怠可視化を紹介します

December 29, 2019
wias slack

WIASによる勤怠の可視化

こんにちは。

本記事ではSlackのBeta機能であるApp Homeを使った勤怠可視化の紹介します。 まだ社内ではAlpha機能として提供しているものなので社員のみなさんはお試し程度に使ってください。

App Homeの詳しい仕組みや機能紹介はSlackのDeveloper AdvocateであるImuraさんが「Slack API 新機能を使ってアプリのホーム・ヴューを活用しよう🏡」の記事で紹介されているため触れる程度に紹介しようと思います。仕組みよりも実際の事例紹介として読んでいただければ幸いです。

注意: まだこの機能がBeta版であり互換性がないような変更が今後される可能性があるのでご了承ください

はじめに

本記事を読む上で、メルカリのWi-Fi打刻システムであるWIASの取り組みを軽く書きます。簡単にいうと「Wi-Fi接続を通して勤怠をつけるシステム」のことです。

WIASの仕組みの略図

自分のServerlessDays Fukuoka 2019の発表資料から図を引用しています。

この仕組によってユーザーであるWIASに登録した社員は打刻機や勤怠システムのWeb UIから打刻をする必要がなくなります。快適な社員生活の小さなサポートをしている社内システムなのです。

問題点

勤怠サービスをいちいち見に行くのは面倒です。ましてや、WIASという打刻システムのしている人で「打刻が正しくできているのか」を気になっている人が一部いるのも事実です。 簡単に自分の勤怠情報を見れる仕組みを提供したいと思っていました。

以前にもSlackのSlash commandによる実装も考えましたがSlash commandがどんどん高機能化することは避けたかったのです。今は出勤記録のための/wias helloコマンドと退勤記録のための/wias byeコマンドがあります。他にもどんどんサブコマンドとして追加できますができるだけシンプルな機能のままで提供したかったのです。

逆にいわゆるサービスのアドミンである僕を含む運営者には複数のコマンドがあります。

  • /wias help: アドミンコマンド一覧を表示
  • /wias lookup: ユーザーの端末ベンダーを検索(Apple.incなど製造メーカを表示)
  • /wias unregister: ユーザーの登録解除
  • /wias list: ユーザーの登録端末一覧を表示
  • /wias whois: MAC AddressからSlackユーザーを特定するコマンド

繰り返しになりますがユーザーにはシンプルなUI(=Slash command)のままで残しておきたかったです。ユーザーに開放しているコマンドは2つだけです。

このような思想あって、どのようにユーザーに対して機能を提供するインタフェースを用意しようか悩んでいました。

そして少し前にApp Homeがリリースされました。普段は業務があるためApp Homeの検証、導入に時間を取ることが(優先度的に)できませんでしたが、冬休みの一部を使って検証・導入することにしました。

結果としては非常にいいものができあがったのではないかなと思っています。この記事の後のほうで機能紹介をしています。

App Homeとは

SlackのAppilcationがユーザーと一対一でやりとりをする掲示板のようなものと思ってもらって大丈夫です。

Slack App Homeの一例

(引用: 「Slack API 新機能を使ってアプリのホーム・ヴューを活用しよう🏡」Imamuraさん)

App Homeはユーザーごとに異なるUIを提供することができるのが最大の特徴であると思っています。

この特徴を活かして、ユーザーごとの勤怠情報を可視化することにしました。

Slack App Homeによる勤怠可視化

以下のようにApp Homeを開くと、WIAS登録ユーザーなら自分の勤怠の情報を取得することができます。

WIASによる勤怠の可視化

Block kitというもので、ブロック状にUIを構築していくのですが今のところ以下の項目を可視化しています。

  • 毎日の始業・終業時間、および勤務時間
  • 今月の合計勤務時間・必要勤務時間・不足勤務時間(一日あたりも)

Alpha版としては、このくらいの機能でリリースしようと思っていたのでこれくらいの機能にとどめています。

今後サポートしたい機能

以下の機能を今後はサポートしたいと思っています。

  • 祝日やスケジュール(有給など)を加味した勤務時間計算
  • 勤怠締めに関する機能

社内で運用して声を集めてみようと思っています。気軽に追加リクエストを言ってくださいね。待ってます。

App Homeを使ってみて

特に新しく機能追加された感じではなく、今までのウィジェット機能と同様に開発をすすめることができるため非常に開発の敷居は低いです。

ユーザーと一対一でやりとりをできる、いわば掲示板のような役割をしてくれるApp HomeのUIは自由度が高く、応用の可能性が高いと感じています。もし何かしらSlack上でユーザーとインタラクションをしたい場合は一つのお道具箱として検討されてもいいのではないかなと思います。


最後に

業務としてはメルペイSREとして働いていますが、「メルカリ社員として」もなにか社内で貢献できる方法がないのかを常に探っています。

もっともっと働きやすい環境にしたいです。特に、勤怠に関するものは問題点(というか面倒な手作業)が多いのが現状です。 その組織に所属する一人のエンジニアとして、この状況は看過できません。その取り組みとして今回のSlack App Homeによる勤怠可視化をしました。

また、私の率いるチームはiOSエンジニア、フロントエンド、SREという3人でやっていて、常に今回のBeta機能だけではなく技術的なチャレンジ(DevOps, Serverlessアーキテクチャの採用)をしています。先駆者の方、労務の方など、他の方々に支えられて社内サービスとして成立しているものだと思っています。

WIASに関わるすべての人に感謝をしたいです。ありがとうございました。
「関わってよかったな」と思ってもらえるように来年も恩を返していこうと思います。

最後までありがとうございました。