🍒

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

1 min read

初めまして、osayuBotです😁‼️
都内の国立大情報科に通う寿司と肉が好きな一般的な女子大生です。
「3度の飯よりプログラミングが好き」は半分嘘です。
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

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