Monitoreo de precios de productos multi-sitio: Claude-Sonnet, Google Sheets y alertas de Telegram

Avanzado

Este es unMarket Research, AI Summarizationflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como Code, Wait, Merge, SplitOut, Telegram. Sistema de monitoreo de precios de comercio electrónico con Firecrawl, Claude-Sonnet AI y notificaciones de Telegram

Requisitos previos
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
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": "YnD0kvM9AYMjYxmj",
  "meta": {
    "instanceId": "b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502",
    "templateCredsSetupCompleted": true
  },
  "name": "Multi-Site Product Price Monitor: Claude-Sonnet , Google Sheets & Telegram Alert",
  "tags": [
    {
      "id": "7zsdOA50QGm7RNqx",
      "name": "Monitoring",
      "createdAt": "2025-10-23T16:41:17.031Z",
      "updatedAt": "2025-10-23T16:41:17.031Z"
    },
    {
      "id": "BL8TsHYj5FkNYzfi",
      "name": "E-commerce",
      "createdAt": "2025-10-23T16:41:16.985Z",
      "updatedAt": "2025-10-23T16:41:16.985Z"
    },
    {
      "id": "dlf9zFSN3j6s2jgO",
      "name": "Business Intelligence",
      "createdAt": "2025-10-23T16:41:17.008Z",
      "updatedAt": "2025-10-23T16:41:17.008Z"
    },
    {
      "id": "lpozR2Ct8reF9bCk",
      "name": "AI",
      "createdAt": "2025-10-23T16:41:17.062Z",
      "updatedAt": "2025-10-23T16:41:17.062Z"
    }
  ],
  "nodes": [
    {
      "id": "306294b3-27b8-4821-9b04-0e8d210af07e",
      "name": "⏰ Monitorear Cada 6 Horas",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "Triggers the workflow every 6 hours to check competitor data",
      "position": [
        -832,
        352
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 6
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8b934690-1e26-4810-820d-8ff785691adf",
      "name": "Raspar una URL y obtener su contenido",
      "type": "@mendable/n8n-nodes-firecrawl.firecrawl",
      "position": [
        -1408,
        96
      ],
      "parameters": {
        "url": "https://www.on.com/en-sg/shop/mens/shoes",
        "operation": "scrape",
        "scrapeOptions": {
          "options": {
            "formats": {
              "format": [
                {
                  "type": "json",
                  "prompt": "price of the shoe"
                }
              ]
            },
            "headers": {}
          }
        },
        "requestOptions": {}
      },
      "credentials": {
        "firecrawlApi": {
          "id": "t2Tp5wdqfarSfsZ4",
          "name": "Firecrawl account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "90ed5eb7-6236-47e1-88c6-c5278efe24fa",
      "name": "Enviar mensaje a un modelo",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        -1568,
        0
      ],
      "parameters": {
        "model": "sonar",
        "options": {},
        "messages": {
          "message": [
            {
              "content": "Price of the shoe  "
            }
          ]
        },
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "id": "hmDBlVXt4GJKfIfz",
          "name": "Perplexity account new"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e1e006de-d363-4e5a-adbd-77ffc901f42d",
      "name": "Dividir",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -1296,
        0
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "citations"
      },
      "typeVersion": 1
    },
    {
      "id": "11fdf8bc-aa37-4f42-8bbe-8e16c47c8b47",
      "name": "Obtener Resultados Apify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1216,
        272
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/compass~google-maps-extractor/runs/last/dataset/items?token=YOUR API KEY",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "vPMKFhRN7iuRAL86",
          "name": "Apify"
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "b6a20e25-d82a-493b-b305-066e043f6ba1",
      "name": "Iniciar Actor Apify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1616,
        272
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/compass~google-maps-extractor/runs?token=YOUR API KEY",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n    \"language\": \"en\",\n    \"locationQuery\": \"worldwide\",\n    \"maxCrawledPlacesPerSearch\": 50,\n    \"searchStringsArray\": [\n        \"shoe stores\",\n        \"shoe shops\"\n    ],\n    \"skipClosedPlaces\": false\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "vPMKFhRN7iuRAL86",
          "name": "Apify"
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "47a1e71a-6bbf-4cfe-82f1-b46744d247ee",
      "name": "Convertir texto AI no estructurado en campos de datos organizados y utilizables",
      "type": "n8n-nodes-base.code",
      "notes": "Parses and validates the AI extracted data",
      "position": [
        -576,
        192
      ],
      "parameters": {
        "jsCode": "// Parse AI response and clean data\nconst items = [];\n\nfor (const item of $input.all()) {\n  try {\n    // Parse the AI response\n    let parsed;\n    const response = item.json.choices?.[0]?.message?.content || item.json.message || '';\n    \n    // Remove markdown code blocks if present\n    const cleaned = response.replace(/```json\\n?|```\\n?/g, '').trim();\n    \n    try {\n      parsed = JSON.parse(cleaned);\n    } catch (e) {\n      // Try to extract JSON from the response\n      const jsonMatch = cleaned.match(/\\{[\\s\\S]*\\}/);\n      if (jsonMatch) {\n        parsed = JSON.parse(jsonMatch[0]);\n      } else {\n        throw new Error('Could not parse JSON from AI response');\n      }\n    }\n    \n    // Enrich with metadata\n    items.push({\n      json: {\n        ...parsed,\n        scrapedAt: new Date().toISOString(),\n        priceChange: 0, // Will be calculated in comparison\n        priceChangePercent: 0,\n        isNewLow: false,\n        alertLevel: 'none'\n      }\n    });\n  } catch (error) {\n    console.error('Failed to parse item:', error.message);\n    // Add error item for debugging\n    items.push({\n      json: {\n        error: error.message,\n        rawResponse: item.json,\n        competitorName: 'Parse Error',\n        scrapedAt: new Date().toISOString()\n      }\n    });\n  }\n}\n\nreturn items;"
      },
      "typeVersion": 2
    },
    {
      "id": "3e8d7348-ccef-4cb5-aca4-d5ed6f210199",
      "name": "🔀 Combinar Actual con Histórico1",
      "type": "n8n-nodes-base.merge",
      "notes": "Combines current scrape with historical data for comparison",
      "position": [
        -384,
        224
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "fieldsToMatchString": "rawResponse.message.content"
      },
      "typeVersion": 3
    },
    {
      "id": "7e24cbab-31e4-47ba-97f2-9a7a71335905",
      "name": "🔍 Detectar Cambios de Precio y Stock1",
      "type": "n8n-nodes-base.code",
      "notes": "Intelligent change detection with alert level classification",
      "position": [
        -208,
        224
      ],
      "parameters": {
        "jsCode": "// Compare current prices with historical and detect changes\nconst results = [];\n\nfor (const item of $input.all()) {\n  const current = item.json;\n  \n  // Skip error items\n  if (current.error) {\n    results.push({ json: current });\n    continue;\n  }\n  \n  // Find historical data for this competitor\n  const historical = $('📊 Read Historical Data').all()\n    .find(h => h.json.competitorName === current.competitorName);\n  \n  let alertLevel = 'none';\n  let changes = [];\n  \n  if (historical && historical.json.currentPrice) {\n    const oldPrice = parseFloat(historical.json.currentPrice);\n    const newPrice = parseFloat(current.currentPrice);\n    const priceChange = newPrice - oldPrice;\n    const priceChangePercent = ((priceChange / oldPrice) * 100).toFixed(2);\n    \n    current.priceChange = priceChange;\n    current.priceChangePercent = parseFloat(priceChangePercent);\n    current.previousPrice = oldPrice;\n    \n    // Determine alert level based on price changes\n    if (Math.abs(priceChangePercent) >= 20) {\n      alertLevel = 'critical';\n      changes.push(`Price ${priceChange > 0 ? 'increased' : 'decreased'} by ${Math.abs(priceChangePercent)}%`);\n    } else if (Math.abs(priceChangePercent) >= 10) {\n      alertLevel = 'warning';\n      changes.push(`Price ${priceChange > 0 ? 'increased' : 'decreased'} by ${Math.abs(priceChangePercent)}%`);\n    } else if (Math.abs(priceChangePercent) >= 5) {\n      alertLevel = 'info';\n      changes.push(`Minor price change: ${priceChangePercent}%`);\n    }\n    \n    // Check if it's a new low price\n    const historicalLow = parseFloat(historical.json.lowestPrice || oldPrice);\n    if (newPrice < historicalLow) {\n      current.isNewLow = true;\n      alertLevel = alertLevel === 'none' ? 'info' : alertLevel;\n      changes.push('🎯 NEW LOWEST PRICE!');\n    }\n    current.lowestPrice = Math.min(newPrice, historicalLow);\n    \n    // Stock level changes\n    if (historical.json.stockLevel !== current.stockLevel) {\n      if (current.stockLevel === 'Out of Stock') {\n        alertLevel = 'critical';\n        changes.push('📦 Product went OUT OF STOCK');\n      } else if (current.stockLevel === 'Low Stock') {\n        alertLevel = alertLevel === 'none' ? 'warning' : alertLevel;\n        changes.push('⚠️ Stock level is LOW');\n      } else if (historical.json.stockLevel === 'Out of Stock' && current.inStock) {\n        alertLevel = alertLevel === 'none' ? 'info' : alertLevel;\n        changes.push('✅ Back in stock!');\n      }\n    }\n    \n    // Rating changes\n    const oldRating = parseFloat(historical.json.rating || 0);\n    const newRating = parseFloat(current.rating || 0);\n    const ratingChange = newRating - oldRating;\n    \n    if (Math.abs(ratingChange) >= 0.5) {\n      alertLevel = alertLevel === 'none' ? 'info' : alertLevel;\n      changes.push(`⭐ Rating ${ratingChange > 0 ? 'improved' : 'dropped'} by ${Math.abs(ratingChange).toFixed(1)} stars`);\n    }\n    \n    // Review count changes\n    const oldReviews = parseInt(historical.json.reviewCount || 0);\n    const newReviews = parseInt(current.reviewCount || 0);\n    const reviewDiff = newReviews - oldReviews;\n    \n    if (reviewDiff > 0) {\n      changes.push(`💬 ${reviewDiff} new review${reviewDiff > 1 ? 's' : ''}`);\n    }\n  } else {\n    // First time seeing this competitor\n    alertLevel = 'info';\n    changes.push('🆕 First time tracking this competitor');\n    current.lowestPrice = current.currentPrice;\n  }\n  \n  current.alertLevel = alertLevel;\n  current.changesSummary = changes.join(' | ');\n  current.hasChanges = alertLevel !== 'none';\n  \n  results.push({ json: current });\n}\n\nreturn results;"
      },
      "typeVersion": 2
    },
    {
      "id": "4b8b4578-e6aa-461a-ae0a-7289bd0bf7e3",
      "name": "💾 Actualizar Datos Históricos1",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "Saves current data to historical tracking sheet",
      "position": [
        -32,
        320
      ],
      "parameters": {
        "columns": {
          "value": {
            "rating": "={{ $json.rating }}",
            "inStock": "={{ $json.inStock }}",
            "currency": "={{ $json.currency }}",
            "scrapedAt": "={{ $json.scrapedAt }}",
            "productUrl": "={{ $json.productUrl }}",
            "stockLevel": "={{ $json.stockLevel }}",
            "lowestPrice": "={{ $json.lowestPrice }}",
            "productName": "={{ $json.productName }}",
            "reviewCount": "={{ $json.reviewCount }}",
            "currentPrice": "={{ $json.currentPrice }}",
            "originalPrice": "={{ $json.originalPrice }}",
            "competitorName": "={{ $json.competitorName }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "mode": "name",
          "value": "Historical Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "= {{ $env.GOOGLE_SHEET_ID }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "aGWAWeimeVnptYQh",
          "name": "Google Sheets account 2"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "28d2de55-ef62-40cd-a22b-a13eee3c2dc8",
      "name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1760,
        144
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "62cf73d2-a328-463b-9ea5-0d3fa8e3ba56",
      "name": "🤖 Extracción de Datos de Producto con IA usando Claude-Sonnet 4.5",
      "type": "@n8n/n8n-nodes-langchain.anthropic",
      "position": [
        -864,
        192
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "claude-sonnet-4-5-20250929"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "You are an accurate e-commerce data parser. From the provided HTML, extract shoe details and output a pure JSON object—no markdown or extra text.\n\nInclude the following fields:\n\n- productName: string \n- currentPrice: number (numeric value only, no currency symbols) \n- originalPrice: number (if discounted, otherwise same as currentPrice) \n- currency: string (USD, EUR, etc.) \n- inStock: boolean \n- stockLevel: string (\"In Stock\", \"Low Stock\", \"Out of Stock\", \"Limited\", etc.) \n- rating: number (0-5 scale) \n- reviewCount: number \n- lastUpdated: string (current ISO timestamp) \n- productUrl: string (from context) \n- competitorName: string (from context)\n\nOutput only the JSON object—no notes, comments, or formatting.\n"
            }
          ]
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "S8laStQPC1u3EYuZ",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e5998861-2d29-4fdb-a5c0-445cf79ac50e",
      "name": "🔀 Combinar Actual con Histórico",
      "type": "n8n-nodes-base.merge",
      "notes": "Combines current scrape with historical data for comparison",
      "position": [
        -1024,
        176
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "6815d6c1-43c5-49a8-8f41-eafa0ee83363",
      "name": "📊 Leer Datos Históricos",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "Loads previous scan data for comparison",
      "position": [
        -624,
        352
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "mode": "name",
          "value": "Historical Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $env.GOOGLE_SHEET_ID }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "aGWAWeimeVnptYQh",
          "name": "Google Sheets account 2"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "0c300e39-74da-4947-ab75-1360158f48a1",
      "name": "📝 Registrar Detalles de Alerta",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "Logs all alerts to separate tracking sheet",
      "position": [
        -48,
        160
      ],
      "parameters": {
        "columns": {
          "value": {
            "rating": "={{ $json.rating }}",
            "timestamp": "={{ $json.scrapedAt }}",
            "alertLevel": "={{ $json.alertLevel }}",
            "productUrl": "={{ $json.productUrl }}",
            "stockLevel": "={{ $json.stockLevel }}",
            "priceChange": "={{ $json.priceChange || 0 }}",
            "productName": "={{ $json.productName }}",
            "currentPrice": "={{ $json.currentPrice }}",
            "previousPrice": "={{ $json.previousPrice || 'N/A' }}",
            "changesSummary": "={{ $json.changesSummary }}",
            "competitorName": "={{ $json.competitorName }}",
            "priceChangePercent": "={{ $json.priceChangePercent || 0 }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "mode": "name",
          "value": "Alert Log"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $env.GOOGLE_SHEET_ID }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "aGWAWeimeVnptYQh",
          "name": "Google Sheets account 2"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "1833ee8f-13ca-40f3-a3ce-e7c09bbff5fc",
      "name": "Enviar un mensaje de texto",
      "type": "n8n-nodes-base.telegram",
      "position": [
        112,
        240
      ],
      "webhookId": "ae976d33-11d1-4d92-9289-fc86a1525828",
      "parameters": {
        "text": "The competitors’ pricing has been finalized.",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "mYO3O1232v1KxESH",
          "name": "Telegram account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1209134e-cb58-4525-bbcb-ffee2a890ddb",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2336,
        -336
      ],
      "parameters": {
        "width": 2576,
        "height": 880,
        "content": "## Introduction\nAutomate price monitoring for e-commerce competitors—ideal for retailers, analysts, and pricing teams. Scrapes competitor sites, \nextracts pricing/stock data via AI, detects changes, and sends instant alerts for dynamic pricing strategies.\n## How It Works\nScrapes competitor URLs via Firecrawl and Apify, extracts data with AI, detects price/stock changes, logs to Google Sheets, and sends Telegram alerts.\n## Workflow Template\nTrigger → Scrape URL → AI Extract → Parse → Merge Historical → Detect Changes → Update Sheets + Send Telegram Alert\n## Workflow Steps\n1. **Trigger & Scrape** → Manual/scheduled trigger → Firecrawl + Apify fetch competitor data\n2. **AI Processing** → Claude extracts product details → Parses and structures data\n3. **Change Detection** → Reads historical prices → Merges with current data → Identifies updates\n4. **Output** → Logs alerts to Sheets → Updates historical data → Sends Telegram notification\n## Setup Instructions\n**1. Firecrawl API**\nGet key from dashboard → Add to n8n\n**2. Apify API**\nGet key from console → Add to n8n → Configure actors\n**3. AI Model (Claude/OpenAI)**\nGet API key → Add to n8n\n**4. Google Sheets OAuth2**\nCreate OAuth2 in Google Cloud Console → Authorize in n8n → Enable API\n**5. Telegram Bot**\nCreate via BotFather → Get token & chat ID → Add to n8n\n**6. Spreadsheet Setup**\nCreate Sheet with required columns → Copy ID → Paste in workflow\n## Prerequisites\nSelf-hosted n8n, Firecrawl account, Apify account, Claude/OpenAI API key,\nGoogle account (Sheets OAuth2),Telegram bot\n## Customization\nAdd more URLs, adjust scraping intervals, change detection thresholds, switch to Slack/email alerts,\nintegrate databases\n## Benefits\nSaves 2+ hours daily, real-time tracking, automated alerts, historical analysis, multi-source scraping\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "864886e9-21d0-402f-8f1f-46216a5e1373",
      "name": "Pausar el flujo para que finalice la tarea de scraping Apify",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1424,
        272
      ],
      "webhookId": "426f22d5-31db-4344-ae7a-13dedfc46bf4",
      "parameters": {
        "amount": 25
      },
      "typeVersion": 1.1
    },
    {
      "id": "5b798a21-b3e1-4fb4-816a-d32a63367933",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        -304
      ],
      "parameters": {
        "color": 5,
        "width": 352,
        "height": 256,
        "content": "## Google Sheets Structure\n**Required Columns:**\n- **Product Name** (Column A)\n- **Current Price** (Column B)\n- **Previous Price** (Column C)\n- **Stock Status** (Column D)\n- **Last Updated** (Column E)\n- **URL** (Column F)\n- **Change Detected** (Column G)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7e9182a3-7a64-45a2-9632-3de5d2917fcd",
  "connections": {
    "e1e006de-d363-4e5a-adbd-77ffc901f42d": {
      "main": [
        [
          {
            "node": "e5998861-2d29-4fdb-a5c0-445cf79ac50e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "90ed5eb7-6236-47e1-88c6-c5278efe24fa": {
      "main": [
        [
          {
            "node": "e1e006de-d363-4e5a-adbd-77ffc901f42d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "11fdf8bc-aa37-4f42-8bbe-8e16c47c8b47": {
      "main": [
        [
          {
            "node": "e5998861-2d29-4fdb-a5c0-445cf79ac50e",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "b6a20e25-d82a-493b-b305-066e043f6ba1": {
      "main": [
        [
          {
            "node": "864886e9-21d0-402f-8f1f-46216a5e1373",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0c300e39-74da-4947-ab75-1360158f48a1": {
      "main": [
        [
          {
            "node": "1833ee8f-13ca-40f3-a3ce-e7c09bbff5fc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "306294b3-27b8-4821-9b04-0e8d210af07e": {
      "main": [
        [
          {
            "node": "6815d6c1-43c5-49a8-8f41-eafa0ee83363",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6815d6c1-43c5-49a8-8f41-eafa0ee83363": {
      "main": [
        [
          {
            "node": "3e8d7348-ccef-4cb5-aca4-d5ed6f210199",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "4b8b4578-e6aa-461a-ae0a-7289bd0bf7e3": {
      "main": [
        [
          {
            "node": "1833ee8f-13ca-40f3-a3ce-e7c09bbff5fc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8b934690-1e26-4810-820d-8ff785691adf": {
      "main": [
        [
          {
            "node": "e5998861-2d29-4fdb-a5c0-445cf79ac50e",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "e5998861-2d29-4fdb-a5c0-445cf79ac50e": {
      "main": [
        [
          {
            "node": "62cf73d2-a328-463b-9ea5-0d3fa8e3ba56",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7e24cbab-31e4-47ba-97f2-9a7a71335905": {
      "main": [
        [
          {
            "node": "4b8b4578-e6aa-461a-ae0a-7289bd0bf7e3",
            "type": "main",
            "index": 0
          },
          {
            "node": "0c300e39-74da-4947-ab75-1360158f48a1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3e8d7348-ccef-4cb5-aca4-d5ed6f210199": {
      "main": [
        [
          {
            "node": "7e24cbab-31e4-47ba-97f2-9a7a71335905",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28d2de55-ef62-40cd-a22b-a13eee3c2dc8": {
      "main": [
        [
          {
            "node": "90ed5eb7-6236-47e1-88c6-c5278efe24fa",
            "type": "main",
            "index": 0
          },
          {
            "node": "8b934690-1e26-4810-820d-8ff785691adf",
            "type": "main",
            "index": 0
          },
          {
            "node": "b6a20e25-d82a-493b-b305-066e043f6ba1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "62cf73d2-a328-463b-9ea5-0d3fa8e3ba56": {
      "main": [
        [
          {
            "node": "47a1e71a-6bbf-4cfe-82f1-b46744d247ee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "864886e9-21d0-402f-8f1f-46216a5e1373": {
      "main": [
        [
          {
            "node": "11fdf8bc-aa37-4f42-8bbe-8e16c47c8b47",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "47a1e71a-6bbf-4cfe-82f1-b46744d247ee": {
      "main": [
        [
          {
            "node": "3e8d7348-ccef-4cb5-aca4-d5ed6f210199",
            "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?

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

Desarrollo de leads y flujos de correo electrónico
Usar Google Maps, SendGrid e IA para automatizar el desarrollo de leads B2B y el marketing por correo electrónico
If
Set
Code
+
If
Set
Code
141 NodosEzema Kingsley Chibuzo
Generación de leads
01 Usar comprador de medios AI para analizar el rendimiento de anuncios de Facebook y enviar información a Google Sheets
Analizar anuncios de Facebook con Gemini AI y enviar insights a Google Sheets
If
Set
Code
+
If
Set
Code
34 NodosJJ Tham
Investigación de mercado
Monitor de problemas de la comunidad con OpenRouter AI, rastreo de Reddit y foros
Monitoreo de problemas en comunidades de Reddit y foros usando OpenRouter AI, NocoDB y scraping
Set
Code
Html
+
Set
Code
Html
29 NodosJulian Kaiser
Investigación de mercado
Automatización de búsqueda de empleos y personalización de currículum con Mistral AI, LinkedIn y Google Sheets
Automatización de búsqueda de empleos y personalización de CVs con Mistral AI, LinkedIn y Google Sheets
Set
Code
Html
+
Set
Code
Html
46 NodosJordan Hoyle
Productividad personal
Análisis inteligente diario de grupos de WhatsApp: Análisis con GPT-4.1 y transcripción de mensajes de voz
Análisis inteligente diario de grupos de WhatsApp: análisis con GPT-4.1 y transcripción de mensajes de voz
If
Set
Code
+
If
Set
Code
52 NodosDaniel Lianes
Varios
Búsqueda de empleos en LinkedIn
Búsqueda de empleos en LinkedIn: coincidencia automática de CV (GPT/Gemini) + generador de cartas de presentación + recordatorios de Telegram
If
Set
Code
+
If
Set
Code
33 NodosHojjat Jashnniloofar
Productividad personal
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos19
Categoría2
Tipos de nodos13
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Cheng Siong Chin

Cheng Siong Chin

@cschin

Prof. Cheng Siong CHIN serves as Chair Professor in Intelligent Systems Modelling and Simulation in Newcastle University, Singapore. His academic credentials include an M.Sc. in Advanced Control and Systems Engineering from The University of Manchester and a Ph.D. in Robotics from Nanyang Technological University.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34