見出し画像

藤村忠寿に一日のスケジュールを通知してもらうことにした

挨拶

おはよぉーございます。

前座

今の会社では、スケジュール管理にGaroonを使っている。
しかし、このGaroonってやつはどうにも馴染まない。
社会人一年目から前職まではずっとGoogleビジネスアカウントを使っていたので、メール・カレンダー・ハングアウト等々全てがGoogle一本で使えており、非常に美しい体制であった。
しかし今は全てバラバラのツールが導入されており、ツール間の連携も非常にゴチャついている。まったく美しくない。
良いじゃんGoogle一本にしちゃえば。とは思っているのだが。


お恥ずかしいながら、現職の総務部門の方々はITリテラシーが高くないようなので、どういうツールなら便利か?いろんなツールがゴチャゴチャしてると混乱しそうだな?などと考えるに至ることができていないように見える。

「とりあえず入れとけ」感。
そして全然使いこなせていない。

先に言っておくが、Garoon自体をdisっているわけでは無い。そこは違うぞ。
Garoonに関しては単に「自分にフィットしない」というだけのことである。

そしてslackのアカウント自体はあるが、活用していく文化が無い。
社内周知は全部メールで来る。
いちいち「お疲れ様です」と言葉をつけ、最後に「以上、よろしくお願いいたします。」で締める。
取引先とのやり取りでもないことで、いちいちそのような文句をつけておき、肝心の本文は特に大したことが書かれていない。
実に恥ずべき悪習である。

かろうじて営業部ではteamsを使っているようだが、なんでよりによってteamsなのか。あんなもん良く使う気になったな。slack使え馬鹿野郎。

「今日のスケジュールを通知してくれるヒゲ」開発

前座(というか愚痴)が長くなったが、そういうわけで
「自分だけでもslackを上手く使えるようになろう」
「Garoonのスケジュールはできるだけ見ないで済むようにしよう」
と思い立ち、その第一歩として表題の機能を実装した。

仕様としてはシンプルで、

  • 朝9時になるとGaroon上から自分の本日一日の予定(0時~23時59分59秒)を取得し

  • slackの個人チャンネルに藤村忠寿が垂れ流してくれる

だけのものである。リポジトリは以下。

動作環境としてはスプレッドシート + GASでスクリプトを実装し、slackアプリと連携させている。

以下に実装手順を書いていく。またREADMEにも手順を記載したが、似たような外部連携機能を作っている人の記事は簡単に見つかるので詳細はそちらに説明を譲ることにする。

Slack Appの設定

Incomming Webhookというアプリを作成。
設定画面ではアプリの名称や説明文、通知を投稿する際の宛先チャンネルやアイコンなどを決めることができる。
この時点でwebhook urlが生成されるので控えておく(GAS内でslack通知を実装する際に必要になる)

スプレッドシートを作成

スプレッドシートを作成し、GaroonのログインIDとパスワードを書く。
当然、このシートは非公開にしておくこと。運用は自己責任で。
(もっとマシな認証情報の秘匿方法はないものか…)

シート名とシートタブ名は後でGAS内から参照する

GASスクリプト実装

スプレッドシート上から拡張機能 -> App Scriptを選択してエディタのページに飛ぶ
コードは下記を参照。即席でリポジトリ作ったのでREADMEなどがスカスカなのはご容赦願いたい。
main.gs内のGaroonのサブドメインなどは自分の使っている環境に合わせて変更すること。

トリガーの設定

毎朝9時に実行。
エディタと同じページのサイドメニューから設定できる。

動かしてみるとこんな感じ

早速本日の朝9時に動作した。

じゃじゃじゃじゃあじゃあじゃあ

予定が複数入ってる場合はこんな感じで羅列される。
(こっちはデバッグ時のキャプチャ)

毎度語尾を伸ばしてくるのが絶妙にウザくて良い

次にやりたいこと

  • スケジュール1件ごとにslack通知が1件飛んできてしまうので、複数スケジュールをまとめて1件のテキストに成形して送れるようにする

  • スケジュール登録をslackから行えるようにする(API的に実現可能なのかは知らない)

  • Garoon掲示板の新着通知(API的に実現可能なのry)

終わりに

あくまで個人利用の範囲。改善点なんて後からいくらでも出てくる。
ゴチャゴチャコード書いて動かすのは楽しいですね。
ちなみにChat-GPTにもコード作ってもらってみたけど、GaroonのAPIの叩き方までちゃんと理解しているようで「彡(゚)(゚) ほーん」って表情になった。

ただ、スプレッドシートは非公開とはいえ、オンラインに認証情報がある状態なのはやはりよろしくはない。
あと、ITエンジニアが他にいない組織の中でこういう仕組みを面白がってくれる人、前のめりになってくれる人がいるかどうか…

しかし、slackはマジでいろんなことができるんですよと。
そういったことを知らしめるのには役に立つブツができたんじゃないかな。
化石のような社内文化を変えて行くには、実際に動く物を作って見せるのが一番説得力がある。
革新的な使い方で無くても、「ほらほらこんなことができると便利でしょ?」と見せびらかしていって、どんどん便利にしていきたい。

自分から情報を取りに行かされるんじゃ無くて、「通知」という機能を以て勝手に情報が降りてくる状態を作る。

同じような境遇の人を救う一歩になれば、これほど嬉しいことはないですなぁ大泉君。


この記事が気に入ったらサポートをしてみませんか?