GODRICH

マーケティングオートメーション入門 — 業界ニュース自動監視9選

n8n は、画面上の箱(ノード)をつなぐだけでアプリを自動連携できる、コード不要のツールです。マーケティングオートメーションを調べている広報・マーケ担当の方が、毎日いくつものニュースサイトを巡回するのに疲れているなら、この9つで業界ニュースを自動で見逃さない仕組みが作れます。

自動再生 · タイルを押すとその項目へ · すべて1つのzip

この9つは、ニュース監視を手作業から自動化へ広げていく順番に並べています。まず1つのソースを受け取るところ(01)から始まり、複数ソースをまとめる2通り(02 そのままつなげる・03 ソースごとに数える)に進み、必要なものだけ絞り込む2通り(04 キーワード・05 日付)を経て、結果を整える2通り(06 重複除去・07 表にする)を通り、条件で枝分かれさせる1つ(08)を経て、最後にこの全部を毎日動く形にまとめる1つ(09)で締めくくります。実際の業務でも、たいていこの順番で1つずつ足していくことになります。

01RSS の基本読み込み

サイトを毎回開いて新着を確認する代わりに、RSS Read ノードが最新記事の一覧をそのまま取得し、Set ノードがタイトル・リンク・日付の3項目だけ残します。気になるブログの監視や自動化の第一歩なら、まずこの形からです。

RSS ReadSet → title/link/pubDateV2 실행 확인
{
  "name": "Keep Fields",
  "type": "n8n-nodes-base.set",
  "typeVersion": 3.5,
  "parameters": {
    "mode": "manual",
    "assignments": {
      "assignments": [
        { "name": "title", "value": "={{ $json.title }}", "type": "string" },
        { "name": "link", "value": "={{ $json.link }}", "type": "string" },
        { "name": "pubDate", "value": "={{ $json.pubDate }}", "type": "string" }
      ]
    }
  }
}

022つの RSS を合体して新着順に

2つの RSS Read が別々のサイトを読み込み、Merge ノードが append モードでそのままつなげ、Sort が新しい記事から並べ替えます。複数メディアを1か所でチェックしたい、競合ブログの監視も一緒に見たいという場面では、1つのソースだけでは足りなくなります。

RSS Read ×2Merge appendSort desc → V2 실행 확인
{
  "name": "Merge Append",
  "type": "n8n-nodes-base.merge",
  "typeVersion": 3.2,
  "parameters": {
    "mode": "append",
    "numberInputs": 2
  }
}

03複数フィードの件数を要約

02番が2つのソースを1本の流れに混ぜるのに対し、こちらは Aggregate ノード2つがソース別にタイトルを配列にまとめ、Code ノードがソースごとの件数と代表タイトル3件を持つ要約オブジェクトを作ります。ソースごとの発行量比較や週次レポートの材料が目的なら、混ぜるより分けて数えるこの形が向いています。

RSS Read ×2Aggregate ×2 → Merge by positionCode 요약 → V2 실행 확인
{
  "name": "Build Summary",
  "type": "n8n-nodes-base.code",
  "typeVersion": 2,
  "parameters": {
    "jsCode": "const bbc = $json.bbcTitles || [];\nconst ars = $json.arsTitles || [];\nconst summary = {\n  bbc: { count: bbc.length, titles: bbc.slice(0, 3) },\n  ars: { count: ars.length, titles: ars.slice(0, 3) }\n};\nreturn [{ json: { summary } }];"
  }
}

04キーワードで絞って上位N件だけ

Filter ノードがタイトルに特定のキーワード(大文字小文字を区別しない)を含む記事だけ残し、Limit がそのうち上位3件に絞ります。関心トピックだけ通知を受け取る、ノイズ削減が目的なら、全部を送ってから選ぶより先に絞る方が早いです。

Filter contains(대소문자 무시)Limit 3V2 실행 확인
{
  "conditions": {
    "options": { "caseSensitive": false, "version": 2 },
    "conditions": [
      {
        "leftValue": "={{ $json.title }}",
        "rightValue": "ai",
        "operator": { "type": "string", "operation": "contains" }
      }
    ],
    "combinator": "and"
  }
}

05直近N日以内の記事だけ残す

Filter が dateTime 条件の after 演算子で pubDate を「現在時刻マイナス3日」と比較し、最近の記事だけ残します。週次まとめで古い記事を除外し鮮度を確保したいだけなら、キーワードなしで日付だけで絞るこの形で十分です。

Filter dateTime after$now.minus(days:3)V2 실행 확인
{
  "conditions": [
    {
      "leftValue": "={{ $json.pubDate }}",
      "rightValue": "={{ $now.minus({ days: 3 }) }}",
      "operator": { "type": "dateTime", "operation": "after" }
    }
  ],
  "combinator": "and"
}

06実行ごとに新着だけ残す

Remove Duplicates の Remove Items Processed in Previous Executions 操作が、リンクを基準に前回までの実行で見たことがある記事を除外し、Set が新着に isNew を付けます。毎日同じ時刻に実行しても重複通知なしで新着だけ届けたいなら、1回の実行内だけの重複削除では足りず、実行をまたいだ記憶が必要です。

Remove Duplicatesscope: workflowV2 실행 확인
{
  "name": "Remove Seen Links",
  "type": "n8n-nodes-base.removeDuplicates",
  "typeVersion": 2,
  "parameters": {
    "operation": "removeItemsSeenInPreviousExecutions",
    "logic": "removeItemsWithAlreadySeenKeyValues",
    "dedupeValue": "={{ $json.link }}",
    "options": { "scope": "workflow" }
  }
}

07表で作るニュースダイジェスト

Limit が先頭8件だけ残し、HTML ノードの Convert to HTML Table 操作がそのまま表に変換します。メール本文にニュース表を入れたい、ダッシュボードのウィジェットにしたいなら、リストより表の方が一目で読めます。

Limit 8HTML convertToHtmlTableV2 실행 확인
{
  "name": "Build Table",
  "type": "n8n-nodes-base.html",
  "typeVersion": 1.2,
  "parameters": {
    "operation": "convertToHtmlTable",
    "options": {
      "capitalize": true,
      "caption": "Fox News latest headlines"
    }
  }
}

08キーワードで振り分ける

Switch がタイトルの語で ai・security(または breach)・それ以外の3方向に振り分け、各枝の Set が route ラベルを付け、Merge が再び集約します。テーマ別チャンネルへの自動振り分けや通知ルーティングが3方向以上になると、IF 1つでは手に負えません。

Switch 3 routesfallbackOutput: extraV2 실행 확인
{
  "mode": "rules",
  "rules": {
    "values": [
      {
        "conditions": {
          "conditions": [
            { "leftValue": "={{ $json.title }}", "rightValue": "ai",
              "operator": { "type": "string", "operation": "contains" } }
          ]
        },
        "outputKey": "ai"
      }
    ]
  },
  "options": { "fallbackOutput": "extra", "renameFallbackOutput": "other" }
}

09毎日決まった時刻にダイジェスト配信

Schedule が毎日8:00に起動し(Manual Trigger でもすぐテストできます)、RSS Read が最新記事を取得、Aggregate がタイトルとリンクを配列にまとめ、Markdown がその2つを組み合わせて digest フィールドに入れます。毎朝チームチャンネルへのニュースダイジェストや個人通知ボットとして実際に使うには、予約実行と手動テストが同じ流れの中にある必要があります。

Schedule triggerAtHour 8 + ManualAggregate → MarkdownV2 실행 확인
{
  "name": "Build Digest",
  "type": "n8n-nodes-base.markdown",
  "typeVersion": 1,
  "parameters": {
    "mode": "markdownToHtml",
    "markdown": "={{ '# Daily Digest\\n\\n' + $json.title.map((t, i) => '- [' + t + '](' + $json.link[i] + ')').join('\\n') }}",
    "destinationKey": "digest"
  }
}

準備するもの

9つとも準備物の欄は「なし」ですが、それでも表が必要なのは n8n のバージョンが古いと typeVersion エラーになりうるからです。等級は V0(構造)・V1(インポート確認)・V2(実行まで確認)の3段階で、この編は9つ全部が V2 です。

項目 等級 準備物 n8n バージョン
01 RSS の基本読み込み V2 なし 2.38.5
02 2つの RSS を合体して新着順に V2 なし 2.38.5
03 複数フィードの件数を要約 V2 なし 2.38.5
04 キーワードで絞って上位N件だけ V2 なし 2.38.5
05 直近N日以内の記事だけ残す V2 なし 2.38.5
06 実行ごとに新着だけ残す V2 なし 2.38.5
07 表で作るニュースダイジェスト V2 なし 2.38.5
08 キーワードで振り分ける V2 なし 2.38.5
09 毎日決まった時刻にダイジェスト配信 V2 なし 2.38.5

取り込み方は3通りです。n8n キャンバスで Ctrl/Cmd+V を押して JSON テキストをそのまま貼り付けるか、キャンバスメニューの Import from File で zip 内のファイルを選ぶか、CLI なら n8n import:workflow --input=ファイル.json の一行で済みます。取り込んだ後は左上の Test workflow ボタンを押せばその場で実行できます。

どこで壊れるか

一番静かに人を騙す落とし穴には、06番で遭遇しました — Set ノードの「他の入力フィールドも残す」(Include Other Input Fields)オプションを Options ブロックの中に入れて設定したところ、実行は成功(exit 0)したのに title フィールドだけ静かに消え、isNew だけが残りました。実際にはこのオプションは Options ブロックの中ではなく、mode・assignments と同じ階層にあるノード最上位のパラメータで、間違った場所に入れると n8n は黙ってデフォルト値(false)のまま無視します。この zip を開くパスワードは xu26t3qn で、解凍すると workflows/ の中に9つの JSON がそのまま入っています。06番の Remove Duplicates にはもう一つ似た落とし穴があります。実行をまたいだ記憶(cross-execution scope)を使うため、同じワークフローをテストで何度も回すほど「新着」と判定される件数が減っていき、最終的に0件になると後続の Set ノード自体が実行されず、isNew フィールドがそっくり消える現象も経験しました。

FAQ

n8n cloud でも使えますか?

使えます。これらのワークフローはコミュニティノードやアカウント連携の認証情報を一切使わないので、インポートメニューでそのまま取り込めます。09番の Schedule Trigger だけは、実際に毎日動かすにはワークフローを Active にする必要があります。

自分の n8n のバージョンが違う場合は?

typeVersion エラーが出たら、そのノードをキャンバスで新しく作って export し、実際の値を確認してから下げて使えば大丈夫です。この zip は n8n 2.38.5(Node 24)でインポート・実行の両方を確認済みです。

コードが分からなくても06番の重複除去は理解できますか?

はい。03番の Code ノードを除く残り8つは、すべて n8n の内蔵ノードの組み合わせだけで作られているので、JavaScript を知らなくてもクリックだけで再現できます。06番も Remove Duplicates ノードのオプションを画面で選ぶだけです。詳しいオプションの説明はn8n公式ドキュメントにあります。

n8n を初めて触るなら自動化カテゴリーで続きの例が見られますし、このサイトがどんな基準で検証しているかは紹介ページにまとめています。

解凍パスワードを入力してください

パスワードはこの記事の本文の中にあります。読み進めると出てきます。