背景:「Slack履歴が消える」が痛くなってきた
Slackの無料プランでは、90日を超えるとメッセージ履歴が自動的に消えます。
「あー昔のメッセージ見えなくなったな」くらいで済んでいました。社内のSlackでのコミュニケーションをAI(ChatGPTやClaudeなど)に読み込ませて、ナレッジベースとして活用したいという機運が増している以上、過去の情報は資産も資産、超貴重なエンジン源なわけで。「見えなくなったドンマイ」で済ませるにはあまりに惜しくなってしまっている。
そうなってくると、Slackでのやり取りが消えてしまうのはかなり痛手です。Slackのログが、今後の意思決定や社内ナレッジの「種」として重要性を増しているのです。
唯一の解決策であるSlack課金も、創業期の会社には悩ましいポイントでもあります。
そこで、以下のような条件でSlackの履歴を保存する仕組みを作ることにしました。
- 外部の有料アーカイブサービスは使わない(ランニングコストはゼロに近づけたい)
- Slackの履歴をGitHubリポジトリにJSON形式で保存する(AIが読み込みやすい)
- 日々の運用は完全に自動化(運用負荷ゼロが理想)
- 将来的にSlack以外の会話(対面、ビデオ会議など)も統合できるようにしたい
実際に作ったもの:毎日SlackログをGitHubに保存するワークフロー
具体的には、オープンソースでセルフホスト可能なワークフロー自動化ツールの「n8n」を使って、以下の仕組みを作りました。
シンプルです。

ワークフロー概要
- 毎日深夜3時に自動起動(JST)
- Slackの検索APIで前日24時間分のメッセージを一括取得
- 取得したメッセージをそのままJSON形式で整形(ファイル名は日付)
- JSONファイルをGitHubリポジトリにコミット
使用ツール
- n8n:セルフホスト可能なオープンソースの自動化ツール(Dockerで動作)
- Slack API (Bot Token):Slackの公式API(無料版で利用可能)
- GitHub:プライベートリポジトリにJSONファイルを蓄積(追加コストなし)
なぜGitHubに保存するのか?(単なるログオタではない話)
ここまで聞くと、「Slackのログを毎日GitHubに貯めるなんて、単にログオタク向けの話じゃないか」と思われるかもしれませんが、実際の意図はちょっと違います。
GitHubのデータはAIにとって非常に扱いやすく、今後AIが業務や意思決定を支援するうえで重要な「情報源」になります。
実際、ChatGPTやClaudeといった最新のAIは、GitHubに蓄積されたデータをそのまま理解し、活用することが非常に得意です。そのため、単にSlackのログを溜め込むことが目的ではなく、AIが読みやすい場所(GitHub)に、AIが扱いやすい形式(JSON)でデータを日々蓄積しておくことが非常に重要なのです。
今後のAI活用やナレッジマネジメントの効率を高めるためには、「情報をAIにお膳立てしてあげる」ことが人間にとって最も効果的で、複利効果の高い選択肢だと考えています。
試行錯誤のポイント
実際に仕組みを構築する中で以下のようなポイントに苦労しました。
- Cronの設定が分かりにくく、n8nのGUIのSchedule Triggerに切り替えた
- Slack APIのトークン権限が不足していて最初動かなかった
- 日付処理ライブラリ(moment.js)が使えなくなったため、標準のJavaScript機能だけで日付を処理した
- GitHubの認証設定が正しくできておらず、何度か404エラーが発生した
誰向けの仕組み?
次のような状況にある会社やチームには非常に有効な仕組みだと思います。
- 無料のSlackを使っており、履歴が消えることでナレッジが失われることに困っている
- AIを活用してSlack内のコミュニケーションからナレッジベースを作りたい
- Slackに限らず、口頭のコミュニケーション(ビデオ会議や対面会議)も含めてテキスト化し、将来的に意思決定や業務をAIで効率化・自動化したい
- なるべく追加コストや運用負荷をかけず、将来性のある仕組みを構築したい
次のステップ:口頭コミュニケーションもテキスト化する
Slackでのやり取り以外にも、会議など口頭コミュニケーションをすべてテキスト化できれば、「コミュニケーションの完全な記録」が実現します。
これが実現すると、ナレッジベースの精度が飛躍的に向上し、AIによる意思決定支援、自動議事録作成、タスク抽出の完全自動化などが可能になります。日々のコミュニケーションを完全にテキスト化することは、将来的な意思決定の高速化・自動化につながる重要な一歩になると考えています。
今後やってみたいこと
- ビデオ会議や対面会話を録音・テキスト化して、同じリポジトリに保存する仕組みを追加