8
n8n 한국어amn8n.com

Brightdata와 OpenRouter AI를 사용하여 웹사이트에서 B2B 잠재 고객 기회 생성

고급

이것은AI Summarization, Multimodal AI분야의자동화 워크플로우로, 17개의 노드를 포함합니다.주로 Set, Code, Html, Agent, ChatTrigger 등의 노드를 사용하며. Brightdata와 OpenRouter AI를 사용하여 웹사이트에서 B2B 잠재 고객 기회 생성

사전 요구사항
  • 특별한 사전 요구사항 없이 가져와 바로 사용 가능합니다
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "4a11afdb3c52fd098e3eae9fad4b39fdf1bbcde142f596adda46c795e366b326",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "9a0fbaa1-3529-4fcb-8552-97def2e37c92",
      "name": "parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        -304,
        96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d16e4ff1-02f6-4627-8eed-f1dc94b37bda",
              "name": "url",
              "type": "string",
              "value": "={{ $json.chatInput }}"
            },
            {
              "id": "39d8ba7a-3daf-4d3c-bec5-20f84b3d769c",
              "name": "sitemap",
              "type": "string",
              "value": "sitemap.xml"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b49ab874-73e6-4077-9798-3e723ce7e38f",
      "name": "URL 추출",
      "type": "n8n-nodes-base.code",
      "position": [
        144,
        96
      ],
      "parameters": {
        "jsCode": "// Extracts all URLs from <a> tags within the HTML body.\nconst htmlBody = items[0].json.body;\n\n// Checks if the HTML body is a string.\nif (typeof htmlBody !== 'string') {\n  return [];\n}\n\nconst regex = /<a\\s+(?:[^>]*?\\s+)?href=\"([^\"]+)\"/gi;\nconst matches = [...htmlBody.matchAll(regex)];\n\n// Maps each match to create a new n8n item with the extracted URL.\nreturn matches.map(match => {\n  return {\n    json: {\n      url: match[1]\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "f15809c1-8492-4642-878d-aafe9dac0649",
      "name": "URL 스크래핑",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        -80,
        96
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "zone": {
          "__rl": true,
          "mode": "list",
          "value": "web_unlocker1"
        },
        "format": "json",
        "country": {
          "__rl": true,
          "mode": "list",
          "value": "us",
          "cachedResultName": "us"
        },
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "i897C8Zq5VcQXQU9",
          "name": "BrightData Inforeole"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8c653ced-e6d3-411f-8eb0-ae7c5b802424",
      "name": "OpenRouter Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        384,
        464
      ],
      "parameters": {
        "model": "openai/o4-mini",
        "options": {
          "temperature": 0
        }
      },
      "credentials": {
        "openRouterApi": {
          "id": "KElXI3DlHnhrYSjM",
          "name": "OpenRouter PrestaM"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "23555c2f-4f1c-4367-9431-1b0c0a8a02d4",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        544,
        304
      ],
      "parameters": {
        "autoFix": true,
        "schemaType": "manual",
        "inputSchema": "{\n\"url\": \n\"https://www.example.com/about.html\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "52f25a6b-fd76-49d0-b6da-ecb26f3bbc43",
      "name": "URL 스크래핑1",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        1036,
        96
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "zone": {
          "__rl": true,
          "mode": "list",
          "value": "web_unlocker1"
        },
        "format": "json",
        "country": {
          "__rl": true,
          "mode": "list",
          "value": "us",
          "cachedResultName": "us"
        },
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "i897C8Zq5VcQXQU9",
          "name": "BrightData Inforeole"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "846e8b1a-5ce4-456d-8828-d2f58f5097a0",
      "name": "HTML 클리너",
      "type": "n8n-nodes-base.html",
      "position": [
        1260,
        96
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "dataPropertyName": "body",
        "extractionValues": {
          "values": [
            {
              "key": "body",
              "cssSelector": "body"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0ce43f94-c79b-4054-9365-45c2b385181e",
      "name": "OpenRouter Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1492,
        320
      ],
      "parameters": {
        "model": "openai/gpt-5",
        "options": {
          "temperature": 0
        }
      },
      "credentials": {
        "openRouterApi": {
          "id": "KElXI3DlHnhrYSjM",
          "name": "OpenRouter PrestaM"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c6b38f95-1ac7-4ea0-a983-70986dd1c972",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1620,
        320
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\"summary\": \n\"summary\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b0a1d3e5-5388-4d73-a07b-f21a18f60749",
      "name": "OpenRouter Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        2132,
        320
      ],
      "parameters": {
        "model": "openai/gpt-5",
        "options": {
          "temperature": 0
        }
      },
      "credentials": {
        "openRouterApi": {
          "id": "KElXI3DlHnhrYSjM",
          "name": "OpenRouter PrestaM"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3993fafb-ccc8-4291-9e66-b2c3d06234ac",
      "name": "페이지 병합",
      "type": "n8n-nodes-base.code",
      "position": [
        1836,
        96
      ],
      "parameters": {
        "jsCode": "/**\n * Merges the `output` objects from all incoming items into a single object.\n * Each item is expected to have a structure of { json: { output: { ... } } }.\n */\nconst mergedData = items.reduce((accumulator, item) => {\n  if (item.json && item.json.output) {\n    // The spread operator (...) merges the properties of the current object\n    // into the accumulator. If keys are identical, the last value seen prevails.\n    return { ...accumulator, ...item.json.output };\n  }\n  return accumulator;\n}, {});\n\n// Returns a single item containing the merged object, paired with the first input item.\nreturn [{ json: { mergedOutput: mergedData }, pairedItem: 0 }];"
      },
      "typeVersion": 2
    },
    {
      "id": "db0e0c06-d57d-4de6-904c-875d0d7eb983",
      "name": "목록 정리",
      "type": "n8n-nodes-base.code",
      "position": [
        812,
        96
      ],
      "parameters": {
        "jsCode": "// Extrait les URLs, filtre les valeurs vides, et retourne une liste\n// d'items en conservant la liaison avec les items d'entrée.\nreturn items.flatMap((item, index) => {\n  const url = item.json.output?.[0]?.url;\n\n  // Si une URL est trouvée, retourne un nouvel objet item avec sa liaison.\n  // Sinon, retourne un tableau vide pour l'écarter du résultat final.\n  return url ? [{ json: { url }, pairedItem: index }] : [];\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "df3f47a3-fa75-49a7-8b71-22e6205ee5e1",
      "name": "채팅 메시지 수신 시",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -528,
        96
      ],
      "webhookId": "79b08ee2-afd5-4748-8914-4411a8872b81",
      "parameters": {
        "public": true,
        "options": {
          "responseMode": "lastNode"
        },
        "initialMessages": "Welcome, I am your business opportunity detection agent. Enter the URL of the company to be analyzed, and I will search their website for the best business opportunities based on your activity."
      },
      "typeVersion": 1.3
    },
    {
      "id": "7ef4c30a-6d51-46f7-82eb-48de5517a73f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -320
      ],
      "parameters": {
        "width": 640,
        "height": 320,
        "content": "# Lead Opportunity Finder\n\nThis workflow automates the **B2B lead generation** process by analyzing a company’s website with AI.\n\n👉 Get your free Bright Data API key here: [https://get.brightdata.com/scrap](https://get.brightdata.com/scrap)\n\n**Automated Website Analysis**\nThe workflow is triggered by a URL and uses Bright Data's Web Unblocker to scrape key company pages like \"About Us\" and \"Team\".\n\n**AI-Powered Opportunity Detection**\nAdvanced AI models from OpenRouter analyze the content to identify potential pain points and business needs related to automation.\n\n**Actionable Insights**\nThe final output is a synthesized, non-redundant report of all identified opportunities, formatted for a Google Doc to help sales and business development teams prepare for outreach."
      },
      "typeVersion": 1
    },
    {
      "id": "a7399426-ec3b-4fb5-946b-de78410f8768",
      "name": "최적 페이지 찾기",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        368,
        96
      ],
      "parameters": {
        "text": "={{ $json }}",
        "options": {
          "systemMessage": "You are a B2B data extraction expert. |Task : Analyze the following list of JSON objects. Identify the URLs that are relevant for obtaining information about a company for prospecting purposes (pages such as \"who we are\", \"about us\", \"recruitment\", \"team\", \"contact\"). Output instructions : Extract the value of the \"url\" key for each relevant object. Return only absolute URLs (starting with http). Ignore relative URLs (/) and anchors (#). Your response must contain ONLY the list of relevant URLs, one per line, without any additional comments, titles, or formatting, according to this JSON format {\"url\": \"https://www.example.com/about.html\"}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "ca67e038-046f-483f-9c86-de822c268a48",
      "name": "비즈니스 기회 식별",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1484,
        96
      ],
      "parameters": {
        "text": "={{ $json.body }}",
        "options": {
          "systemMessage": "You are a B2B lead generation expert for an agency that offers AI-powered process automation.\n\nYou will be given pages from a prospect's website as input: {{ $('parameters').item.json.url }}\n\nYour role is to look for business opportunities.\n\nRespond without any commentary with a summary of the opportunities you identify. JSON format."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "f2b564ee-127c-47cb-92b1-120dcf2e359e",
      "name": "중복 제거",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2060,
        96
      ],
      "parameters": {
        "text": "={{ $json.mergedOutput }}",
        "options": {
          "systemMessage": "You are a B2B lead generation expert for an agency that offers AI-powered process automation.\n\nYou will be given a summary of their website's pages as input: {{ $('parameters').item.json.url }}\n\nYour role is to find and synthesize business opportunities.\n\nEliminate redundancies.\n\nRespond without any commentary, providing a summary of the opportunities you identify, formatted for a Google Doc with headings."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    }
  ],
  "pinData": {},
  "connections": {
    "f2b564ee-127c-47cb-92b1-120dcf2e359e": {
      "main": [
        []
      ]
    },
    "db0e0c06-d57d-4de6-904c-875d0d7eb983": {
      "main": [
        [
          {
            "node": "52f25a6b-fd76-49d0-b6da-ecb26f3bbc43",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9a0fbaa1-3529-4fcb-8552-97def2e37c92": {
      "main": [
        [
          {
            "node": "f15809c1-8492-4642-878d-aafe9dac0649",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f15809c1-8492-4642-878d-aafe9dac0649": {
      "main": [
        [
          {
            "node": "b49ab874-73e6-4077-9798-3e723ce7e38f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b49ab874-73e6-4077-9798-3e723ce7e38f": {
      "main": [
        [
          {
            "node": "a7399426-ec3b-4fb5-946b-de78410f8768",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3993fafb-ccc8-4291-9e66-b2c3d06234ac": {
      "main": [
        [
          {
            "node": "f2b564ee-127c-47cb-92b1-120dcf2e359e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "52f25a6b-fd76-49d0-b6da-ecb26f3bbc43": {
      "main": [
        [
          {
            "node": "846e8b1a-5ce4-456d-8828-d2f58f5097a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "846e8b1a-5ce4-456d-8828-d2f58f5097a0": {
      "main": [
        [
          {
            "node": "ca67e038-046f-483f-9c86-de822c268a48",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7399426-ec3b-4fb5-946b-de78410f8768": {
      "main": [
        [
          {
            "node": "db0e0c06-d57d-4de6-904c-875d0d7eb983",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c653ced-e6d3-411f-8eb0-ae7c5b802424": {
      "ai_languageModel": [
        [
          {
            "node": "23555c2f-4f1c-4367-9431-1b0c0a8a02d4",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "a7399426-ec3b-4fb5-946b-de78410f8768",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "0ce43f94-c79b-4054-9365-45c2b385181e": {
      "ai_languageModel": [
        [
          {
            "node": "ca67e038-046f-483f-9c86-de822c268a48",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "b0a1d3e5-5388-4d73-a07b-f21a18f60749": {
      "ai_languageModel": [
        [
          {
            "node": "f2b564ee-127c-47cb-92b1-120dcf2e359e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "23555c2f-4f1c-4367-9431-1b0c0a8a02d4": {
      "ai_outputParser": [
        [
          {
            "node": "a7399426-ec3b-4fb5-946b-de78410f8768",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "c6b38f95-1ac7-4ea0-a983-70986dd1c972": {
      "ai_outputParser": [
        [
          {
            "node": "ca67e038-046f-483f-9c86-de822c268a48",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "df3f47a3-fa75-49a7-8b71-22e6205ee5e1": {
      "main": [
        [
          {
            "node": "9a0fbaa1-3529-4fcb-8552-97def2e37c92",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ca67e038-046f-483f-9c86-de822c268a48": {
      "main": [
        [
          {
            "node": "3993fafb-ccc8-4291-9e66-b2c3d06234ac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - AI 요약, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수17
카테고리2
노드 유형9
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
phil

phil

@phil

e-com AI automation: 90% time saved on repetitive tasks: product sheets, after-sales chatbots, etc. 🚀 save time, win customers

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34