Konifar's WIP

親方!空からどらえもんが!

会社の過去の出来事をお知らせする『今日は何の日?bot』を作りました

ちょっと思い立って『今日は何の日?』というSlack botというのを作って会社のSlackに入れてみました。今のところまあまあいい感じなので、背景や仕組みを記しておこうと思います。もしかしたら他社でも役に立つかもしれません。

どんなものか

f:id:konifar:20201212111208p:plain

過去同じ日に会社で起こった出来事を教えてくれるSlack botです。SpreadSheetに会社やプロダクト、メンバーに起きた出来事を書いておくと、毎日10~11時に『同じ日に起きた出来事』を雑談用のチャネルに投稿します。

SpreadSheetは下図のような感じです。会社の記念日やプロダクトのリリース、メンバーの入社などを記載しています。メンバー全員が自由に追加・編集できます。

f:id:konifar:20201212105024p:plain

誕生日は year を入れなくてもよいようにしています。

f:id:konifar:20201212105545p:plain

背景

次のモチベーションで作りました。

  • コロナ環境下、メンバーの増加によりコミュニケーションが減っているので雑談のきっかけを作りたい
  • 会社・プロダクトともに歴史が長くなり、新メンバーが一度にインプットするには負荷が高いので少しずつ知れるようにしたい
  • メンバーの自己紹介ドキュメントを見るタイミングが入社の時くらいしかなく、更新もされにくいので定期的に知れる機会を作りたい

仕組み

Google App ScriptでSpreadSheetの内容を取ってきて今日と同じ月日の出来事をサマリし、Slack app のIncoming WebhookでSlackに投稿しています。

Script自体は複雑ではなく愚直なコードです。Gistに入れたので興味があれば参考にしてみてください。

今日は何の日かをSlack通知するGoogle App Script · GitHub

このScriptを時間ベースのトリガーで起動させています。実行時刻は1時間の幅がありますが、まあいつでもいいので10~11時の間に流すようにしています。

f:id:konifar:20201212111914p:plain

Scriptはすぐできたんですが、リストの作成が一番大変でした。最初は気合いで頑張るしかないと思います。

現状

うまくワークしなかったら消せばいいかと思って入れてみましたが、今のところ問題はなさそうです。誕生日のメンバーについて知るきっかけになったり、「2年前にそんな機能が出ていたのか」という会話が生まれたりしています。

f:id:konifar:20201212111116p:plain

Kyashも創業して約5年、サービス開始して3年半くらい経つので、1日おきくらいには過去に何かしら起きていたのだなと知ることもできて面白かったです。また次の出来事が記載されるのを楽しみにしておきます。