OpenClaw
ユースケース中級15 min

OpenClaw で Slack 毎日ダイジェスト Bot を構築する方法

OpenClaw を使って Slack の毎日ダイジェストワークフローを構築:チャンネルメッセージの自動収集、AI による要約、定時配信で重要情報を見逃しません。

最終更新: 2026-03-31

必要なSkills

Slack
推奨

Slack メッセージの送受信、チャンネル管理。

ガイドを見る
Summarize
推奨

URL、PDF、動画、ドキュメントを要約。

Cron Creator
推奨

自然言語から cron スケジュール式を生成。

構築するもの

自動化された毎日ダイジェストシステムを構築します:

  1. メッセージ収集 — Slack チャンネルのメッセージを終日自動収集
  2. AI による要約 — キーポイント、決定事項、アクションアイテムを抽出
  3. 定時配信 — 設定した時間に毎日ダイジェストを配信
  4. 完全自動運用 — Cron スケジューリングで設定したら放置で OK

チームリーダー、リモートワーカー、全体を把握したいがメッセージを一つずつ読む時間がない方に最適です。

なぜ毎日ダイジェストが必要なのか

Slack のリアルタイム通知は諸刃の剣です。メッセージ通知のたびに集中が途切れ、研究によると中断後に完全に集中力を回復するまで平均 23 分かかります。1日を通して計算すると、失われる時間は驚くほどです。

毎日ダイジェストの本質は、コミュニケーションのバッチ処理です。メッセージが届くたびに反応するのではなく、自分が選んだ時間に構造化されたサマリーを一括で受け取ります。「未読チャンネルの通知が溜まっている」というメッセージ疲れを解消し、穏やかで予測可能な情報フローに置き換えます。

10 チャンネルの 150 件のメッセージをそれぞれ確認するには、継続的な認知負荷がかかります。ノイズのフィルタリング、スレッドの追跡、コンテキストの記憶。構造化されたダイジェストはこれを 2 分の閲読に圧縮し、重要度順に整理します。意思決定、ブロッカー、アクションアイテムを完全に把握しつつ、サイドバーの未読に追われることもありません。

マネージャー、エグゼクティブ、複数チームにまたがる担当者など、多くのチャンネルの状況を把握する必要があるが、すべての会話にリアルタイムで参加する必要はない方に特に効果的です。

前提条件

  • OpenClaw がインストール・設定済み
  • Slack ワークスペース(管理者またはアプリインストール権限あり)
  • Slack Bot Tokenchannels:historychannels:readchat:write スコープが必要)
  • Node.js 18+

ステップ 1:必要な Skills をインストール

bash
# 1. Slack 連携
npx clawhub@latest install slack

# 2. AI 要約
npx clawhub@latest install summarize

# 3. 定時スケジューリング
npx clawhub@latest install cron

ステップ 2:Slack 連携を設定

Slack アプリを作成

  1. api.slack.com/apps にアクセスし、新しいアプリを作成
  2. OAuth & Permissions で以下の Bot Token Scopes を追加:
    • channels:history — チャンネルメッセージの読み取り
    • channels:read — チャンネル一覧の取得
    • chat:write — ダイジェストメッセージの送信
  3. アプリをワークスペースにインストール
  4. Bot User OAuth Tokenxoxb- で始まる)をコピー

Skill を設定

OpenClaw で Slack Token を設定:

bash
# Skill の初回使用時に設定入力が求められます
clawhub inspect slack

ステップ 3:要約生成を設定

Summarize Skill は任意のテキスト入力を処理できます。毎日ダイジェストでは以下の設定を推奨します:

  • 出力フォーマット:セクション付きの構造化された箇条書き
  • フォーカスエリア:決定事項、アクションアイテム、アナウンス、質問
  • 長さ:簡潔に(チャンネルあたり 200-400 文字)

ステップ 4:Cron スケジュールを設定

毎日の Cron ジョブでダイジェストワークフローを実行:

bash
# 毎週平日の18:00に配信
# Cron Creator は自然言語入力をサポート

Cron ジョブは以下の順序で実行されます:

  1. 設定したチャンネルからメッセージを取得(過去24時間分)
  2. Summarize Skill に渡して処理
  3. 構造化されたダイジェストにフォーマット
  4. 指定のダイジェストチャンネルに投稿

ステップ 5:ダイジェストをテスト

Cron スケジュールに頼る前に、手動で実行して動作を確認します:

  1. Slack 接続が正常か確認
  2. メッセージ取得が期待通りの内容を返すか確認
  3. 要約の品質を検証
  4. ダイジェストが正しいチャンネルに投稿されるか確認

カスタマイズオプション

マルチチャンネルダイジェスト

複数チャンネルを監視し、チャンネルごとにサマリーをグループ化:

  • #engineering — 技術的な議論と意思決定
  • #product — 機能要望とロードマップの更新
  • #incidents — 本番障害と解決策
  • #general — 全社アナウンス

優先度フィルタリング

要約で重点的にハイライトする対象を設定:

  • リアクション付きメッセージ(👀、✅、🚨)
  • 特定キーワードに言及するメッセージ
  • 返信数が多いスレッド
  • 特定のユーザーからのメッセージ(経営層、オンコール担当者)

複数スケジュール

異なるニーズに合わせて異なるスケジュールを設定:

  • 朝のブリーフィング(8:00 AM)— 夜間アクティビティの要約
  • 日終レビュー(6:00 PM)— 1日の全体要約
  • 週次レポート(金曜 4:00 PM)— 1週間の振り返り

応用編:条件付きダイジェスト

毎日ダイジェストが必要とは限りません。重要なときだけ送信するスマートトリガーを設定できます。

週末と祝日のスキップ

Cron を平日のみ実行に設定し、会社の休日リストを管理します。Cron Skill は 0 18 * * 1-5 のような式をサポートし、平日のみ実行できます。祝日の場合は、ワークフローの冒頭で日付チェックを追加し、休日カレンダーに一致すれば早期終了させます。

緊急検知

日次スケジュールをバイパスするキーワードアラートを設定します。「障害」「P0」「セキュリティインシデント」「ロールバック」などのキーワードを含むメッセージがあれば、定時を待たずに即座にミニダイジェストを送信します。通常の更新はバッチ処理、重要イベントはリアルタイム通知という両方の利点を得られます。

アクティビティ閾値

ダイジェスト生成の最小メッセージ数を設定します。24 時間以内にチャンネルのメッセージが 3 件未満であれば、要約する価値はあまりありません。ワークフローでメッセージ量を先にチェックし、閾値以下のチャンネルやダイジェスト全体をスキップできます。

キーワード分類

キーワードグループを定義して特定のトピックを分類表示します。例えば「デプロイ」「リリース」「リリース完了」に言及するメッセージを「リリース」セクションに、「バグ」「クラッシュ」「エラー」に言及するメッセージを「問題」セクションにまとめます。AI 要約の上にインテリジェントな分類レイヤーを追加できます。

役割別ダイジェストテンプレート

同じチャンネルからでも、役割によって必要な情報は異なります。異なるオーディエンス向けに複数のダイジェスト設定を作成できます。

エンジニアリングリード

🔧 技術ダイジェスト — 2026年3月31日

ブロッカー (2)
• 認証サービスが staging 環境でレート制限に抵触 — @chen が調査中、DevOps の対応が必要
• CI パイプラインの結合テストが失敗 — 決済モジュールの不安定なテスト

Pull Request (5 マージ済み, 3 レビュー待ち)
• マージ済み:モバイル API の GraphQL 移行 (#1842)、キャッシュ無効化修正 (#1839)
• レビュー待ち:データベースインデックス最適化 (#1845) — 2日間オープン

デプロイ
• 本番デプロイ v2.3.12 午後 2:30 — 成功、ロールバックなし
• Staging デプロイ v2.4.0-beta.3 午後 4:00 — スモークテスト 2件失敗

技術的意思決定
• 承認済み:PostgreSQL のコネクションプーリングへの移行 (RFC-0047)
• 議論中:分散トレーシングに OpenTelemetry を採用

プロダクトマネージャー

📦 プロダクトダイジェスト — 2026年3月31日

機能ディスカッション
• モバイルオンボーディングのリデザイン — 3つのデザイン案が共有、チームはプラン B を支持
• エンタープライズ SSO — Acme 社の顧客フィードバックを要件に反映
• API レートリミット — 開発者コミュニティが無料プランの上限引き上げを要望

ユーザーフィードバック (#support と #feedback より)
• レポートダッシュボードの CSV エクスポート機能を 4件要望
• 新しい検索フィルターに 2つのエンタープライズアカウントから好評
• バグ報告:Safari で日付ピッカーが動作しない(チケット作成済み)

決定事項
• v2.4 の機能フリーズは 4月3日に確定
• Q2 OKR ドラフト提出期限は 4月7日 — 全 PM 提出のこと

今後の予定
• デザインレビューは 4月2日 10:00 AM に予定

エグゼクティブ

📊 エグゼクティブブリーフィング — 2026年3月31日

主要指標
• アクティブユーザー:12,847(前週比 3.2% 増)
• API 稼働率:99.97%(SLA 目標:99.9%)
• 未処理チケット:23(前日の 31 から減少)

インシデント
• 解決済みインシデント 1件:データベースコネクションプール枯渇(ダウンタイム 45分)
• 原因特定済み、修正デプロイ完了 — 顧客データへの影響なし

戦略的意思決定
• エンジニアリングが PostgreSQL コネクションプーリング移行を承認
• v2.4 機能フリーズを 4月3日に設定 — 4月15日リリース予定通り

要対応事項
• エンタープライズ料金モデルに財務部門のインプットが必要 — 2件の商談がブロック中
• Q2 採用計画:エンジニア 3名分承認済み、ジョブディスクリプション未作成

ダイジェスト出力サンプル

典型的な毎日ダイジェストの例:

📋 毎日ダイジェスト — 2026年3月31日

🔧 #engineering (12 件のメッセージ)
• 決定:モバイル API を REST から GraphQL に移行(@sarah が承認)
• アクション:@mike が木曜までに API ドキュメントを更新
• 議論:新キャッシュレイヤーのパフォーマンスベンチマーク — 結果待ち

📦 #product (8 件のメッセージ)
• アナウンス:v2.4 機能フリーズは 4月3日から
• 要望:Q2 計画向けに新規機能要望 3件がタグ付け
• 質問:エンタープライズプランの料金モデル — @finance の意見が必要

🚨 #incidents (2 件のメッセージ)
• 解決済み:データベースコネクションプール枯渇(10:30 - 11:15)
• 現在アクティブなインシデントなし

週次レポート形式

週末の振り返りに適したマクロな視点:

📋 週次レポート — 2026年3月25日-31日

今週のハイライト
• GraphQL 移行が承認され、実装を開始
• v2.3.12 リリース、キャッシュレイヤーの改善で API レスポンスが 40% 高速化
• 新規エンタープライズ顧客 2社がオンボーディング完了

数値サマリー
• 4チャンネルで合計 87 メッセージ
• 6件の意思決定、12件のアクションアイテム作成
• インシデント 3件(すべて解決、平均解決時間 38 分)

来週への持ち越し
• エンタープライズ料金モデル — 財務部門のレビュー待ち
• OpenTelemetry RFC — あと 2名の承認が必要
• モバイルオンボーディングのリデザイン — 火曜に最終デザインレビュー

プロジェクト別ダイジェスト

特定のプロジェクトに焦点を当てた進捗確認:

📋 プロジェクトダイジェスト:モバイルアプリ v3.0 — 2026年3月31日

進捗
• 認証フローの実装完了(PR #1842 マージ済み)
• プッシュ通知サービス — 80% 完了、結合テスト通過
• オフラインモード — 設計仕様承認済み、4月2日から開発開始

ブロッカー
• サードパーティ SDK の iOS 18 互換性問題 — ベンダーに連絡済み
• オンボーディング画面のデザイン素材が 4月3日に遅延

チーム情報
• @alex 4月1-3日 休暇 — @jordan がプッシュ通知を引き継ぎ
• Sprint レビューは 4月4日 午後 2:00 に変更

インシデント専用ダイジェスト

オンコールチームと信頼性重視のステークホルダー向け:

🚨 インシデントダイジェスト — 2026年3月31日

アクティブインシデント:0

本日解決済み:1
• INC-2847:データベースコネクションプール枯渇
  - 継続時間:10:30 – 11:15(45 分)
  - 影響:API リクエストの 12% が 503 エラーを返した
  - 原因:新バッチ処理ジョブのコネクションリーク
  - 修正:コネクションプール上限を引き上げ、リークを PR #1840 で修正
  - フォローアップ:コネクションプール監視アラートの追加(期限 4月2日)

7日間トレンド
• インシデント合計:3(前週の 5 から減少)
• 平均解決時間:38 分
• SLA 準拠率:99.97%

トラブルシューティング

メッセージが取得されない

  • Bot Token に channels:history スコープが含まれているか確認
  • Bot が監視対象チャンネルのメンバーであることを確認
  • チャンネル ID が正しいか確認(channels:read で一覧取得可能)

要約の品質が低い

  • メッセージ取得のコンテキストウィンドウを拡大
  • 要約設定にフォーカス指示を追加
  • 要約前に Bot メッセージや自動通知をフィルタリング

Cron ジョブが起動しない

  • OpenClaw インスタンスが実行中であることを確認
  • Cron ジョブの状態を確認:clawhub list
  • システムのタイムゾーンが期待通りか確認

よくある質問

はい。ワークフローのコアロジックはプラットフォーム非依存です。Slack Skill を Discord Skill に置き換えるだけで(`clawhub install discord` を実行)、Summarize と Cron Creator Skill の使い方は全く同じです。Discord Bot Token(`Read Message History`、`Send Messages` 権限が必要)と Discord サーバーのチャンネル ID を設定するだけです。

無料プランの Slack はメッセージ履歴が 90 日間に制限されていますが、有料プランは無制限です。毎日ダイジェストは過去 24 時間のメッセージのみを参照するため、無料プランでも問題ありません。週次や月次のレポートを作成する場合は、90 日間の制限に注意してください。無料プランで長期的なサマリーが必要な場合は、ダイジェストを別途アーカイブする方法があります。

Cron ジョブは OpenClaw がインストールされたマシン上でローカルに実行されます。スケジュールされた時間にそのマシンが電源オフまたはスリープ状態の場合、ジョブは実行されず、ビルトインのリトライ機構もありません。24時間365日の安定した運用には、サーバー、VPS、またはクラウドインスタンスに OpenClaw をデプロイすることをお勧めします。月額数ドルの VPS や Raspberry Pi でも十分対応可能です。

デフォルトではダイジェストは Slack チャンネルに投稿されますが、メール配信も可能です。Slack のメール通知機能を利用してダイジェストチャンネルのメッセージを受信箱に転送できます。または、ワークフローに Email Skill を追加(`clawhub install email`)して SMTP 経由で直接送信することもできます。後者の方法なら、Slack ワークスペースにいない外部のステークホルダーやメール派のエグゼクティブにもダイジェストを送れます。

要約設定で API キー、パスワード、Token、個人識別情報などの既知の機密パターンを自動マスキングする正規表現を定義できます。マスキング以外にも、ダイジェストに含めるチャンネルを制御できます。`#hr-confidential` や `#legal` などのチャンネルは完全に除外してください。セキュリティ強化のため、ダイジェストの投稿先は公開チャンネルではなく、メンバーを制限したプライベートチャンネルにすることをお勧めします。

異なるタイムゾーン向けに複数の Cron スケジュールを設定し、各グループが都合のよいローカル時間にダイジェストを受け取れるようにします。例えば、1つは JST 午後 6 時、もう1つは CET 午後 6 時に設定します。各スケジュールで同じチャンネルをカバーしつつ、地域別のダイジェストチャンネルに配信できます。あるいは、全員の業務時間が重なる時間帯(例:UTC 午前 10 時)に統一して、チームメンバーが出勤時に確認する方式も有効です。

もちろんです。最もシンプルな方法は、`0 18 * * 1-5` のような平日限定の Cron 式を使うことです(月曜〜金曜のみ実行)。会社の祝日については、ワークフロー設定で日付リストを管理し、実行前に現在の日付をチェックして、祝日であれば早期終了させます。チームが複数の国にまたがる場合は、公共祝日 API との連携も可能です。

はい。ダイジェストは Slack チャンネルに投稿されるため、Slack の検索機能で自動的に検索可能です。より構造化されたアーカイブが必要な場合は、ワークフローにステップを追加して、各ダイジェストを Markdown や JSON ファイルとして指定ディレクトリやクラウドストレージに保存できます。蓄積されることで、チーム活動の検索可能なアーカイブが形成されます。Notion、Confluence、Google Drive にダイジェストを同期するチームもあります。

はい。ワークフローにカレンダー API(Google Calendar、Outlook)を接続し、実行前に特定のイベントをチェックできます。例えば、全社ミーティングの日はダイジェストをスキップ(全員が同期済み)、チームオフサイトの日はスキップ、などの設定が可能です。ワークフローの冒頭にカレンダーチェックステップを追加し、「no-digest」などのキーワードが付いたイベントを検索します。Cron 式を変更せずに、柔軟にダイジェストの抑制を制御できます。

ダイジェストは Slack チャンネルに投稿されるため、チャンネルメンバーシップがそのまま受信者の制御になります。`#daily-digest` のような専用チャンネルを作成し、受け取るべき人だけを招待します。より細かい制御が必要な場合は、複数のダイジェストチャンネルを設定できます。エンジニアリングリード向け、プロダクトマネージャー向け、エグゼクティブ向けなど、それぞれ異なるテンプレートとデータソースを設定します。個人は Slack のチャンネル通知設定で、不要な日にダイジェストチャンネルをミュートすることもできます。

関連ユースケース