8
n8n 中文网amn8n.com

动态表单与 AI

高级

这是一个Sales, AI, Marketing领域的自动化工作流,包含 19 个节点。主要使用 Set, Form, Filter, SplitOut, Aggregate 等节点,结合人工智能技术实现智能自动化。 使用 OpenAI 动态生成表单避免重复提问

前置要求
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "ZkIH2ygj2BNSfMOh",
  "meta": {
    "instanceId": "ac63467607103d9c95dd644384984672b90b1cb03e07edbaf18fe72b2a6c45bb",
    "templateCredsSetupCompleted": true
  },
  "name": "动态表单与 AI",
  "tags": [],
  "nodes": [
    {
      "id": "5893c244-22b0-4699-a286-0ce121ccc427",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -340,
        240
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "1OMpAMAKR9l3eUDI",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e7e333d4-42e5-4e6a-b78b-a3a45c31f37c",
      "name": "澄清问题",
      "type": "n8n-nodes-base.form",
      "position": [
        1100,
        -60
      ],
      "webhookId": "61936e5d-a2d3-447f-bf2f-722be2e1eb17",
      "parameters": {
        "options": {},
        "defineForm": "json",
        "jsonOutput": "={{ $json.data }}"
      },
      "typeVersion": 1
    },
    {
      "id": "4b2bbc17-0e74-499d-ac6f-6c94ce3eb5ee",
      "name": "获取基本信息",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -880,
        -60
      ],
      "webhookId": "5256b332-3d3c-486a-8449-85fa44961bb8",
      "parameters": {
        "options": {},
        "formTitle": "Get in Touch",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Name",
              "placeholder": "John Smith",
              "requiredField": true
            },
            {
              "fieldLabel": "Company Name",
              "placeholder": "Company Limited",
              "requiredField": true
            },
            {
              "fieldLabel": "Job Title",
              "placeholder": "CEO",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email",
              "placeholder": "john.smith@company.com",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b2eb9da9-571d-44ee-9944-a787f8d6cd50",
      "name": "获取业务概览",
      "type": "n8n-nodes-base.form",
      "position": [
        -640,
        -60
      ],
      "webhookId": "16216db0-6150-4ac7-b1f7-7fd6c2eb74c5",
      "parameters": {
        "options": {},
        "formFields": {
          "values": [
            {
              "fieldType": "textarea",
              "fieldLabel": "Please describe your current situation and why you are interested in automating with AI",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "93c96c45-9512-46c2-9fe0-c4558b93e9d6",
      "name": "结束表单",
      "type": "n8n-nodes-base.form",
      "position": [
        1320,
        -60
      ],
      "webhookId": "eb756213-2fae-4b29-85b3-727d3cf53b90",
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "Form Completed",
        "completionMessage": "Thank you for answering these questions. We'll be in touch soon!"
      },
      "typeVersion": 1
    },
    {
      "id": "123b688b-adae-4fe2-85cf-fc066175d96f",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -120,
        240
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"response\": [\n    {\n      \"question\": \"What is the biggest challenge facing their business at present?\",\n      \"has_been_answered\": false,\n      \"reasoning\": \"put your reason here\"\n    },\n    {\n      \"question\": \"Does the company have any existing automation workflows already in place?\",\n      \"has_been_answered\": true,\n      \"reasoning\": \"put your reason here\"\n    },\n    {\n      \"question\": \"Is the respondent a decision-maker in the business? (This can be inferred from their job title if it indicates a leadership position such as CEO, Founder, Director, etc.)\",\n      \"has_been_answered\": false,\n      \"reasoning\": \"put your reason here\"\n    },\n    {\n      \"question\": \"Which specific business functions or departments are they looking to automate? (Examples: Sales, Marketing, HR, Finance, Customer Service, Supply Chain, etc.)\",\n      \"has_been_answered\": true,\n      \"reasoning\": \"put your reason here\"\n    },\n    {\n      \"question\": \"What does their current IT infrastructure look like?\",\n      \"has_been_answered\": false,\n      \"reasoning\": \"put your reason here\"\n    }\n  ]\n}\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a2d86a3-62ed-4003-a012-bfdabc9eafc8",
      "name": "移除已回答问题",
      "type": "n8n-nodes-base.filter",
      "position": [
        340,
        -60
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "40bc4f8b-7fd3-4149-af5d-aca71eb9b034",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $json.has_been_answered }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a97d53ae-1649-4809-8793-5e4a815016cb",
      "name": "分析响应",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -280,
        -60
      ],
      "parameters": {
        "text": "=## Analysis Task\n\nAnalyze the following customer response to the question \"Please describe your current situation and why you are interested in automating with AI.\" \n\nCustomer Information:\n- Job Title: {{ $('Get Basic Information').item.json['Job Title'] }}\n- Response: {{ $json['Please describe your current situation and why you are interested in automating with AI'] }}\n\n## Required Information\nIdentify whether the customer's response clearly addresses each of these critical questions:\n\n1. What specific goals are you looking to achieve with automation?\n2. Does the company have any existing automation workflows already in place?\n3. Is the respondent a decision-maker in the business? (This can be inferred from their job title if it indicates a leadership position such as CEO, Founder, Director, etc.)\n4. Which specific business functions or departments are you looking to automate? (Examples: Sales, Marketing, HR, Finance, Customer Service, Supply Chain, etc.)\n5. What does your current IT infrastructure look like?\n\n## Output Format\nAnalyse each question with whether you believe that the question has already been answered. Go step by step and use reasoning. ",
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "12b8cc80-ff5e-4ebd-a72d-2629f743355e",
      "name": "拆分分析结果",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        120,
        -60
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output.response"
      },
      "notesInFlow": false,
      "typeVersion": 1
    },
    {
      "id": "c28929cf-7590-4e32-be20-f9065920ed80",
      "name": "准备表单生成",
      "type": "n8n-nodes-base.set",
      "position": [
        580,
        -60
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ae1dbc1e-6005-4b5e-acbe-c3fda6d4413f",
              "name": "fieldLabel",
              "type": "string",
              "value": "={{ $json.question }}"
            },
            {
              "id": "c46276bc-018e-4edb-82e0-f6a4dc9d4953",
              "name": "requiredField",
              "type": "boolean",
              "value": true
            },
            {
              "id": "b060ed04-a99c-475b-a5b6-6cb5d57ea2ff",
              "name": "fieldType",
              "type": "string",
              "value": "textarea"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "33d55396-e716-41c5-bf25-d0bfcfadf167",
      "name": "聚合表单生成",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        840,
        -60
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "15b39119-08d6-45bf-9323-09fa5b59a64e",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1660,
        -300
      ],
      "parameters": {
        "width": 700,
        "height": 780,
        "content": "# 使用 OpenAI 动态生成表单避免重复提问"
      },
      "typeVersion": 1
    },
    {
      "id": "e9270776-97f0-4aa4-8797-92a235f7760e",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -940,
        -300
      ],
      "parameters": {
        "width": 480,
        "height": 140,
        "content": "## 设置"
      },
      "typeVersion": 1
    },
    {
      "id": "6db4d121-f08a-4509-82fd-5d91d1dcbc82",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -940,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 240,
        "content": "## 1. 初始表单页"
      },
      "typeVersion": 1
    },
    {
      "id": "3ecaaf11-8bc7-415e-8eb3-245f7bcedda7",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -440,
        -220
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 620,
        "content": "## 2. 分析响应"
      },
      "typeVersion": 1
    },
    {
      "id": "1e2e100e-ac64-45b1-aa3b-318996783a79",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -420,
        140
      ],
      "parameters": {
        "color": 5,
        "width": 220,
        "height": 240,
        "content": "### 修改"
      },
      "typeVersion": 1
    },
    {
      "id": "e6f92fbb-7f41-4e02-9316-06e7480c0306",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -160
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 240,
        "content": "### 修改"
      },
      "typeVersion": 1
    },
    {
      "id": "1bcca0c9-a4b3-493f-a188-7ecc00fec36e",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 920,
        "height": 260,
        "content": "## 3. 清理分析"
      },
      "typeVersion": 1
    },
    {
      "id": "ffcee0f4-364b-46a5-9deb-cbd005a3b6fc",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1000,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 520,
        "height": 260,
        "content": "## 4. 生成最终表单页和结束表单"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "336f5d17-d556-4e9f-8785-9c55c0b5d918",
  "connections": {
    "End Form": {
      "main": [
        []
      ]
    },
    "Analyse Response": {
      "main": [
        [
          {
            "node": "Split Out Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Analyse Response",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Split Out Analysis": {
      "main": [
        [
          {
            "node": "Remove Already Answered Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Basic Information": {
      "main": [
        [
          {
            "node": "Get Business Overview",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Business Overview": {
      "main": [
        [
          {
            "node": "Analyse Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clarification Questions": {
      "main": [
        [
          {
            "node": "End Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Analyse Response",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Prepare For Form Generation": {
      "main": [
        [
          {
            "node": "Aggregate For Form Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate For Form Generation": {
      "main": [
        [
          {
            "node": "Clarification Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Already Answered Questions": {
      "main": [
        [
          {
            "node": "Prepare For Form Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 销售, 人工智能, 营销

需要付费吗?

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

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

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

作者
Chris Carr

Chris Carr

@chriscarr

Founder of bsde.ai, a workflow and AI agency based in the UK.

外部链接
在 n8n.io 查看

分享此工作流