MS_TRENDS

中級

これはMarket Research分野の自動化ワークフローで、10個のノードを含みます。主にXml, Code, Telegram, HttpRequest, TelegramTriggerなどのノードを使用。 Telegrambotを通じて特定の国のGoogleトレンドレポートを取得

前提条件
  • Telegram Bot Token
  • ターゲットAPIの認証情報が必要な場合あり

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "9DnO7e6sTnzOsBor",
  "meta": {
    "instanceId": "c92a0c76586da37fb3ac600956b62e842bfa4bd5f52acc7feb4e8a6e75ca1381",
    "templateCredsSetupCompleted": true
  },
  "name": "MS_TRENDS",
  "tags": [],
  "nodes": [
    {
      "id": "b6c68332-9cd6-4b64-b3a4-57c37e665a2f",
      "name": "HTTP リクエスト",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        260,
        0
      ],
      "parameters": {
        "url": "https://trends.google.com/trending/rss",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "geo",
              "value": "={{ $json.message.text }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "930f0f7d-94bb-48a7-80f4-3948ff830131",
      "name": "XML",
      "type": "n8n-nodes-base.xml",
      "position": [
        620,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "88867504-b113-495a-ada0-6d7696482af5",
      "name": "コード",
      "type": "n8n-nodes-base.code",
      "position": [
        980,
        0
      ],
      "parameters": {
        "jsCode": "// 1. Safely access the array of trend items from the input data.\nconst trends = $json.rss?.channel?.item || [];\n\n// If there are no trends, return a friendly message.\nif (trends.length === 0) {\n  return [{\n    json: {\n      text: \"Could not fetch Google Trends data at this time.\"\n    }\n  }];\n}\n\n// 2. Create a dynamic header for the report in Arabic.\nconst today = new Date().toLocaleDateString('ar-EG', {\n  day: 'numeric',\n  month: 'long',\n  year: 'numeric'\n});\nconst header = `🔥 *Trends report for $('Telegram Trigger').first().json.message.text *\\n_${today}_\\n\\n`;\n\n\n// 3. Process the top 5 trend items to create formatted blocks.\nconst trendBlocks = trends\n  .slice(0, 5) // We only want the top 5 trends\n  .map((trend, index) => {\n    // Get the main details for the trend.\n    const rank = index + 1;\n    const title = trend.title;\n    const traffic = trend['ht:approx_traffic'] || 'Not available';\n\n    // Get the top 2 related news articles for this trend.\n    const newsItems = (trend['ht:news_item'] || [])\n      .slice(0, 2) // We only want the top 2 news items\n      .map(news => {\n        const newsTitle = news['ht:news_item_title'];\n        const newsUrl = news['ht:news_item_url'];\n        const newsSource = news['ht:news_item_source'];\n        // Format as: \"• [Article Title](url) - _Source_\"\n        return `• [${newsTitle}](${newsUrl}) - _${newsSource}_`;\n      })\n      .join('\\n');\n\n    // Combine everything into a single block, optimized for RTL.\n    // We put the Arabic title first to help with rendering.\n    return `*${title}* (${rank})\\n📈 *Searches:* ${traffic}\\n🗞️ *Related:*\\n${newsItems}`;\n  })\n  .join('\\n\\n---\\n\\n'); // Join all trend blocks with a separator.\n\n\n// 4. Combine the header and the trend blocks into the final report.\nconst finalReport = header + trendBlocks;\n\n// 5. Wrap the output in the format that n8n expects.\nreturn [{\n  json: {\n    text: finalReport,\n    parse_mode: 'Markdown'\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "c8c768d6-f98b-433c-813e-132d650c4f38",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1340,
        0
      ],
      "webhookId": "eb03235e-b383-40e8-885e-a57f35bb30e2",
      "parameters": {
        "text": "={{ $json.text }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "OymlVCuTPYhVa2B9",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1de3838b-87e9-47b2-879f-7e7bcfb1b76d",
      "name": "Telegram トリガー",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -80,
        0
      ],
      "webhookId": "6ac6fdc4-a1bc-4346-bfb1-680036eab304",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "chatIds": "={{ $env.chat_id }}"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "OymlVCuTPYhVa2B9",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3ed6b167-1d03-43f4-88f3-2a7bff19716e",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        -100
      ],
      "parameters": {
        "color": 6,
        "width": 260,
        "height": 280,
        "content": "## Fetch trends \nGets trends for provided country code"
      },
      "typeVersion": 1
    },
    {
      "id": "c08ee391-6aa5-4daf-83e3-6167ad87e6c3",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        -100
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 280,
        "content": "## Convert to json"
      },
      "typeVersion": 1
    },
    {
      "id": "8f675ed7-2a06-497b-87ea-6e2e9755914d",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        900,
        -100
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 280,
        "content": "## Prepare report"
      },
      "typeVersion": 1
    },
    {
      "id": "74c4d562-f0dc-4c0a-8a08-1b6d22372f51",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        -100
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 280,
        "content": "## Send report"
      },
      "typeVersion": 1
    },
    {
      "id": "9419f0f0-ed18-4d48-bc8a-cea1a3efff1b",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        -160
      ],
      "parameters": {
        "width": 260,
        "height": 120,
        "content": "## Send country code\nEG | US | SA | ..."
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "22911120-2f7e-4017-b43d-94636740d997",
  "connections": {
    "930f0f7d-94bb-48a7-80f4-3948ff830131": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "c8c768d6-f98b-433c-813e-132d650c4f38",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "930f0f7d-94bb-48a7-80f4-3948ff830131",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 市場調査

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数10
カテゴリー1
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34