8
n8n 中文网amn8n.com

自动化B2B潜在客户生成

高级

这是一个Miscellaneous, AI Summarization, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 If, Set, Html, Function, HttpRequest 等节点。 自动化B2B潜在客户生成:Google Places、Scrape.do与AI数据增强

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "cb5caf45c9475b848c7e83772505bb02340e165acdd8de77e25011192306257c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "1a608370-405e-4601-b65d-7a336fa0ae82",
      "name": "Generate Report",
      "type": "n8n-nodes-base.function",
      "position": [
        -16,
        320
      ],
      "parameters": {
        "functionCode": "const duplicates = [];\nconst lowQuality = [];\n\nfor (const item of $input.all()) {\n  if (item.json.leadScore <= 50) {\n    lowQuality.push(item.json.businessName);\n  }\n}\n\nreturn [{\n  json: {\n    totalProcessed: $input.all().length,\n    lowQualityLeads: lowQuality.length,\n    lowQualityNames: lowQuality,\n    timestamp: new Date().toISOString()\n  }\n}];"
      },
      "typeVersion": 1
    },
    {
      "id": "07cff94f-48fb-4667-abf9-3e7c929508a5",
      "name": "Error Logging",
      "type": "n8n-nodes-base.function",
      "position": [
        -48,
        512
      ],
      "parameters": {
        "functionCode": "// Error log for debugging\nconst errorLog = {\n  workflow: 'Google Maps Lead Generator',\n  timestamp: new Date().toISOString(),\n  error: 'Low quality or invalid lead detected',\n  data: $json\n};\n\nconsole.log('Error Log:', errorLog);\n\nreturn [{ json: errorLog }];"
      },
      "typeVersion": 1
    },
    {
      "id": "af642ea6-17a4-4fd2-a6e7-b26f9bdff825",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        976,
        128
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "7ZvT0NzDJ8AjFf1B",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3ecdbef5-6df9-4f62-a9f9-44fa94ad32bc",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1152,
        128
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"contact\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"description\": \"E-posta ve telefon numaraları gibi iletişim bilgilerini içerir.\",\n\t\t\t\"properties\": {\n\t\t\t\t\"emails\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t\"description\": \"Bulunan tüm e-posta adreslerinin listesi.\"\n\t\t\t\t},\n\t\t\t\t\"phones\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t\"description\": \"Bulunan tüm telefon numaralarının listesi.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"social\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"description\": \"Sabit sosyal medya platformlarının URL'lerini içerir. Bulunamayan linkler için alan boş bir metin olarak bırakılmalıdır.\",\n\t\t\t\"properties\": {\n\t\t\t\t\"facebook\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Facebook sayfasının tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"instagram\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Instagram profilinin tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"linkedin\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"LinkedIn profilinin tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"youtube\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"YouTube kanalının tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"pinterest\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Pinterest profilinin tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"twitter\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Twitter (X) profilinin tam URL'si.\"\n\t\t\t\t},\n\t\t\t\t\"whatsapp\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"WhatsApp iletişim linki (örn: wa.me/...).\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"location\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"description\": \"Şirketin yapılandırılmış fiziksel adresi.\",\n\t\t\t\"properties\": {\n\t\t\t\t\"full_address\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Adresin ham ve tam metin hali.\"\n\t\t\t\t},\n\t\t\t\t\"city\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Adresten çıkarılan şehir bilgisi.\"\n\t\t\t\t},\n\t\t\t\t\"country\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Adresten çıkarılan ülke bilgisi.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"other_contact_methods\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"description\": \"İletişim formu veya WhatsApp butonu gibi diğer iletişim yöntemleri.\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"object\",\n\t\t\t\t\"properties\": {\n\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"description\": \"İletişim yönteminin türü (Örn: Contact Form, WhatsApp Chat).\"\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": {\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"description\": \"İlgili sayfanın veya özelliğin linki.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "944898a5-6bed-408a-ac9b-b62101132f51",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1024,
        -64
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2f801af9-c230-4910-97db-8adf7a8ac650",
      "name": "1. Set Search Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        -800,
        -64
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "searchCategory",
              "value": "dentist"
            },
            {
              "name": "locationName",
              "value": "Istanbul, Turkey"
            },
            {
              "name": "latitude",
              "value": "41.0082"
            },
            {
              "name": "longitude",
              "value": "28.9784"
            },
            {
              "name": "radius",
              "value": "5000"
            },
            {
              "name": "maxResults",
              "value": "20"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "3a046790-67dd-4db5-9254-25e2c5b30027",
      "name": "2. Find Businesses (Google Places)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -608,
        -64
      ],
      "parameters": {
        "url": "https://places.googleapis.com/v1/places:searchNearby",
        "method": "POST",
        "options": {
          "timeout": 30000,
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "jsonBody": "={\"includedTypes\":[\"{{$json[\"searchCategory\"]}}\"],\"maxResultCount\":{{$json[\"maxResults\"]}},\"locationRestriction\":{\"circle\":{\"center\":{\"latitude\":{{$json[\"latitude\"]}},\"longitude\":{{$json[\"longitude\"]}}},\"radius\":{{$json[\"radius\"]}}}}}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Goog-FieldMask",
              "value": "places.id,places.displayName,places.formattedAddress,places.nationalPhoneNumber,places.websiteUri,places.rating,places.businessStatus,places.primaryType,places.location"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "VY5PZ0lGBGhYEw7h",
          "name": "Header Auth account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "93842018-1c3a-465c-b7a9-d90af939323e",
      "name": "3. Parse & Score Leads",
      "type": "n8n-nodes-base.function",
      "position": [
        -400,
        -64
      ],
      "parameters": {
        "functionCode": "const items = [];\nconst places = $input.first().json.places || [];\nconst searchParams = $node[\"1. Set Search Parameters\"].json;\n\nfor (const place of places) {\n  const item = {\n    id: place.id || '',\n    businessName: place.displayName?.text || 'N/A',\n    address: place.formattedAddress || 'N/A',\n    phone: place.nationalPhoneNumber || 'N/A',\n    website: place.websiteUri || 'N/A',\n    rating: place.rating || 0,\n    businessStatus: place.businessStatus || 'UNKNOWN',\n    primaryType: place.primaryType || searchParams.searchCategory,\n    latitude: place.location?.latitude || 0,\n    longitude: place.location?.longitude || 0,\n    searchLocation: searchParams.locationName,\n    searchCategory: searchParams.searchCategory,\n    createdAt: new Date().toISOString(),\n    leadScore: 0,\n    status: 'New Lead'\n  };\n  \n  // Calculate lead score\n  let score = 0;\n  if (item.rating >= 4.5) score += 30;\n  else if (item.rating >= 4.0) score += 20;\n  else if (item.rating >= 3.5) score += 10;\n  \n  if (item.website !== 'N/A') score += 25;\n  if (item.phone !== 'N/A') score += 20;\n  if (item.businessStatus === 'OPERATIONAL') score += 25;\n  \n  item.leadScore = score;\n  \n  items.push({ json: item });\n}\n\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "id": "f946456d-53fa-4b03-8521-406b2b6b14ca",
      "name": "4. Filter High-Quality Leads",
      "type": "n8n-nodes-base.if",
      "position": [
        -208,
        -64
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{$json[\"leadScore\"]}}",
              "value2": 50,
              "operation": "larger"
            }
          ],
          "string": [
            {
              "value1": "={{$json[\"businessName\"]}}",
              "value2": "N/A",
              "operation": "notEqual"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1121701f-c2f7-43d1-af89-1a75b9159ce5",
      "name": "5. Loop Through Each Lead",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        64,
        -96
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "58958e08-90c8-4f7d-8922-21dd84b80406",
      "name": "6a. Scrape Website with Scrape.do",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        320,
        -80
      ],
      "parameters": {
        "url": "http://api.scrape.do/",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.website }}"
            },
            {
              "name": "token",
              "value": "{{$env[\"SCRAPE_DO_API_KEY\"]}}"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "d4a3c983-fa0c-4afc-86ba-d47543202e1a",
      "name": "6b. Check if Scrape Was Successful",
      "type": "n8n-nodes-base.if",
      "position": [
        528,
        -80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "076a0652-9f88-4992-b111-791aa327e571",
              "operator": {
                "type": "number",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.error.status }}",
              "rightValue": 400
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "012b5b66-460f-4efb-a960-7df911ce05cc",
      "name": "6c. Extract Footer from HTML",
      "type": "n8n-nodes-base.html",
      "position": [
        784,
        -80
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "footer",
              "cssSelector": "footer"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b28b0efc-e480-4629-9b39-e649c23b2531",
      "name": "6d. Extract Contact Info with AI",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        992,
        -80
      ],
      "parameters": {
        "text": "=Analyze the following HTML snippet, which comes from a website's footer section. Your task is to extract all available contact information and populate the structured format as requested.\n\n1.  **Extract Social Media URLs:** Scan the HTML for links to specific social media platforms. Find the unique URL for each platform and place it in the corresponding field within the `social` object (e.g., the Facebook URL goes into `social.facebook`). If a link for a platform is not found, leave its field as an empty string.\n\n2.  **Extract Contact Info:** Find all email addresses (`mailto:` links) for `contact.emails`. Find all phone numbers (`tel:` links) for `contact.phones`.\n\n3.  **Extract Location:** Find the physical address and populate `location.full_address`, `location.city`, and `location.country`.\n\n4.  **Extract Other Methods:** Find links to contact forms or WhatsApp (`wa.me/`) and add them to the `other_contact_methods` array.\n\nHTML Content:\n{{ $json.footer }}",
        "options": {
          "systemMessage": "You are a highly efficient and accurate data extraction AI. Your sole purpose is to parse raw HTML content and extract specific information into a structured JSON format as requested. You must only respond with the structured data. Do not add any extra text, comments, or explanations."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "3cc6fa78-f210-49e8-a49a-b5735ef7c262",
      "name": "7. Save Enriched Lead to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1616,
        128
      ],
      "parameters": {
        "options": {},
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "BusinessName",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.businessName }}"
            },
            {
              "fieldId": "Address",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.address }}"
            },
            {
              "fieldId": "Phone",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.phone }}"
            },
            {
              "fieldId": "website",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.website }}"
            },
            {
              "fieldId": "emails",
              "fieldValue": "={{ $json.output.contact.emails[0] }}"
            },
            {
              "fieldId": "Facebook",
              "fieldValue": "={{ $json.output.social.facebook }}"
            },
            {
              "fieldId": "Instagram",
              "fieldValue": "={{ $json.output.social.instagram }}"
            },
            {
              "fieldId": "Youtube",
              "fieldValue": "={{ $json.output.social.youtube }}"
            },
            {
              "fieldId": "Linkedin",
              "fieldValue": "={{ $json.output.social.linkedin }}"
            },
            {
              "fieldId": "Pinterest",
              "fieldValue": "={{ $json.output.social.pinterest }}"
            },
            {
              "fieldId": "Other",
              "fieldValue": "={{ $json.output.other_contact_methods[0].url }}"
            },
            {
              "fieldId": "rating",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.rating }}"
            },
            {
              "fieldId": "businessStatus",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.businessStatus }}"
            },
            {
              "fieldId": "primaryType",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.primaryType }}"
            },
            {
              "fieldId": "Lantitude",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.latitude }}"
            },
            {
              "fieldId": "Longitude",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.longitude }}"
            },
            {
              "fieldId": "searchLocation",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.searchLocation }}"
            },
            {
              "fieldId": "SearchCategory",
              "fieldValue": "={{ $('5. Loop Through Each Lead').item.json.searchCategory }}"
            }
          ]
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1I9uFYn0q-yBmaGwmN24w6L_1-qjqEVaQj0FwN5RfoFY/edit#gid=0",
          "cachedResultName": "Table"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1I9uFYn0q-yBmaGwmN24w6L_1-qjqEVaQj0FwN5RfoFY",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1I9uFYn0q-yBmaGwmN24w6L_1-qjqEVaQj0FwN5RfoFY/edit?usp=drivesdk",
          "cachedResultName": "Lead Generator"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "df8r9D022KIAOHTC",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7981793a-4b97-4f32-91eb-52fafc237aa5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -208
      ],
      "parameters": {
        "width": 560,
        "height": 576,
        "content": "# Lead Generation Bot: Google Places & AI Enrichment\n\n**Purpose:** This workflow finds businesses on Google Maps, scores them as potential leads, scrapes their websites to find contact details (email, social media) using AI, and saves the enriched data to Google Sheets.\n\n### Quick Setup Guide\n\n1.  **Configure Credentials:**\n    *   `2. Find Businesses`: Set up your Google Places API credentials (Header Auth).\n    *   `6a. Scrape Website`: Set up your Scrape.do (or other scraping service) credentials.\n    *   `6d. AI Agent`: Configure your OpenAI credentials.\n    *   `7. Save to Google Sheets`: Configure your Google Sheets OAuth2 credentials.\n2.  **Set Your Search:** In the `1. Set Search Parameters` node, define your target business category and location.\n3.  **Configure Google Sheet:** In the `7. Save to Google Sheets` node, select your spreadsheet and sheet. Make sure the column names match.\n4.  **Activate Workflow:** Turn the workflow on. It will run based on the schedule you set in the `Schedule Trigger`."
      },
      "typeVersion": 1
    },
    {
      "id": "54e30c62-7eee-496e-9bb4-3f90bbda77d0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -752,
        -400
      ],
      "parameters": {
        "color": 2,
        "width": 512,
        "height": 288,
        "content": "### 1. Find, Parse & Score Leads\n\n**Purpose:** This section queries the Google Places API for businesses matching your criteria, formats the data, and calculates a `leadScore` for each one based on their rating, website, phone, and operational status.\n\n*   **1. Set Search Parameters:** **THIS IS THE MAIN NODE TO CONFIGURE.** Change `searchCategory` and `locationName` to define your target audience.\n*   **4. Filter High-Quality Leads:** Only leads with a score greater than 50 are processed further. You can adjust this threshold in the IF node's settings."
      },
      "typeVersion": 1
    },
    {
      "id": "57a2105c-67c2-4f4d-a7ec-7f29bac341e2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -448
      ],
      "parameters": {
        "color": 4,
        "width": 656,
        "height": 304,
        "content": "### 2. Data Enrichment Loop\n\n**Purpose:** This is the core enrichment part. The workflow iterates through each high-quality lead one by one.\n\n*   **6a. Scrape Website HTML:** It visits the business's website (if one exists) via a scraping service to get the raw HTML content.\n*   **6c. Extract Footer:** It specifically isolates the `<footer>` section of the website, as this area most commonly contains contact information.\n*   **6d. Extract Contact Info with AI:** It uses an OpenAI model to analyze the footer HTML and intelligently extract structured data like emails, social media links, and phone numbers."
      },
      "typeVersion": 1
    },
    {
      "id": "4ef856f2-b46d-4243-a001-4f0c4ab32019",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1776,
        48
      ],
      "parameters": {
        "color": 6,
        "width": 464,
        "height": 240,
        "content": "### 3. Save to Google Sheets\n\n**Purpose:** Appends the final, enriched lead data to your specified Google Sheet.\n\n*   **Action:** If the AI successfully extracts contact info, it's combined with the initial Google Places data and saved.\n*   **Configuration:** You must select your credentials, spreadsheet, and sheet name here. Ensure your sheet has columns matching the fields defined in this node."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "af642ea6-17a4-4fd2-a6e7-b26f9bdff825": {
      "ai_languageModel": [
        [
          {
            "node": "b28b0efc-e480-4629-9b39-e649c23b2531",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "93842018-1c3a-465c-b7a9-d90af939323e": {
      "main": [
        [
          {
            "node": "f946456d-53fa-4b03-8521-406b2b6b14ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f801af9-c230-4910-97db-8adf7a8ac650": {
      "main": [
        [
          {
            "node": "3a046790-67dd-4db5-9254-25e2c5b30027",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3ecdbef5-6df9-4f62-a9f9-44fa94ad32bc": {
      "ai_outputParser": [
        [
          {
            "node": "b28b0efc-e480-4629-9b39-e649c23b2531",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "1121701f-c2f7-43d1-af89-1a75b9159ce5": {
      "main": [
        [],
        [
          {
            "node": "58958e08-90c8-4f7d-8922-21dd84b80406",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f946456d-53fa-4b03-8521-406b2b6b14ca": {
      "main": [
        [
          {
            "node": "1121701f-c2f7-43d1-af89-1a75b9159ce5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1a608370-405e-4601-b65d-7a336fa0ae82",
            "type": "main",
            "index": 0
          },
          {
            "node": "07cff94f-48fb-4667-abf9-3e7c929508a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "012b5b66-460f-4efb-a960-7df911ce05cc": {
      "main": [
        [
          {
            "node": "b28b0efc-e480-4629-9b39-e649c23b2531",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b28b0efc-e480-4629-9b39-e649c23b2531": {
      "main": [
        [
          {
            "node": "3cc6fa78-f210-49e8-a49a-b5735ef7c262",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "58958e08-90c8-4f7d-8922-21dd84b80406": {
      "main": [
        [
          {
            "node": "d4a3c983-fa0c-4afc-86ba-d47543202e1a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3a046790-67dd-4db5-9254-25e2c5b30027": {
      "main": [
        [
          {
            "node": "93842018-1c3a-465c-b7a9-d90af939323e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d4a3c983-fa0c-4afc-86ba-d47543202e1a": {
      "main": [
        [
          {
            "node": "012b5b66-460f-4efb-a960-7df911ce05cc",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "944898a5-6bed-408a-ac9b-b62101132f51": {
      "main": [
        [
          {
            "node": "2f801af9-c230-4910-97db-8adf7a8ac650",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3cc6fa78-f210-49e8-a49a-b5735ef7c262": {
      "main": [
        [
          {
            "node": "1121701f-c2f7-43d1-af89-1a75b9159ce5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 杂项, AI 摘要总结, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量19
分类3
节点类型12
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者

Hello, I'm Onur I've been working as a freelance software developer for about four years. In addition, I develop my own projects. For some time, I have been improving myself and providing various services related to AI and AI workflows. Both by writing low code and code. If you have any questions, don't hesitate to contact me.

外部链接
在 n8n.io 查看

分享此工作流

分类

分类: 34