Googleカレンダの予定開始3分前になったら、予定開始まで1分毎に、Slackにメンション付き通知するGASスクリプト

AWS運用自動化サービス「Cloud Automator」

こんにちは!
AWSをこよなく愛す技術4課の山本(通称ヤマゾン)です
昨日は実質9.2時間くらい寝ました

この記事を書くことになった背景

弊社はGoogleカレンダーを使って、社内の予定を管理しています
Googleカレンダーは予定の時間が近づくと、通知(リマインド)してくれます
↓こんなの

また、予定開始時間の5分前になったら、Slackに通知(リマインド)してくれるプラグインもあります
↓こんなの

しかし、上の通知を私はいつも逃してしまいます…なぜだ…

毎日朝一番にその日の予定は確認するものの、他の作業や、何かを読むのに集中していると、
つい予定に入っている会議を忘れてしまいます
結果として、私がいつも忘れてしまうのが、所属している課の朝会です

10:30からGoogle meet (WEB会議) で開催していて、meetの参加メンバーにいつも私だけがいないので、課の皆さんから私宛にSlack通知が来ます
( 今日は過去最高の3メンションを記録してしまいました! )

この悔しさを解決するために、どのような通知(リマインド)なら絶対に気付くことが出来るか?を考えました
そして、「Googleカレンダの予定開始3分前になったら、予定開始まで1分毎に、Slackにメンション付き通知をもらえると、気付くことが出来そう」と結論づけました

5分前に通知が来ても、WEB会議の準備は1〜2分で出来るため「あと5分もあるし、いっか」となっていました
3分前、2分前、1分前と通知をもらうことにより、間に合う確率は、上がりそうです

私のSlack通知設定は以下になっています
1. Slackにメンション付きの通知をもらうと、PCで音が鳴る (概ねBlueToothのイヤホンをしているため、イヤホンに音が来る)
2. PCを閉じているときは、携帯にバイブレーション通知する

Googleカレンダの予定開始3分前になったら、予定開始まで1分毎に、Slackにメンション付き通知するGASスクリプト

以下のようになりました

登録の仕方

事前準備として、Slack の Incoming Webhook URLを1つ用意してください
参考:Slack でのIncoming Webhook の利用

  1. Googleにログインし、G Suite Developer Hub にアクセスします
  2. 「新しいプロジェクト」をクリックします
  3. 上に記載したコードを貼り付け、「変数定義」部分を自分の環境用に編集し、フロッピーマーク(または [cmd/ctrl] + s キー)を押して保存します
  4. 適当に名前を付けてOKを押します
  5. 「自分のプロジェクト」に作ったプロジェクトがあることを確認し、クリックします
  6. 右の方に出てくる「プロジェクトの詳細」の右上に付いている3つの点マークをクリックします
  7. 「トリガー」をクリックします
  8. 右下にある「トリガーを追加」をクリックします
  9. 以下のように「remindGoogleCalender」関数を「1分おき」に実行するようにして「保存」します
  10. 3分前になると、1分毎にSlackに通知されるようになりました ( 18:07 開始の会議前、18:04, 18:05, 18:06 の合計3回、通知しています )

まとめ

この状態で様子を見ようと思います

AWS運用自動化サービス「Cloud Automator」