リモートワークでの勤怠連絡を効率化した話

# リモートワークでの勤怠連絡を効率化したかった

IT業界でリモートワークが主流となってはや３年ほど経ちますが、私のチームではリモートで勤怠状況を連絡・把握することに課題を感じていました。

リモートではみんなが出社するオフィスがないので誰が出勤、退勤、休憩しているか見えません。

これまでは出退勤時にSlackを使って各々メッセージを送って周知してもらうようにしていましたが、各自手動で送っているとどうしてもメッセージが遅れたり、送り忘れたりします。なにより面倒くさいです。

[ovice](https://www.ovice.com/ja)とか[Gather](https://www.gather.town/)といったバーチャルオフィスSaaSを導入する方法もありますが、もっと楽に（**タダで**）このSlack運用の延長線上で勤怠連絡を効率化できないか考えていました。

そこで、既に導入されているSlackと勤怠管理SaaSの[KING OF TIME](https://www.kingoftime.jp/)だけを利用して、勤怠連絡を簡易かつ効率的にできる仕組みをチームに導入しました！

# MyレコーダーChromeアシスタントを使った勤怠打刻とSlackメッセージの連動
Google Chrome拡張機能の[MyレコーダーChromeアシスタント](https://chrome.google.com/webstore/detail/my%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%80%E3%83%BCchrome%E3%82%A2%E3%82%B7%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%88/pifbdpooppfkllaiobkaoeocbfmpabaj?hl=ja)を利用します。
これ自体は、拡張機能からウィンドウを開いてKING OF TIMEの出勤、退勤、休憩を打刻できるようにしたり、出勤打刻済みなら出勤ボタンをグレーアウトしてくれたりと大変便利な拡張機能です。

![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/5d042d1e-d130-5847-69db-792de6bd761a.png)

さらにこの拡張機能には**打刻と連動してSlack APIを実行する機能**がついています。
特定のチャンネルにメッセージを送信したり、ユーザーステータスを変更できます。
これを利用して**KING OF TIMEの出勤、退勤、休憩打刻を押す行為とSlackメッセージ通知を連動**させます。

従業員が個々に必ずやらなければならない勤怠処理に紐づけることでSlackでの連絡が自動的に行われるようになります！（打刻自体忘れたときはどうしようもないですが…。）

## やり方
### SlackチャンネルとSlack Appの作成
メッセージを飛ばすためのSlackチャンネルと通知を代行するSlack Appを作成します。
チャンネルはこの仕組みを利用する部署の全員を招待する形で運用しています。
チャンネルは複数設定できるようなので組織単位で細かく切ってもいいかもしれません。

Slack Appはchat:write権限を付けて上記で作成したチャンネルにインストールしたら、`Bot User OAuth Token`を発行しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/c18bf76a-461f-1de7-1652-a301bb8d0cce.png)

### 個々のユーザーに拡張機能のインストールと設定を依頼
個々のユーザーに拡張機能のインストールを依頼します。
さらに
[chrome-extension://pifbdpooppfkllaiobkaoeocbfmpabaj/src/options/options.html](chrome-extension://pifbdpooppfkllaiobkaoeocbfmpabaj/src/options/options.html)
こちらをアドレスバーに入力して個々に拡張機能の設定を行ってもらいます。

以下の設定を行ってもらう必要があります

* 有効にする：`チェックあり`
* チャンネル：`#通知したいチャンネル`
* 出勤メッセージ：`【[名前]】[出勤メッセージ（自由）]`
* 退勤メッセージ：`【[名前]】[退勤メッセージ（自由）]`
* 休始メッセージ：`【[名前]】[休憩開始メッセージ（自由）]`
* 休終メッセージ：`【[名前]】[休憩終了メッセージ（自由）]`
* ラジオボタン：`ユーザーとして通知する`
* Token：`事前に取得したBot User OAuth Tokenを設定`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/1ec52757-88d1-5e08-ea2e-e3b53877ebcf.png)

テスト送信でこのようにチャンネルにメッセージが通知されれば成功です！

![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/e5726952-02a7-456e-fbe7-aded2c9f72de.png)

ユーザートークンを利用して通知する方法もあるのですが個々に設定を行わせるハードルが高いので、Botトークンを使いまわして設定してもらう形にしています。
手順書を作ってチャンネル参加時に案内されるようにしておくとスムーズです。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/614eb63b-090e-56cb-221c-b82aca640933.png)

絵文字も使えるのでユーザーごとに勤怠連絡メッセージを考えてもらうとチャンネルが賑やかになってよいですね！

# その他の取り組み
これに関連して他にもやっている取り組みを紹介します。

## オフィスに出社した場合の連絡
オフィスに出社することもあるのですが、その場合は拡張機能を使った打刻自体行わないため、マニュアルで連絡を行ってもらう必要があります。
少しでも省力化になるようSlackワークフローを作成して連絡しています。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/2cddbed7-bf9f-cdcb-e0ea-8e0d88879af8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/9a8e4e99-c7b5-537e-42bd-885252a7431c.png)
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/099efdcc-7cdb-3f7d-afcf-930fd46c0b53.png)

## 休暇や遅刻早退の連絡
出退勤連絡用のSlackチャンネルができたことで必然的に休暇や遅刻早退などの連絡もここでやりたくなります。
これもSlackワークフローを使っています。

![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/c1c20025-c7e4-9ff8-6f0a-52eafe77623f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/b1d228df-a57e-e610-bc34-0fb58c08b7fd.png)
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/261acd68-4803-347e-f430-2b1e91b20585.png)

定形文なのと本人が送っている感が薄れるためか休みを連絡しやすいと評判です。

# 出来上がり
これまで紹介した取り組みで実際に運用されてるチャンネルがこんな感じです。
雰囲気が伝わるでしょうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/cd741507-c44d-ea56-7da1-02785c27fd39.png)

# メンバーからの評価・感想
最後に、実際に使っているメンバーやマネジャーからの評価・感想を紹介して終わります。

* 出退勤をいちいち連絡をする必要がなくて楽になった！
* Slackと連動しているため打刻忘れが減った！
* いつだれが出退勤したかわかるため、あがっているときに連絡を取らない、連絡されにくくなった！
* メンバーの勤怠をキャッチアップしやすくなりマネジメントに役立った！

と好評でした🙌