メンバーの長時間労働を食い止めるSlackBotを作ってみた

どうもこんにちは、@yamacho1111 です。

この記事は、以前書いた記事「時差出勤・リモート勤務の在席管理を解決する「iruca」の紹介」と「Slackで時差出勤・リモート勤務の在席管理を解決する」を前提としています。
まだご覧になっていない方は、先にこちらをお読み頂ければ幸いです。

tech.innovator.jp.net

tech.innovator.jp.net

さて、本題に移ります。
弊社では、裁量労働制を採用していますが、長時間労働・遅い時間まで働くことは推奨しておりません。
推奨はしていないのですが、集中して作業をしていると、ついつい遅い時間になってしまっている、という事はよくありますよね。

他の会社では、なるべく早く帰ってもらうために、例えば、夜遅くなると自動でオフィスの照明を消してしまうという話はよく聞きます。

しかし、弊社はリモート勤務も可能です。

想像してみてください。
みんながリモート勤務していた場合に、オフィスの照明が消えてどうなるでしょう?

メンバーの長時間労働を食い止めるSlackBot

そこで、この問題を解決するために、SlackBotを作ってみました。
具体的な動きとしては下記のようになります。

  1. 21時を過ぎる
  2. 在席の人を強制的に離席させる(iruca)
  3. 離席させた人にメンションを飛ばす(Slack)

【実際の動作の様子】

f:id:yamacho1111:20160703235922p:plain

いかがでしょうか。
弊社ではSlackが業務に不可欠となっているので、他の会社の「夜遅くなったらオフィスの照明を自動で消す」くらいの効果は十分でているのでは、と思っています。

実装手順

実装手順について説明しておきます。
このSlackBotは、GoogleAppsScriptで作られています。
以下の内容です。

上記スクリプトを、GoogleAppsScriptの編集画面に貼り付けます。

2箇所だけ変数を書き換えます(本当はスクリプトのプロパティで設定した方がよいかも)。

  • 「iruca_room_code」→ irucaのルームURL「https://iruca.co/rooms/●●●●●」のランダムな「●●●●●」の部分
  • 「slack_url」→ 前回の記事でSlackと連携するときに作成した「Webhook URL」

外部サービスへの接続で承認が必要なので、一度だけ実行ボタンを押します。

f:id:yamacho1111:20160704111727j:plain

「許可を確認」ボタンをクリックします。

f:id:yamacho1111:20160704112118p:plain

「許可」ボタンをクリックします。

f:id:yamacho1111:20160704112126p:plain

これで外部サービスへの接続の承認が完了しました。
続いて、実行タイミングを指定するトリガーを設定します。

メニューから「リソース」→「現在のプロジェクトのトリガー」を選択します。

f:id:yamacho1111:20160704112505p:plain

「トリガーが設定されていません・・」のテキストリンクをクリックします。

f:id:yamacho1111:20160704112650p:plain

トリガー設定画面が表示されますので、「特定の日時」を「日タイマー」、時間は任意の時間(弊社の場合は午後9時〜10時)を指定して「保存」ボタンをクリックします。

f:id:yamacho1111:20160704112841p:plain

これでSlackBotの設定が完了しました。
あとはトリガーに設定した時間帯で、自動的にSlackBotが起動します。