⚙️ Vault運用
Slack連携仕様
最終更新 2026年04月27日 / 90_Meta/Slack連携仕様.md
Slack連携仕様
30秒で全体像
| 観点 | 一言 |
|---|---|
| 核心 | Slack → Inbox 自動投入の全仕様。 |
| キーワード | 実行タイミング / 対象範囲 / 2段階分離 / ユーザーの使い方 |
| 使う人 | 全社員 / 運用担当 |
| 読了目安 | 5-7分 |
Slack → Inbox 自動投入の全仕様。
構成
graph TB
SLACK[Slack<br/>参加チャンネル全部]
SCRIPT[slack_to_inbox.sh<br/>朝9時launchd]
TRIGGER{リアクション<br/>:writing_hand:?}
INBOX[00_Inbox/]
RAW[00_Inbox/_slack_raw/<br/>YYYY-MM-DD.md]
CLAUDE[ Claude判定]
SLACK -->|channels.history 走査| SCRIPT
SCRIPT --> TRIGGER
TRIGGER -->|Yes | INBOX
TRIGGER -->|No| RAW
RAW -->|ユーザーが「整理して」| CLAUDE
CLAUDE --> INBOX
仕組み詳細
1. 実行タイミング
- 朝9:00 launchd (
com.scale.slack-inbox) - 手動実行:
~/Obsidian/scripts/slack_to_inbox.sh
2. 対象範囲
- Bot が参加している公開+プライベートチャンネル全部
- DM は除外
- 前回同期以降の新規メッセージのみ(重複防止)
3. 2段階分離
| 条件 | 処理 | 配置先 |
|---|---|---|
:writing_hand: リアクション付き |
即Inbox化(確実重要として扱う) | 00_Inbox/YYYY-MM-DD_HHMMSS_Slack_writing_hand.md |
| それ以外の全メッセージ | Raw log集約(Claudeが後で判定) | 00_Inbox/_slack_raw/YYYY-MM-DD.md に追記 |
4. ユーザーの使い方
取り込みたい投稿を見つけたら
:writing_hand: リアクションを付ける
→ 翌朝9時 or 手動実行で即Inbox化
Raw log の整理
毎日 or 定期的にこのチャットで:
「Slack raw整理して」
→ Claudeが 00_Inbox/_slack_raw/ を読み、セッション判定ルールに従って分類
セットアップ
詳細は プラグイン追加とSlackBot設定 参照。
必要なBot Tokenスコープ
| スコープ | 用途 |
|---|---|
channels:history |
パブリックチャンネルの履歴 |
groups:history |
プライベートチャンネルの履歴 |
channels:read |
パブリックチャンネル一覧 |
groups:read |
プライベートチャンネル一覧 |
users:read |
ユーザー名解決 |
reactions:read |
リアクション確認 |
※ users.conversations API用に別途Scopeが必要な場合あり
セットアップ手順
- Slack API で App 作成
- Bot Token ●●●●●● に上記6つ追加
- Install to Workspace
- Bot User OAuth Token (
xoxb-...) をコピー echo 'xoxb-...' > ~/.slack_bot_token && chmod 600 ~/.slack_bot_token- 取り込みたいチャンネルで
/invite @SCALE-Brain Inbox Bot
トラブルシューティング
| 症状 | 対処 |
|---|---|
missing_scope エラー |
Slack App で該当Scope追加→Reinstall→新Token保存 |
| チャンネルが取れない | Botをそのチャンネルに /invite する |
| Raw logが肥大化 | 毎日Claudeに整理依頼、処理後ファイル削除 |
| 同じ投稿が何度も入る | ~/Obsidian/logs/.slack_last_sync のタイムスタンプ確認 |
ログ確認
tail -50 ~/Obsidian/logs/slack_inbox.log