8
n8n 中文网amn8n.com

通过WhatsApp + GPT-4 + Google Sheets自动化产品数据收集和客户支持

高级

这是一个Support, AI领域的自动化工作流,包含 20 个节点。主要使用 Code, Switch, WhatsApp, HttpRequest, GoogleSheets 等节点,结合人工智能技术实现智能自动化。 通过WhatsApp、GPT-4和Google Sheets自动化产品培训和客户支持

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "GvlLeSOUPfar0DQS",
  "meta": {
    "instanceId": "a2b23892dd6989fda7c1209b381f5850373a7d2b85609624d7c2b7a092671d44",
    "templateCredsSetupCompleted": true
  },
  "name": "通过 WhatsApp + GPT-4 + Google Sheets 自动化产品数据收集和客户支持",
  "tags": [],
  "nodes": [
    {
      "id": "370611ee-2725-4ee4-a73a-68d4eaabfe3a",
      "name": "WhatsApp Business Cloud",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1020,
        220
      ],
      "webhookId": "ef261fd4-e3b8-42e9-a0e2-2c3c44b6b15e",
      "parameters": {
        "textBody": "={{ $json.output }}",
        "operation": "send",
        "phoneNumberId": "574583382412256",
        "additionalFields": {},
        "recipientPhoneNumber": "+212722542056"
      },
      "credentials": {
        "whatsAppApi": {
          "id": "TzeEzaeiZOOqcLOZ",
          "name": "WhatsApp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "30520fe8-a423-4942-85b2-9e8776b45939",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        -20
      ],
      "parameters": {
        "width": 400,
        "height": 440,
        "content": "## 🟡 步骤 1 – 传入 WhatsApp 消息"
      },
      "typeVersion": 1
    },
    {
      "id": "d3259e0e-5368-407d-8ac6-993784c939c9",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        280
      ],
      "parameters": {
        "color": 6,
        "width": 1180,
        "height": 420,
        "content": "## 🔵 步骤 3 – 客户支持流程"
      },
      "typeVersion": 1
    },
    {
      "id": "455ce4ab-6d14-4d4e-8ff8-04612cf532b9",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -400
      ],
      "parameters": {
        "color": 3,
        "width": 1180,
        "height": 660,
        "content": "## 🔴 步骤 2 – 产品数据训练(由 train: 触发)"
      },
      "typeVersion": 1
    },
    {
      "id": "15251a04-a139-4a71-9e96-d5ecd9c2e66c",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        -20
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 440,
        "content": "## 🟢 步骤 4 – 客户响应"
      },
      "typeVersion": 1
    },
    {
      "id": "f028f5a3-fed3-4f90-89cc-2af211da7362",
      "name": "传入消息触发器",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        -700,
        220
      ],
      "webhookId": "48ce9bac-c7ea-4cb7-a40a-b010ea5ac743",
      "parameters": {
        "options": {},
        "updates": [
          "messages"
        ]
      },
      "credentials": {
        "whatsAppTriggerApi": {
          "id": "zYvcHcxGBNdN9Ptf",
          "name": "WhatsApp OAuth account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "54edaa0c-005e-4810-a2fa-76fbcc009b2b",
      "name": "检查是否为训练",
      "type": "n8n-nodes-base.switch",
      "position": [
        -520,
        220
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "train",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "9865cb5b-33da-490c-afc3-186457d5b564",
                    "operator": {
                      "type": "string",
                      "operation": "startsWith"
                    },
                    "leftValue": "={{ $json.messages[0].text.body }}",
                    "rightValue": "train:"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "text",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5a9a1fee-b408-469f-a08c-e8d690fc9792",
                    "operator": {
                      "type": "string",
                      "operation": "notStartsWith"
                    },
                    "leftValue": "={{ $json.messages[0].text.body }}",
                    "rightValue": "train:"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "b4187b28-efd9-46cb-8d1c-23d89d3f6125",
      "name": "从文本中提取 URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -260,
        -320
      ],
      "parameters": {
        "jsCode": "// Récupérer le texte à analyser depuis l'input\nconst texteExemple = $input.first().json.messages[0].text.body;\n\n// Expression régulière modifiée pour capturer les URL avec ou sans protocole\nconst regex = /((?:https?:\\/\\/)?(?:www\\.)?[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}(?:\\/\\S*)?)/g;\n\n// Extraction des URL à partir du texte\nconst matches = texteExemple.match(regex) || [];\n\n// Si des URL ont été trouvées, on les mappe en objets\nif (matches.length > 0) {\n    const output = matches.map(url => ({ url }));\n    return output;\n} else {\n    // Si aucune URL n'est trouvée, on retourne les items d'entrée pour que le workflow continue\n    return $input.all();\n}\n"
      },
      "typeVersion": 2
    },
    {
      "id": "dbbcc8cf-2544-4de1-bcfd-6292d96a1017",
      "name": "获取 HTML 页面",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -100,
        -320
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "text"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "91e711d0-26c0-41dd-a9c5-28100f0f44f6",
      "name": "清理 HTML 内容",
      "type": "n8n-nodes-base.code",
      "position": [
        60,
        -320
      ],
      "parameters": {
        "jsCode": "// Exemple : récupération du contenu HTML depuis le premier item\n// Si vous avez un champ nommé \"html\" dans un noeud précédent.\nconst htmlContent = $input.first().json.html;\n\n// Fonction de nettoyage du HTML\nfunction nettoyerHTML(input) {\n  if (typeof input !== 'string') {\n    throw new Error(\"Expected HTML content as a string.\");\n  }\n  let cleanedText = input;\n\n  // 1. Retirer les liens <a> et leur contenu\n  cleanedText = cleanedText.replace(/<a[^>]*>.*?<\\/a>/gs, '');\n\n  // 2. Retirer <script>, <style>, commentaires, etc.\n  cleanedText = cleanedText.replace(/<script[^>]*>.*?<\\/script>/gs, '');\n  cleanedText = cleanedText.replace(/<style[^>]*>.*?<\\/style>/gs, '');\n  cleanedText = cleanedText.replace(/<!--[\\s\\S]*?-->/g, '');\n\n  // 3. Insérer des retours à la ligne pour certaines balises\n  cleanedText = cleanedText.replace(/<h[1-6][^>]*>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<\\/h[1-6]>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<p[^>]*>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<\\/p>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<ul[^>]*>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<\\/ul>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<ol[^>]*>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<\\/ol>/gi, '\\n');\n  cleanedText = cleanedText.replace(/<li[^>]*>/gi, '- ');\n  cleanedText = cleanedText.replace(/<\\/li>/gi, '\\n');\n\n  // 4. Supprimer toutes les balises HTML restantes\n  cleanedText = cleanedText.replace(/<[^>]+>/g, '');\n\n  // 5. Supprimer (ou ajuster) les caractères spéciaux\n  cleanedText = cleanedText.replace(/[^\\w\\sÀ-ÖØ-öø-ÿ]+/g, '');\n\n  // 6. Normaliser les espaces multiples et trim\n  cleanedText = cleanedText.replace(/\\s+/g, ' ').trim();\n\n  return cleanedText;\n}\n\n// Nettoyage\nconst result = nettoyerHTML($input.first().json.data);\n\n// Retour d'un tableau contenant l'objet final\nreturn [\n  {\n    json: {\n      cleanedText: result\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "7e457450-42ef-417e-b5f9-3248c9c7c2ae",
      "name": "保存原始产品信息",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        240,
        -320
      ],
      "parameters": {
        "columns": {
          "value": {
            "Product Link": "={{ $('Extract URL from Text').item.json.url }}",
            "Product Description": "={{ $json.cleanedText }}"
          },
          "schema": [
            {
              "id": "Product Link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Topic",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Topic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 689245338,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit#gid=689245338",
          "cachedResultName": "Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit?usp=drivesdk",
          "cachedResultName": "Product Sales - AI Agent WhatsApp"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "d3dfa439-4056-4ce9-b874-100500967de6",
      "name": "OpenAI 模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        320,
        -40
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "10217317-f6dd-4890-b05d-197d3d2adb79",
      "name": "短期记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        500,
        -40
      ],
      "parameters": {
        "sessionKey": "={{ $('Incoming Message Trigger').item.json.messages[0].id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 50
      },
      "typeVersion": 1.3
    },
    {
      "id": "58ce0f46-fabc-4b6e-97d7-857dc6f1e568",
      "name": "更新产品表格",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        680,
        -40
      ],
      "parameters": {
        "columns": {
          "value": {
            "F&Q": "={{ $fromAI(\"product_faq\", \"these are the most common questions users might have about the product, including answers if available\") }}\n",
            "Product Link": "={{ $fromAI(\"product_url\",\"this is the website link of the product\") }}",
            "Product Name": "={{ $fromAI(\"product_name\",\"this is the name of the product\") }}",
            "Product Price": "={{ $fromAI(\"product_price\",\"this is the price of the product\") }}",
            "Product Topic": "={{ $fromAI(\"product_topic\",\"this is the topic of the product that specifies what it is for, who it is for and what the key benefits are\") }}"
          },
          "schema": [
            {
              "id": "Product Link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Product Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Product Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Topic",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Product Topic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "F&Q",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "F&Q",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Product Link"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 689245338,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit#gid=689245338",
          "cachedResultName": "Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit?usp=drivesdk",
          "cachedResultName": "Product Sales - AI Agent WhatsApp"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "020714ae-5668-4fa5-8ba8-f1e476a8060e",
      "name": "AI 智能体 - 客户支持代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        380,
        300
      ],
      "parameters": {
        "text": "={{ $json.messages[0].text.body }}",
        "options": {
          "systemMessage": "You are a helpful and intelligent customer support assistant.\n\nYou have access to a Google Sheets tool that allows you to read any content from a specific sheet to gather necessary information.\nNever mention to the user that you accessed Google Sheets to retrieve any data.\n\nYour main responsibilities:\n\nUnderstand the user’s request or issue.\n\nIf the user is asking about a product, retrieve the relevant product name, price, and details as needed.\n\nDetermine whether the product price is a subscription or a one-time payment, based on the description.\n\nIf you detect that the user is facing a problem:\n\nIdentify and describe the problem clearly.\n\nPropose a practical and helpful solution.\n\nLog this interaction by adding a new row to the Google Sheet with the following columns:\n\nProblem\n\nSuggested Solution\n\nCategory (e.g., payment, login, access, delivery, technical issue, etc.)\n\nBe professional, concise, and empathetic in your responses.\nAlways aim to resolve the issue or provide the next best action."
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "53e49985-e1b9-48fd-9ea8-3352a63484e0",
      "name": "AI 智能体 - 增强产品详情",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        420,
        -320
      ],
      "parameters": {
        "text": "=My product description :  {{ $json['Product Description'] }}\n\nMy product link : {{ $json['Product Link'] }}",
        "options": {
          "systemMessage": "You are a helpful and intelligent assistant.\n\nYou receive the text content of a product page.\n\nYour tasks are:\n\nExtract the product name.\n\nExtract the product price, and determine whether it is a subscription or a one-time payment.\n\nIdentify the product topic.\n\nExtract the most frequently asked questions (FAQs) related to the product.\n\nYou have access to a Google Sheets tool that allows you to update specific columns and cells.\n\nAlways add the following data to the same row as the product URL in the Google Sheet:\n\nProduct Name\n\nProduct Price (with subscription/one-time label)\n\nProduct Topic\n\nFAQs\n\nBe accurate, structured, and consistent when filling in the sheet.\nDo not mention Google Sheets in your responses."
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    },
    {
      "id": "194136b5-872a-492b-882b-d26a2890cbcf",
      "name": "OpenAI 模型1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        220,
        560
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "efc89a9b-3141-4735-adaf-7b9e2b6879ed",
      "name": "对话记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        400,
        560
      ],
      "parameters": {
        "sessionKey": "={{ $json.messages[0].id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 50
      },
      "typeVersion": 1.3
    },
    {
      "id": "d1a21094-0237-4b17-818c-3af7760b405f",
      "name": "读取产品表格",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        560,
        560
      ],
      "parameters": {
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "readRowsUntil": "firstEmptyRow",
              "rangeDefinition": "detectAutomatically"
            }
          }
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 689245338,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit#gid=689245338",
          "cachedResultName": "Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit?usp=drivesdk",
          "cachedResultName": "Product Sales - AI Agent WhatsApp"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "2c2dcf9b-5578-4bd4-85b6-27621927a0a0",
      "name": "记录客户问题",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        740,
        560
      ],
      "parameters": {
        "columns": {
          "value": {
            "Category": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Category', ``, 'string') }}",
            "Solution": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Solution', ``, 'string') }}",
            "Support Problem": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Support_Problem', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Support Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Support Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Solution",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Solution",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1725207764,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit#gid=1725207764",
          "cachedResultName": "Customer Issues"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wa41S888Ya3sqEkBdzYiDq-5FOu_V30BOe-toX_78xQ/edit?usp=drivesdk",
          "cachedResultName": "Product Sales - AI Agent WhatsApp"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2e8ea310-e164-4d5d-ae0b-ade129b07a4a",
  "connections": {
    "OpenAI Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - Enhance Product Details",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent -  Customer Support Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Fetch HTML Page": {
      "main": [
        [
          {
            "node": "Clean HTML Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Training": {
      "main": [
        [
          {
            "node": "Extract URL from Text",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent -  Customer Support Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Short-Term Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent - Enhance Product Details",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Clean HTML Content": {
      "main": [
        [
          {
            "node": "Save Raw Product Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Product Sheet": {
      "ai_tool": [
        [
          {
            "node": "AI Agent -  Customer Support Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Conversation Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent -  Customer Support Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Log Customer Issues": {
      "ai_tool": [
        [
          {
            "node": "AI Agent -  Customer Support Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update Product Sheet": {
      "ai_tool": [
        [
          {
            "node": "AI Agent - Enhance Product Details",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Extract URL from Text": {
      "main": [
        [
          {
            "node": "Fetch HTML Page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Raw Product Info": {
      "main": [
        [
          {
            "node": "AI Agent - Enhance Product Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Business Cloud": {
      "main": [
        []
      ]
    },
    "Incoming Message Trigger": {
      "main": [
        [
          {
            "node": "Check If Training",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent -  Customer Support Agent": {
      "main": [
        [
          {
            "node": "WhatsApp Business Cloud",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - Enhance Product Details": {
      "main": [
        [
          {
            "node": "WhatsApp Business Cloud",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 客户支持, 人工智能

需要付费吗?

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

工作流信息
难度等级
高级
节点数量20
分类2
节点类型11
难度说明

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

作者
Dr. Firas

Dr. Firas

@drfiras

Automation expert and certified trainer. I create hands-on courses to master automation with n8n. Contact me to access my exclusive training and start building powerful workflows today. 🚀

外部链接
在 n8n.io 查看

分享此工作流