Blog
ブログ
HRMOS勤怠登録をSlackリアクションポチッとなで実現してみた
はじめに
どうも、お久しぶりのアフロです。
みなさん、勤怠打刻どうしてますか??
日々の勤怠を入力するのって結構手間がかかりますよね。
弊社HomeGrowinではSlackのリアクション押下で勤怠打刻できるシステムを作り運用しています!
本記事ではこのSlack勤怠打刻システムについて紹介します。
きっかけ
弊社では以前から勤怠管理にはHRMOSを導入しており、各メンバーに日々の出退勤時刻をHRMOS画面で入力してもらっていました。
しかし、入力するにはブラウザでログインする必要がありちょっと手間がかかるのと、たまに入力を忘れてしまうこともあるのでもっと簡単確実にできたらいいな〜ということが言われていました。
すると弊社の敏腕エンジニアが
「SlackとGASを連携して、HRMOSのAPI使えばリアクション押すだけで打刻できますよ」
ということで、Slackリアクションを押したらHRMOSに勤怠登録するアプリを作ってもらいました。
構成
使用しているツールやプラットフォームは以下です。
・Slack、SlackAPI
・Googleスプレッドシート
・GoogleAppsScript(GAS)
・HRMOS、HrmosAPI

【勤怠打刻データの流れ】
プログラムはGASで作成しており、機能は大きく以下に分けられます。
おはようBot
稼働日の朝、GASでSlackチャンネルにメッセージを送信します。
メンバーが押下できるように「出勤」「退勤」などのリアクションもGASで押しておきます。
HRMOS勤怠登録バッチ
メンバーが「出勤」「退勤」リアクションを押下すると、その時刻をSlackワークフローでGoogleスプレッドシートに記入するようにしておきます。
そしてこのバッチで記入されたメンバーごとの打刻情報を読み取り→HRMOSのAPIを実行して出退勤時刻を登録します。
- 勤怠時刻調整&入力チェックバッチ
日次バッチで前日の勤怠情報を見て以下の処理をしています。
・前稼働日の勤怠登録状況をチェック
・勤怠登録もれがあればDMで通知、登録されていれば時刻を調整
このバッチのおかげでメンバーは出退勤時刻の端数調整をする必要がなく、またリアクションを忘れた場合も翌日には勤怠登録してもらえるようになっています。
ちょっと難しかったポイント
・リアクションの並び順が固定できない
できればリアクションは「出勤」、「退勤」、その他というように並べたいですよね。
当然その順序でリアクションを押下するようにGASの処理は書いているのですが、表示される並び順は日によって違ってしまいます。
調べたところSlackの仕様で並び順は固定できないということがわかりました。
これは仕方ないので「出勤」、「退勤」などのリアクションのカラーを分けることで見つけやすくしています。
今後の改善アイデア
・リアクション押したときに本人に勤怠サマリを通知
出勤リアクションを押したときに月の総稼働時間や残業時間をDMで送ってあげれば、HRMOSにログインして確認しなくてもどの程度働いているかがわかるのでちょっとよさそうです。
・社員の出勤状況をモニタリング
出勤、退勤リアクションの押下状況を取得してメンバーの勤務状況を一覧表示できるWebアプリを作りたいと考えています。
その他に「出社」「在宅」などのリアクションも用意しておくことで、どこにいるかも分かるようになるとマネージャーにとって役立ちそうです。
・おはようBotのメッセージを今日の一言風に
現在は固定文言なのですが、ランダムで今日の一言みたいなのも表示してもいいかな?と思っています。
まとめ
今回はSlackbot、GASを使った勤怠打刻自動化について書いてみました。
追加のランニングコストはゼロで、ワンクリックで打刻できるようになったので非常に助かっています。
敏腕エンジニアの加入により、他にも社内業務の自動化効率化が進んでいるのでまたぜひ紹介したいと思います。
若手エンジニアも社内システム開発に携わることでレベルアップしているので、これからの活躍が楽しみです!
結びのメッセージ
Switch with us!
採用エントリー
ご応募はこちら