🍒

GoogleAppScript(GAS)とSlackを連携させて勤怠管理をしてくれるBOTを作成する #リモートワーク #フルフレックス

2021/08/21に公開

初めまして、osayubotです👩🏻‍💻
都内の国立大情報科に通う寿司と肉が好きな大学生です。

Botなので実在しません。

初のZennで、技術記事自体書くのも初めてです。
お手柔らかによろしくお願いします🥺

SlackWorkBot について

雇用形態が業務委託だと、作業時間を記録する必要がありますよね。
そんな時、ちょうどいいツールが欲しいと感じたことはありませんか。

この記事は
①Slackで業務の開始を報告(特定のチャンネルに「開始」と入力)すると
②開始時刻をGoogleSpreadSheetに打刻し、
③業務の終了(特定のチャンネルに「終了」と入力)を報告すると
④開始時刻と終了時刻の差分を計算し、作業時間を記録してくれる
というシンプルなボットを作成したときの備忘録です。

書いたコードはこちら

GASとSlackを連携させて勤怠管理をするのに、宮本さん という便利なツールがあったのですが、1日に複数回作業の開始・終了を記録できないことや、開始時間、終了時間、稼働時間、メモを最低限記録できればよかったので、自分でスクリプトを書くことにしました。

使い方

「開始」or「終了」の文字を入力することで、自動で GoogleSpreadSheet に作業時間を入力してくれます。
その際に語尾に「メモ:〇〇」と記入することで、作業内容も記録することが可能です。

導入方法

IncomingWebhook(Slack)の設定

  • カスタムインテグレーションより、IncomingWebhook を追加
  • SlackWorkBot を導入したいチャンネルを設定する
  • Bot の通知アイコンや名前はご自由にどうぞ
  • WebhookURL をコピーする

GoogleAppScript の設定

  • main.gs を貼り付ける
  • 先ほどコピーした WebhookURL を 10 行目の変数 url に代入する
  • デプロイ → 新しいデプロイを選択。デプロイの種類を「ウェブアプリ」に、アクセスできるユーザーを全員に変更し、デプロイ
  • ウェブアプリの URL(https://script.google.com/macros/s/....) をコピーする

OutgoingWebhook の設定

  • カスタムインテグレーションより、OutgoingWebhook を追加
  • SlackWorkBot を導入したいチャンネル(先ほど IncomingWebhook で設定したチャンネル)を設定する
  • 引き金となる言葉に 開始,終了 を入力
  • URL に先ほどコピーしたウェブアプリの URL を入力する
  • 設定を保存する

Discussion

ログインするとコメントできます