【n8n×生成AI実践】毎朝8時に業界ニュースを自動巡回!「自社視点の示唆」付きインサイトレポートをSlack&Notionに配信する完全自動化Botの作り方

業務効率化
この記事は約12分で読めます。
スポンサーリンク
もしも_楽天

1. はじめに:情報収集の真の価値は「要約」ではなく「自社への示唆(So What?)」にある

「毎朝、出社後に業界ニュースや競合のプレスリリースをチェックしている」 「GoogleアラートやRSSリーダーを設定して、情報収集を欠かさないようにしている」

マーケティング、経営企画、新規事業開発、あるいは経営層の方々であれば、このような情報収集ルーティンを日課にしているのではないでしょうか。 ビジネス環境が激変する現代において、競合他社の動きや業界の法改正、新技術の動向を誰よりも早くキャッチアップすることは、企業の死活問題です。

しかし、現場の実態を振り返ってみると、以下のような悩みが頻発しています。

  • 課題①:読むだけで1日30分〜1時間消費し、本来の業務が圧迫される 複数のニュースサイトを巡回し、長文の記事を斜め読みする作業は、それだけで多くの時間と集中力を奪います。
  • 課題②:「単なるAI要約」を読んでも、次のアクションに繋がらない 最近はAIでニュースを要約してくれるツールも増えましたが、一般的な3行要約を見せられても、「で、結局うちの会社にとっては何が関係あるの?(So What?)」という疑問が残り、具体的な意思決定や施策に結びつきません。
  • 課題③:集めた情報が個人の頭の中に留まり、組織に蓄積されない 自分が読んだ面白い記事をSlackでチームに共有しようと思っても、「忙しくてコメントを書く時間がない」ため共有を見送り、組織全体のナレッジとして資産化されません。

この問題を根本から解決するのが、今回構築する**「自社視点の示唆付きニュース自動巡回Bot」**です。

n8nと生成AIを組み合わせることで、毎朝8時に自動で最新ニュースをクローリングし、単なる要約だけでなく「自社ビジネスへの影響(機会と脅威)」と「今週取るべきアクション」をAIが自動考察。さらに、Notionのナレッジデータベースにアーカイブしながら、Slackに朝会用のリッチレポートとして自動投稿します。

本記事では、このハイエンドな情報収集Botのアーキテクチャから、n8nによるステップ・バイ・ステップの実装手順、プロンプト設計の極意までを完全解説します。


2. なぜn8nがニュース自動化インフラとして最強なのか?

ZapierやMakeなどのツールでもニュース配信の自動化は可能ですが、**「自社視点の高度な分析」と「ナレッジの恒久的な蓄積」**を行おうとすると、n8nが圧倒的な力を発揮します。

  1. 「ループ処理(Split In Batches)」による複数記事の個別深掘りと統合 n8nは複数件の検索結果(例:上位5記事)を受け取った際、各記事のURLを個別にスクレイピングして詳細分析し、最後に1つのレポートに統合するような複雑なデータフローを直感的に組むことができます。
  2. Notion API & Slack Block Kitとの深い連携 単なるテキストメッセージではなく、Slackの「Block Kit」を活用したボタン付きのリッチなUIを作成したり、Notionデータベースの「マルチセレクト(タグ)」「URL」「日付」「リレーション」などのプロパティへ完璧にデータをマッピングできます。
  3. 完全自動のスケジュール実行(CRON)が無料・無制限 セルフホスト環境であれば、平日毎朝の定期実行や、複数キーワードごとの巡回ワークフローをどれだけ走らせても、追加の実行コストはゼロです。

3. 自動化ワークフローの全体像(アーキテクチャ)

今回作成するワークフローの全体像は以下の通りです。

Mermaid diagram

ワークフローの動作ステップ

  1. トリガー: 平日毎朝8:00に自動起動。
  2. 検索: Google検索API(Serper API)を叩き、指定キーワードの直近24時間のニュースを取得。
  3. 抽出: Jina Reader経由で各記事の本文テキストをクリーンなMarkdownとして取得。
  4. 個別分析: AIが「自社の事業特性」を踏まえ、記事ごとの重要度、競合の狙い、自社への影響(Opportunity/Threat)を構造化抽出。
  5. 蓄積: Notionの「業界ニュースDB」に自動保存。
  6. 統合・配信: 全記事の要点を1枚の「本日のエグゼクティブサマリー」にまとめ、Slackの指定チャンネルへ投稿。

4. ステップ・バイ・ステップ構築手順

それでは、n8nのエディタ画面でノードを組み立てていきましょう。

Step 1: Schedule Triggerノード(定期実行)

ワークフローの起点となるタイマーノードを設定します。

  • ノード名: Schedule Trigger
  • Trigger Interval: Weeks
  • Days of Week: Monday, Tuesday, Wednesday, Thursday, Friday
  • Hour: 08
  • Minute: 00

Step 2: Serper APIによる最新ニュース検索(HTTP Request)

Google検索の最新ニュースを高速・安価に取得できるSerper API(Google Search API)を利用します。

  • ノード名: HTTP Request (Search News)
  • Method: POST
  • URL: https://google.serper.dev/news
  • Authentication:Generic Credential Type → Header Auth
    • Header Name: X-API-KEY
    • Value: (あなたのSerper APIキー)
  • Body Parameters (JSON):
json{  "q": "生成AI OR \"BtoB SaaS\" OR \"競合企業名A\" OR \"競合企業名B\"",  "gl": "jp",  "hl": "ja",  "tbs": "qdr:d",  "num": 5}

💡 パラメータ解説:

  • tbs: "qdr:d" は「過去24時間以内(Past 24 hours)」の記事に限定するGoogle検索の裏コマンドです。
  • num: 5 で上位5件の最重要記事に絞り込み、情報過多を防ぎます。

Step 3: 記事ごとのループ処理(Split In Batches)

取得した5件の記事を1件ずつ順番に処理するためのループノードを配置します。

  • ノード名: Split In Batches
  • Batch Size: 1
  • Input Data: ={{ $json.news }}

Step 4: 記事本文のクローリング(Jina Reader)

検索結果の「スニペット(短い抜粋)」だけでは深い分析ができないため、記事のURLから本文全文を取得します。ここでも第1弾に引き続き Jina Readerhttps://r.jina.ai/)を活用します。

  • ノード名: HTTP Request (Get Full Article)
  • Method: GET
  • URL: https://r.jina.ai/={{ $json.link }}
  • Options: Continue On Fail をON(会員限定記事などで403エラーが出ても停止しないようにする)

Step 5: AIノードによる自社視点インサイトの抽出

取得した記事本文に対し、「自社の事業コンテキスト」を前提知識としてインプットした上で分析を行わせます。

① Chat Modelの接続

  • ノード: OpenAI Chat Model
  • Model: gpt-4o-mini(記事ごとの個別分析は高速・安価なminiで十分です)
  • Temperature: 0.2

② Structured Output Parser(構造化出力)

NotionとSlackへ綺麗にマッピングするため、出力をJSON形式で固定します。

  • ノード: Structured Output Parser
  • JSON Schema:
json{  "type": "object",  "properties": {    "title_ja": { "type": "string", "description": "日本語での簡潔なタイトル" },    "summary_3lines": { "type": "string", "description": "記事の要約(箇条書き3点)" },    "importance": { "type": "string", "enum": ["高", "中", "低"], "description": "当社にとっての重要度" },    "impact_type": { "type": "string", "enum": ["事業機会(Opportunity)", "脅威・リスク(Threat)", "業界動向(Neutral)"] },    "so_what": { "type": "string", "description": "当社事業への具体的な影響と背景の考察(200字程度)" },    "recommended_action": { "type": "string", "description": "当社が今週検討・実行すべき具体的なアクション" }  },  "required": ["title_ja", "summary_3lines", "importance", "impact_type", "so_what", "recommended_action"]}

③ プロンプト設計(System Prompt)

textあなたは当社のチーフストラテジスト(経営戦略・マーケティング責任者)です。以下の【当社の事業プロファイル】を踏まえて、提供された業界ニュース記事を深く分析し、当社にとってのビジネス上の示唆を抽出してください。【当社の事業プロファイル】・会社名:BizAuto株式会社・主要事業:中堅・中小企業向け「業務自動化AIソリューション」の開発・提供・直近の注力テーマ:営業DX、カスタマーサポートのAIエージェント化・主要競合:〇〇社、△△社【分析の視点】単なる客観的なまとめではなく、常に「当社にとって追い風か?脅威か?」「当社のプロダクトや営業トークにどう活かせるか?」という【自社視点】で考察を行ってください。

Step 6: Notionデータベースへの自動蓄積

分析されたデータを、Notionの「業界インテリジェンスDB」に自動保存します。

  • ノード名: Notion
  • Resource: Database Page
  • Operation: Create
  • Database: 業界ニュースナレッジDB
  • Properties Mapping:
    • タイトル={{ $json.output.title_ja }}
    • URL={{ $('Split In Batches').item.json.link }}
    • 重要度={{ $json.output.importance }}
    • 影響区分={{ $json.output.impact_type }}
    • 公開日={{ $('Split In Batches').item.json.date }}
    • AI考察・示唆={{ $json.output.so_what }}
    • 推奨アクション={{ $json.output.recommended_action }}

※このノードの後、線を Split In Batches の入力に戻すことで、5件の記事がすべてループ処理されます。


Step 7: Slackへのリッチサマリー配信

5件のループ処理がすべて完了した(Split In Batches の done 出力)後、Slackに配信する「本日の朝会用ダイジェスト」を投稿します。

  • ノード名: Slack
  • Channel: #general-news や #management-board
  • Blocks (UIレイアウト):
json[  {    "type": "header",    "text": {      "type": "plain_text",      "text": "☕ 今朝の業界インサイト速報 (AI自動分析)"    }  },  {    "type": "section",    "text": {      "type": "mrkdwn",      "text": "*本日ピックアップした最重要ニュース(全5件)*\nNotionデータベースに詳細考察とアクションプランをアーカイブしました。"    }  },  {    "type": "divider"  },  {    "type": "section",    "text": {      "type": "mrkdwn",      "text": "🔴 *【重要度: 高 / 脅威】〇〇社が新AI機能をリリース*\n> *要約:* 競合の〇〇社が中小企業向けに月額無料のAI自動化プラグインを発表。\n> *💡 当社への示唆:* 価格競争に巻き込まれるリスクあり。当社の強みである「専任CSによる導入支援」を前面に出した比較資料を営業チームに展開すべき。"    }  },  {    "type": "actions",    "elements": [      {        "type": "button",        "text": {          "type": "plain_text",          "text": "📚 Notionで全5件のレポートを見る"        },        "url": "https://notion.so/your-workspace/your-database-id",        "style": "primary"      }    ]  }]

5. 実運用で失敗しないための「3つの鉄則」

このワークフローを社内に定着させ、ノイズのない価値あるインフラにするためのベストプラクティスです。

鉄則① 「URLハッシュ」による既読ニュースの完全重複排除

Google検索では、前日と同じ記事が2日連続でヒットすることがあります。 Notionに保存する前に、過去7日間に登録された記事URLの一覧を取得し、すでに登録済みのURLであればスキップする「重複チェック(Filterノード)」を挟むことで、チームに同じニュースが二度届くノイズを完全に防げます。

鉄則② モデルの使い分けによる「速度・コスト・品質」の最適化

  • 記事ごとの個別抽出: gpt-4o-mini や claude-3-haiku(高速・1回0.1円以下)
  • 全体の統合エグゼクティブサマリー: gpt-4o や claude-3-5-sonnet(高度な戦略的思考力)

このようにノードごとにLLMモデルを使い分けることで、毎朝の実行コストを月額数百円レベルに抑えつつ、最高品質のレポートを生成できます。

鉄則③ 自社の「戦略プロンプト」を四半期ごとにアップデートする

会社の事業方針や注力プロダクトは変化します。System Prompt内に記載している【当社の事業プロファイル】や【注力テーマ】を定期的に見直し、「今、自社が最も注視すべきテーマ」を常にAIに最新化してインプットしておくことが、示唆の解像度を高く保つ秘訣です。


6. おわりに:情報収集を「受動的な作業」から「組織の競争優位」へ

この自動化ワークフローを導入することで、チーム全体の朝の風景は一変します。

  • 時間削減: メンバー各自が毎朝30分かけて行っていたニュース巡回がゼロになり、朝イチからコア業務に集中できる。
  • 意思決定の迅速化: 「競合が動いた」という事実だけでなく、「当社はどう動くべきか」という打ち手まで朝8時の時点でチーム全員が共有されている。
  • ナレッジの資産化: 過去の業界トレンドや競合のリリース履歴が、Notion上にタグ付きで完全にデータベース化される。

生成AIとn8nの組み合わせは、単なる「作業の自動化」を超えて、**「チームの集合知と戦略スピードを何倍にも引き上げるインテリジェンスエンジン」**を作り出すことができます。

ぜひ明日からの情報収集を完全自動化し、次世代のデータドリブンな意思決定を体感してみてください!

タイトルとURLをコピーしました