🍒
GoogleAppScript(GAS)とSlackを連携させて勤怠管理をしてくれるBOTを作成する #リモートワーク #フルフレックス
初めまして、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