MS_TRENDS

Intermedio

Este es unMarket Researchflujo de automatización del dominio deautomatización que contiene 10 nodos.Utiliza principalmente nodos como Xml, Code, Telegram, HttpRequest, TelegramTrigger. Obtener informes de tendencias de Google para un país específico a través de un bot de Telegram

Requisitos previos
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "9DnO7e6sTnzOsBor",
  "meta": {
    "instanceId": "c92a0c76586da37fb3ac600956b62e842bfa4bd5f52acc7feb4e8a6e75ca1381",
    "templateCredsSetupCompleted": true
  },
  "name": "MS_TRENDS",
  "tags": [],
  "nodes": [
    {
      "id": "b6c68332-9cd6-4b64-b3a4-57c37e665a2f",
      "name": "Solicitud 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": "Código",
      "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": "Disparador de 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": "Nota adhesiva",
      "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": "Nota adhesiva1",
      "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": "Nota adhesiva2",
      "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": "Nota adhesiva3",
      "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": "Nota adhesiva4",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Investigación de mercado

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos10
Categoría1
Tipos de nodos6
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34