🗂

working out loudをスムーズにするちょっとした仕組みを構築した

2025/03/30に公開

はじめに

working out loudという考え方がある。
これをslackで実践しやすくするためにちょっとした仕組みを構築したので忘備録も兼ねて紹介したい。

作業スレAppの機能はごくシンプルで、
slackをインターフェースとした以下のような定型メッセージの投稿を行う。

@mesh1nek0x0 作業スレ - 2025/03/28
前回スレ

補助的な機能として、2回目以降は前日の作業スレの投稿を更新して
次回スレの追記を行う。

@mesh1nek0x0 作業スレ - 2025/03/27
前回スレ 次回スレ

なぜこんなものを作ったか?

毎日の投稿に地味に手間と時間がかかるからというのが大きい。

  • 当日の作業スレを投稿する
  • 前日投稿を参照して作業内容をおさらいする
  • 当日の作業予定を記述する

さして時間のかかることではないものの、
連日近しい時間帯にメンバーが作業スレを投稿する中から、
前日の自分の投稿を探すというのというのは、うっかりすると違うスレを開いてしまうこともままある。

sufixとして日付が目印になった上で、前回投稿をリンクも添えてあれば
もっと本質的なことに時間が使えると思い、手配に至った。

もっとたどりたい

前回をたどれるようにいなったところで、逆もやりたくなった。

各投稿から前後をたどって、クリックひとつで芋づる式に他の投稿を遡れたら、
3日分の作業を見返して、ということも格段スムーズにできる。

週次のふりかえりのインプットにももってこいだと思った。

仕組み的な解説

仕組みは以下の通り。
Slack Workflowをインタフェースとし、GoogleSpreadSheetをデータベース、GoogleAppScriptをシステムとした構造になっている。

あまり作り込むつもりはなかったので、あり物を組み合わせて実現した。
Slack Workflowから連携させたGoogleSpreadSheetに書き込みを行い、GASの変更検知トリガーを利用して、該当ユーザの作業スレを生成して投稿・更新、シートにも記録を行う。

なお、GASはGPTくんに書いてもらった

留意点

GASの変更検知

変更検知には2種類ある。ユーザ編集以外の編集でもトリガーするように設定しないと、Slackのworkflowから編集してもGASがトリガーされない。

更新対象のメッセージのtsをシートへ保存について

slackの投稿の更新にはtsというタイムスタンプが必須になるのだが、
これをシートにそのまま保存すると、数字が丸められて更新するメッセージが見つからないということが起きた。シート側で表示形式をテキストにしたら解決した。

cf. https://api.slack.com/methods/chat.update#arg_ts

あとがき

SlackAppが定型でメッセージを取り溜めていくことになるので、
あとから自分の作業スレをまとめて検索しやすくなった。

スレにぶら下がるメッセージを取得して保存しておいて、
それらをNoteBookLMのインプットにすれば、今期通してやったことをまとめたり、
マインドマップで構造化したりもできると半期や通年での自身のふりかえりにも活かせそうだと思った

この備忘録が未来の自身も含め、何かの役に立てば幸いです。

Discussion