Alertas de noticias de última hora de geopolítica
Este es unMarket Research, AI Summarizationflujo de automatización del dominio deautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, Code, Merge, Telegram, DataTable. Filtrar noticias geopolíticas de última hora usando puntuación de IA y alertas de Telegram
- •Bot Token de Telegram
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
Nodos utilizados (30)
{
"id": "lShjTFAvAhSAuAA6",
"meta": {
"instanceId": "083ea1756bbf8db2f276e993d532dc5e33f75383025a15da854248b05c1849de"
},
"name": "Geopolitics Breaking News Alert",
"tags": [],
"nodes": [
{
"id": "7bc7ba9e-31e0-4196-8d00-9f71ff966444",
"name": "Cada 30 Minutos",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-592,
384
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 30
}
]
}
},
"typeVersion": 1.2
},
{
"id": "46266983-54ba-4977-b6af-dabc6ee1ed4a",
"name": "Fuente RSS NYT",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
112
],
"parameters": {
"url": "https://rss.nytimes.com/services/xml/rss/nyt/World.xml",
"options": {}
},
"typeVersion": 1
},
{
"id": "05342734-972c-49d1-82d7-3622f96f42f1",
"name": "Fuente RSS TOI",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
240
],
"parameters": {
"url": "https://timesofindia.indiatimes.com/rssfeedstopstories.cms",
"options": {}
},
"typeVersion": 1
},
{
"id": "2f195f01-5e2e-439b-9954-a25f902f399f",
"name": "Fuente RSS Al Jazeera",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
368
],
"parameters": {
"url": "https://www.aljazeera.com/xml/rss/all.xml",
"options": {}
},
"typeVersion": 1
},
{
"id": "13811cd7-80cb-43cf-a18d-ecebfb56eea9",
"name": "Fuente RSS BBC",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
528
],
"parameters": {
"url": "http://feeds.bbci.co.uk/news/world/rss.xml",
"options": {}
},
"typeVersion": 1
},
{
"id": "e29a459e-5fbf-4703-bcfc-e389b36d7b89",
"name": "Filtro Dinámico",
"type": "n8n-nodes-base.code",
"position": [
640,
368
],
"parameters": {
"jsCode": "// Dynamic Filter Node - Config-Driven Filtering\n const config = $('Load Config from Google Drive').first().json;\n\n const primaryKeywords = config.primary_keywords;\n const secondaryKeywords = config.secondary_keywords;\n\n const filtered = [];\n\n for (const item of $input.all()) {\n const text = `${item.json.title} ${item.json.contentSnippet}`.toLowerCase();\n\n // Must mention at least one primary keyword\n const hasPrimary = primaryKeywords.some(kw => text.includes(kw.toLowerCase()));\n\n // Must mention at least one secondary keyword\n const hasSecondary = secondaryKeywords.some(kw => text.includes(kw.toLowerCase()));\n\n if (hasPrimary && hasSecondary) {\n filtered.push({\n json: {\n ...item.json,\n config: config\n }\n });\n }\n }\n\n return filtered;"
},
"typeVersion": 2
},
{
"id": "4e7b8918-071d-43da-b39a-68f09d1aa720",
"name": "Enviar Alerta de Noticia de Última Hora",
"type": "n8n-nodes-base.telegram",
"position": [
2032,
576
],
"webhookId": "271ae674-a0c3-4b7f-a986-e8709bcd6d2d",
"parameters": {
"text": "=={{ $json.message }}",
"chatId": "={{ $json.config.telegram_chat_id }}",
"additionalFields": {
"parse_mode": "HTML"
}
},
"credentials": {
"telegramApi": {
"id": "TlRyprl4PMViOx6S",
"name": "Telegram account 2"
}
},
"typeVersion": 1
},
{
"id": "ba46bf0d-81a8-4ea5-8973-79452159ed0a",
"name": "Analizador de Noticias de Última Hora",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1136,
368
],
"parameters": {
"text": "={{ \"Analyze this article:\\n\\nTitle: \" + $json.title + \"\\n\\nContent: \" + $json.contentSnippet + \"\\n\\nLink: \" +\n $json.link + \"\\n\\nSource: \" + $json.source + \"\\n\\nPublished: \" + $json.pubDate }}",
"options": {
"systemMessage": "={{ $json.systemPrompt }}"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "2fd4e417-8ac3-42eb-9a30-c7b9a1346317",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1104,
576
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "gpt-4o-mini"
},
"options": {
"temperature": 0.3
}
},
"credentials": {
"openAiApi": {
"id": "7os4DH2Wu3pY84Oy",
"name": "N8N Key"
}
},
"typeVersion": 1.2
},
{
"id": "01953c30-52e2-46cd-8255-ec7373d1ff40",
"name": "Analizador de Salida Estructurada",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1312,
560
],
"parameters": {
"jsonSchemaExample": "{\n \"score\": 8,\n \"category\": \"Trade Policy\",\n \"alert_topic\": \"India announces new tariffs on Chinese imports\",\n \"alert_description\": \"Government unveils comprehensive tariff structure affecting electronics and manufacturing sectors\",\n \"impact\": \"Significant escalation in trade tensions, potential retaliation expected\",\n \"source\": \"Times of India\",\n \"timestamp\": \"2025-10-25T20:30:00+05:30\",\n \"link\": \"https://timesofindia.indiatimes.com/article/12345\",\n \"should_alert\": true\n }"
},
"typeVersion": 1.3
},
{
"id": "5c161610-bfa8-4da1-a82a-23666d185de6",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1664,
592
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8d463a8b-52db-4065-80cd-b6f6ff5ed5ec",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.output.should_alert }}",
"rightValue": {}
}
]
}
},
"typeVersion": 2.2
},
{
"id": "edda078a-b0be-4ee3-845f-88aa6851416a",
"name": "Fuente RSS SCMP",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
704
],
"parameters": {
"url": "https://www.scmp.com/rss/3/feed",
"options": {}
},
"typeVersion": 1
},
{
"id": "95b00893-33a7-4b6c-b365-11c317760351",
"name": "Fuente RSS NDTV",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
0,
880
],
"parameters": {
"url": "https://feeds.feedburner.com/ndtvnews-top-stories",
"options": {}
},
"typeVersion": 1
},
{
"id": "393a1952-9bb8-416b-8096-09c8d5b81ff0",
"name": "Verificar Duplicados",
"type": "n8n-nodes-base.dataTable",
"position": [
800,
368
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "article_link",
"keyValue": "=={{ $json.link }}"
}
]
},
"matchType": "allConditions",
"operation": "rowNotExists",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "pYQedxIAvf9PQdAF",
"cachedResultUrl": "/projects/5Iw2tLn8DOp3x4nk/datatables/pYQedxIAvf9PQdAF",
"cachedResultName": "analyzed_articles"
}
},
"typeVersion": 1
},
{
"id": "92a6bdd3-bc80-46e7-b0a3-3b806ef3bdc1",
"name": "Registrar Artículo Analizado",
"type": "n8n-nodes-base.dataTable",
"position": [
1504,
272
],
"parameters": {
"columns": {
"value": {
"score": "={{ $json.output.score }}",
"title": "=={{ $json.output.alert_topic }}",
"analyzed_at": "={{ $now.toISO() }}",
"article_link": "=={{ $json.output.link }}"
},
"schema": [
{
"id": "article_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_link",
"defaultMatch": false
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false
},
{
"id": "analyzed_at",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "analyzed_at",
"defaultMatch": false
},
{
"id": "score",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "score",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "pYQedxIAvf9PQdAF",
"cachedResultUrl": "/projects/5Iw2tLn8DOp3x4nk/datatables/pYQedxIAvf9PQdAF",
"cachedResultName": "analyzed_articles"
}
},
"typeVersion": 1
},
{
"id": "4ff7d6dc-8421-439d-a98a-3e8233dbedd3",
"name": "Limpiar Registros Antiguos",
"type": "n8n-nodes-base.dataTable",
"position": [
1744,
272
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "analyzed_at",
"keyValue": "={{ $now.minus({days: 7}).toISO() }}",
"condition": "lt"
}
]
},
"options": {},
"operation": "deleteRows",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "pYQedxIAvf9PQdAF",
"cachedResultUrl": "/projects/5Iw2tLn8DOp3x4nk/datatables/pYQedxIAvf9PQdAF",
"cachedResultName": "analyzed_articles"
}
},
"typeVersion": 1
},
{
"id": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"name": "Combinar",
"type": "n8n-nodes-base.merge",
"position": [
288,
304
],
"parameters": {
"numberInputs": 6
},
"typeVersion": 3.2
},
{
"id": "54527b07-b8c7-4744-80c8-257bad8bafb6",
"name": "Agregar Alertas",
"type": "n8n-nodes-base.code",
"position": [
1856,
576
],
"parameters": {
"jsCode": "// Aggregate all alerts into a single message\n const items = $input.all();\n\n if (items.length === 0) {\n return [];\n }\n\n // Get config from first item\n const config = items[0].json.output.config || items[0].json.config;\n\n // Build consolidated message\n let message = `🚨 BREAKING NEWS ALERTS (${items.length} items)\\n\\n`;\n\n items.forEach((item, index) => {\n const output = item.json.output;\n\n message += `━━━━━━━━━━━━━━━━━━━━\\n`;\n message += `${index + 1}. BREAKING: ${output.category}\\n\\n`;\n message += `📰 Source: ${output.source}\\n`;\n message += `💥 Impact: ${output.impact}\\n\\n`;\n message += `📌 ${output.alert_topic}\\n\\n`;\n message += `📄 ${output.alert_description}\\n\\n`;\n message += `🔗 Read More: ${output.link}\\n\\n`;\n message += `⏰ Alert Time: ${output.timestamp}\\n`;\n message += `Score: ${output.score}\\n\\n`;\n });\n\n // Return single item with consolidated message AND config\n return [{\n json: {\n message: message,\n config: config\n }\n }];"
},
"typeVersion": 2
},
{
"id": "cd47ab51-4722-497e-874a-7b6f727c0616",
"name": "Generador Dinámico de Prompt de IA",
"type": "n8n-nodes-base.code",
"position": [
976,
368
],
"parameters": {
"jsCode": "// Dynamic AI Prompt Generator\n const items = $input.all();\n const results = [];\n\n for (const item of items) {\n // Get config from item or Google Drive HTTP Request node\n const config = item.json.config || $('Load Config from Google Drive').first().json;\n\n // Build scoring criteria text\n let criteriaText = '';\n for (const rule of config.scoring_criteria) {\n criteriaText += ` • ${rule.category} (${rule.score_min}-${rule.score_max}): ${rule.description}\\n`;\n }\n\n // Generate dynamic system prompt\n const systemPrompt = `You are a ${config.ai_role}. Analyze RSS articles for breaking news urgency.\n\n BREAKING NEWS CRITERIA:\n ${criteriaText}\n NOT BREAKING (1-4): Routine updates, opinion pieces\n\n INSTRUCTIONS:\n You receive: title, contentSnippet, link, source, pubDate\n\n 1. Analyze urgency score (1-10)\n 2. If score < ${config.alert_threshold}: Set should_alert = false\n 3. If score >= ${config.alert_threshold}: Set should_alert = true\n\n Always return ALL these fields:\n - score: [1-10 based on breaking news urgency]\n - category: [Category name matching the score range]\n - alert_topic: [use the article title]\n - alert_description: [use contentSnippet]\n - impact: [your one-sentence impact analysis]\n - source: [use source field]\n - timestamp: [use pubDate]\n - link: [use link field]\n - should_alert: [false if score < ${config.alert_threshold}, true if score >= ${config.alert_threshold}]`;\n\n // Add systemPrompt to item\n results.push({\n json: {\n ...item.json,\n systemPrompt: systemPrompt,\n config: config\n }\n });\n }\n\n return results;"
},
"typeVersion": 2
},
{
"id": "1fa522e9-1f26-4b4f-98a6-f9815d31c9e4",
"name": "Nodo de Limpieza RSS",
"type": "n8n-nodes-base.code",
"position": [
448,
368
],
"parameters": {
"jsCode": " // Strip HTML tags helper function\n const stripHTML = (html) => {\n if (!html) return '';\n return html.replace(/<[^>]*>/g, '').trim();\n };\n\n // Process all items and normalize to required fields only\n const cleanedItems = [];\n\n for (const item of $input.all()) {\n const json = item.json;\n\n // Extract source (try multiple fields with fallback chain)\n const source = json.creator || json['dc:creator'] || json.author || 'Unknown';\n\n // Handle empty contentSnippet - fallback to content and strip HTML\n const contentSnippet = json.contentSnippet || stripHTML(json.content) || '';\n\n // Use isoDate for consistency (standardized ISO 8601 format)\n const pubDate = json.isoDate || json.pubDate;\n\n // Build clean item with ONLY required fields\n cleanedItems.push({\n json: {\n // CRITICAL fields (order matters for readability)\n link: json.link, // Unique identifier\n title: json.title, // Article headline\n contentSnippet: contentSnippet, // Clean summary text\n pubDate: pubDate, // Timestamp\n source: source // Source attribution\n }\n });\n }\n\n return cleanedItems;"
},
"typeVersion": 2
},
{
"id": "ad0208aa-904a-40fa-8f76-bd0f67e705cd",
"name": "Cargar Configuración desde Google Drive",
"type": "n8n-nodes-base.httpRequest",
"position": [
-336,
384
],
"parameters": {
"url": "https://drive.usercontent.google.com/download?id=15tO_RUnFTDkANVocx0es7k9PZ-VxFLgc&export=download",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "c8910a76-d742-44ae-bf4b-50fa3ca4bf44",
"name": "Reasignar Configuración",
"type": "n8n-nodes-base.code",
"position": [
1504,
592
],
"parameters": {
"jsCode": "// Re-attach config that was stripped by AI Agent\n const items = $input.all();\n const results = [];\n\n for (const item of items) {\n // Get config from earlier in the flow\n const config = $('Load Config from Google Drive').first().json;\n\n results.push({\n json: {\n ...item.json,\n config: config\n }\n });\n }\n\n return results;"
},
"typeVersion": 2
},
{
"id": "81d824f6-74e3-49bf-b460-fa8b700a778f",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1264,
64
],
"parameters": {
"width": 528,
"height": 768,
"content": "# Geopolitics Breaking News Alert System\n\n**Smart filtering + AI scoring for cost-efficient geopolitical monitoring**\n\nThis workflow filters 200+ daily articles down to critical breaking news alerts using keyword filtering and AI urgency scoring.\n\n## 🎯 Use Case\nMonitor any geopolitical region (India, China, Middle East, Russia-Ukraine) for breaking news. Smart dual-layer filtering reduces AI costs by 80-90%. AI scores urgency (1-10) to distinguish breaking news from routine coverage. Real-time Telegram alerts for high-priority events only.\n\n## 🔧 How it Works\n1. Schedule Trigger runs every 30min (configurable)\n2. Load Config from Google Drive (keywords, scoring rules)\n3. Fetch RSS from 6 international news sources (~200 articles)\n4. Dynamic Filter applies primary + secondary keyword logic (~5 relevant articles)\n5. Check Duplicates to skip already-analyzed articles\n6. AI Analyzer scores geopolitical urgency (1-10 scale)\n7. Send Telegram Alert for consolidated breaking news (score >= threshold)\n\n**Entire documentation available in [Github Repo](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/tree/master)**\n#. [N8N Workflow Architecture](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/ARCHITECTURE.md)\n#. [Config Files](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/tree/master/configs)\n#. [Set Up Guide](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/SETUP_GUIDE.md)\n#. [Different Use Cases](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/USE_CASES.md)"
},
"typeVersion": 1
},
{
"id": "43e604e7-36b8-4ef9-a413-d13303419394",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-688,
288
],
"parameters": {
"width": 288,
"height": 416,
"content": "## Scheduling Node\ncurrently set at 30 mins interval but change it as per your requirements"
},
"typeVersion": 1
},
{
"id": "761c0e99-29a2-42d1-8d77-8b050e2c5438",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
288
],
"parameters": {
"width": 256,
"height": 416,
"content": "## [Loading Config Info.](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/ARCHITECTURE.md)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[1) Link to different config json files](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/tree/master/configs)\n[2). Explanation about different config use cases](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/USE_CASES.md)"
},
"typeVersion": 1
},
{
"id": "085d279a-499c-4b4a-b1ae-b8dbc6596d21",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
64
],
"parameters": {
"width": 864,
"height": 672,
"content": "## [Pre-Processing Nodes](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/ARCHITECTURE.md)\n1. Merge Data coming from various RSS Feeds\n2. Clean up info. not required for processing\n3. Use the Primary and Secondary Filters from the Load Config File\n4. Check for Duplicate Articles (i.e articles already triggered in previous runs) \n5. Create the Dynamic Prompt Generator for use in Breaking News Analyzer Node\n"
},
"typeVersion": 1
},
{
"id": "6a57e769-e103-4da1-bb49-1997b2594334",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
64
],
"parameters": {
"width": 320,
"height": 672,
"content": "## Breaking News Analyzer\n1. Used to [Score Articles](https://github.com/devdutta/n8n-geopolitics-breaking-news-alert/blob/master/USE_CASES.md#customizing-scoring-mechanism) for different Alert Levels via the Dynamic System Prompt Generator using Scoring Rules coming from Config Files\n2. Uses AI Agent with Open AI Chat Model running gpt-4o-mini (with temperature set at 0.3 for consistent results)"
},
"typeVersion": 1
},
{
"id": "44db6207-6985-44a7-b86b-4cdfcf267b62",
"name": "Nota Adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
64
],
"parameters": {
"width": 320,
"height": 960,
"content": "## Uses 6 RSS News Feeds"
},
"typeVersion": 1
},
{
"id": "4e0237b2-ec6b-4494-9b0d-ce3fb7b831d3",
"name": "Nota Adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1456,
64
],
"parameters": {
"width": 752,
"height": 352,
"content": "## Data Insertion and Clean Up Nodes\n1. Inserts all articles into the \"analyzed_articles\" n8n Data Table so that duplicate article checks can be done on next runs\n2. Clean Up Node - removes articles from \"analyzed_articles\" N8N Data Table for articles which are more than 7 days old"
},
"typeVersion": 1
},
{
"id": "4ac931f5-7399-4b3c-b731-21a42aeaf52f",
"name": "Nota Adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1456,
432
],
"parameters": {
"width": 752,
"height": 304,
"content": "## Post-Processing Nodes\n1. Re-attach Config - To bring the \"alert_threshold\" (Scoring Threshold) value from the upstream Config Files\n2. If Node - Only pass the Articles >6 score to the True Branch (alert_threshold is set to 6)\n3. Aggregate Alerts- Aggregates All Alerts passing the threshold\n4. Telegram Message Node - Send the aggregated messages to Telegram Chat Node using the Telegram Chat Id again referenced from the Config Files"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "d1251d3e-6269-4e02-a2cc-2a6322d81169",
"connections": {
"5c161610-bfa8-4da1-a82a-23666d185de6": {
"main": [
[
{
"node": "54527b07-b8c7-4744-80c8-257bad8bafb6",
"type": "main",
"index": 0
}
]
]
},
"d339eb01-08c7-4d8b-9ed4-bfb88816f915": {
"main": [
[
{
"node": "1fa522e9-1f26-4b4f-98a6-f9815d31c9e4",
"type": "main",
"index": 0
}
]
]
},
"13811cd7-80cb-43cf-a18d-ecebfb56eea9": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 3
}
]
]
},
"46266983-54ba-4977-b6af-dabc6ee1ed4a": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 0
}
]
]
},
"05342734-972c-49d1-82d7-3622f96f42f1": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 1
}
]
]
},
"95b00893-33a7-4b6c-b365-11c317760351": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 5
}
]
]
},
"edda078a-b0be-4ee3-845f-88aa6851416a": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 4
}
]
]
},
"e29a459e-5fbf-4703-bcfc-e389b36d7b89": {
"main": [
[
{
"node": "393a1952-9bb8-416b-8096-09c8d5b81ff0",
"type": "main",
"index": 0
}
]
]
},
"54527b07-b8c7-4744-80c8-257bad8bafb6": {
"main": [
[
{
"node": "4e7b8918-071d-43da-b39a-68f09d1aa720",
"type": "main",
"index": 0
}
]
]
},
"7bc7ba9e-31e0-4196-8d00-9f71ff966444": {
"main": [
[
{
"node": "ad0208aa-904a-40fa-8f76-bd0f67e705cd",
"type": "main",
"index": 0
}
]
]
},
"1fa522e9-1f26-4b4f-98a6-f9815d31c9e4": {
"main": [
[
{
"node": "e29a459e-5fbf-4703-bcfc-e389b36d7b89",
"type": "main",
"index": 0
}
]
]
},
"c8910a76-d742-44ae-bf4b-50fa3ca4bf44": {
"main": [
[
{
"node": "5c161610-bfa8-4da1-a82a-23666d185de6",
"type": "main",
"index": 0
}
]
]
},
"2fd4e417-8ac3-42eb-9a30-c7b9a1346317": {
"ai_languageModel": [
[
{
"node": "ba46bf0d-81a8-4ea5-8973-79452159ed0a",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2f195f01-5e2e-439b-9954-a25f902f399f": {
"main": [
[
{
"node": "d339eb01-08c7-4d8b-9ed4-bfb88816f915",
"type": "main",
"index": 2
}
]
]
},
"393a1952-9bb8-416b-8096-09c8d5b81ff0": {
"main": [
[
{
"node": "cd47ab51-4722-497e-874a-7b6f727c0616",
"type": "main",
"index": 0
}
]
]
},
"Filter India Keywords": {
"main": [
[
{
"node": "393a1952-9bb8-416b-8096-09c8d5b81ff0",
"type": "main",
"index": 0
}
]
]
},
"ba46bf0d-81a8-4ea5-8973-79452159ed0a": {
"main": [
[
{
"node": "c8910a76-d742-44ae-bf4b-50fa3ca4bf44",
"type": "main",
"index": 0
},
{
"node": "92a6bdd3-bc80-46e7-b0a3-3b806ef3bdc1",
"type": "main",
"index": 0
}
]
]
},
"92a6bdd3-bc80-46e7-b0a3-3b806ef3bdc1": {
"main": [
[
{
"node": "4ff7d6dc-8421-439d-a98a-3e8233dbedd3",
"type": "main",
"index": 0
}
]
]
},
"01953c30-52e2-46cd-8255-ec7373d1ff40": {
"ai_outputParser": [
[
{
"node": "ba46bf0d-81a8-4ea5-8973-79452159ed0a",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"cd47ab51-4722-497e-874a-7b6f727c0616": {
"main": [
[
{
"node": "ba46bf0d-81a8-4ea5-8973-79452159ed0a",
"type": "main",
"index": 0
}
]
]
},
"ad0208aa-904a-40fa-8f76-bd0f67e705cd": {
"main": [
[
{
"node": "46266983-54ba-4977-b6af-dabc6ee1ed4a",
"type": "main",
"index": 0
},
{
"node": "05342734-972c-49d1-82d7-3622f96f42f1",
"type": "main",
"index": 0
},
{
"node": "2f195f01-5e2e-439b-9954-a25f902f399f",
"type": "main",
"index": 0
},
{
"node": "13811cd7-80cb-43cf-a18d-ecebfb56eea9",
"type": "main",
"index": 0
},
{
"node": "edda078a-b0be-4ee3-845f-88aa6851416a",
"type": "main",
"index": 0
},
{
"node": "95b00893-33a7-4b6c-b365-11c317760351",
"type": "main",
"index": 0
}
]
]
}
}
}¿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?
Avanzado - Investigación de mercado, Resumen de IA
¿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.
Flujos de trabajo relacionados recomendados
Dev Dutta
@devduttaData and Product Analytics| Business Intelligence| Data Governance| Tech. Strategy| Driving Digital Transformation Programs| Process Automation | Agentic AI
Compartir este flujo de trabajo