使用OpenAI处理UX访谈记录并生成摘要到Google Sheets

中级

这是一个Market Research、AI Summarization领域的自动化工作流,包含 14 个节点。主要使用 Filter、SplitOut、GoogleDrive、GoogleSheets、ManualTrigger 等节点。 OpenAI UX访谈分析:转录并导出到Google Sheets

前置要求
  • Google Drive API 凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "e5SP66m2pNYbV2cg",
  "meta": {
    "instanceId": "eb6cdf70dd526a1c97d7dcb6b9292757001af53236f7ca64a2582483540c6ee4",
    "templateCredsSetupCompleted": true
  },
  "name": "使用 OpenAI 处理 UX 访谈记录并生成摘要到 Google Sheets",
  "tags": [],
  "nodes": [
    {
      "id": "c42709ac-6960-4e3b-ba1c-573b491a9ecf",
      "name": "当点击“执行工作流”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1424,
        -368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f49de87d-c098-4bed-8b24-993159b1d8ca",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        16,
        -160
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"Persona\": \"Person 1\",\n    \"User needs\": \"Wants an intuitive mobile experience\",\n    \"Pain points\": \"Finds sign-up process too long\",\n    \"New feature request\": \"Wants biometric login\"\n  },\n  {\n    \"Persona\": \"Person 2\",\n    \"User needs\": \"Needs better calendar integration\",\n    \"Pain points\": \"Misses reminders frequently\",\n    \"New feature request\": \"Requests smart reminders with email sync\"\n  }\n]"
      },
      "typeVersion": 1.3
    },
    {
      "id": "61d2c83e-ff72-49ea-b84d-56b6bc509c44",
      "name": "在 Google Drive 中搜索访谈文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1184,
        -368
      ],
      "parameters": {
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "1_HlRPRZeTx48RE95HYTpaW3YVm-Tk1EG",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1_HlRPRZeTx48RE95HYTpaW3YVm-Tk1EG",
            "cachedResultName": "User testing result"
          },
          "whatToSearch": "files"
        },
        "options": {},
        "resource": "fileFolder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "1gZqLrXY9yCNTtEG",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "1173f8ad-9220-45ce-a308-a823b3c723ec",
      "name": "按 .mp3 过滤",
      "type": "n8n-nodes-base.filter",
      "position": [
        -944,
        -368
      ],
      "parameters": {
        "options": {
          "ignoreCase": true
        },
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "420e1a9c-2145-4845-b4b0-31a82855a78c",
              "operator": {
                "type": "string",
                "operation": "endsWith"
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": ".mp3"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "2a966bdb-7469-461c-9d13-a8d94bfcdca5",
      "name": "下载音频文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -688,
        -368
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "1gZqLrXY9yCNTtEG",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "d264aea8-4dc1-4c0f-b2ad-7e2226cab42c",
      "name": "转录录音",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -432,
        -368
      ],
      "parameters": {
        "options": {},
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "id": "s9Zb7s8XMwxB2DpE",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "0b7f1399-f98b-4742-880d-913d560017c6",
      "name": "用于创建转录的 AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -176,
        -368
      ],
      "parameters": {
        "text": "=You are an expert UX researcher assistant.\n\nI will provide you with a transcript from a user interview. Analyze the transcript and return a summary for each person as a JSON array. Each object must have these keys:\n- \"Persona\"\n- \"User needs\"\n- \"Pain points\"\n- \"New feature request\"\n\nFollow this exact format:\n[\n  {\n    \"Persona\": \"Person 1\",\n    \"User needs\": \"Describe the main needs here\",\n    \"Pain points\": \"Describe main pain points here\",\n    \"New feature request\": \"Describe new feature requests here\"\n  },\n  {\n    \"Persona\": \"Person 2\",\n    \"User needs\": \" ... \",\n    \"Pain points\": \" ... \",\n    \"New feature request\": \" ... \"\n  }\n]\n\nRules:\n- Only return valid JSON.\n- No extra text, explanations, or comments.\n- Use concise summaries.\n\nHere is the transcript:\n{{ $json.text }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1,
      "alwaysOutputData": false
    },
    {
      "id": "eef35c0f-f319-4c97-880f-549f4e02dd51",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -176,
        -160
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "s9Zb7s8XMwxB2DpE",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "59b334cc-3d90-451d-a48e-0ce144daecef",
      "name": "拆分结果",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        256,
        -368
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output"
      },
      "typeVersion": 1
    },
    {
      "id": "23effa45-8a46-4876-8d32-98b07b6cedf2",
      "name": "将结果插入到 Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        528,
        -368
      ],
      "parameters": {
        "columns": {
          "value": {
            "Persona": "={{ $json.Persona }}",
            "User need": "={{ $json[\"User needs\"] }}",
            "Pain points": "={{ $json[\"Pain points\"] }}",
            "New feature request": "={{ $json[\"New feature request\"] }}"
          },
          "schema": [
            {
              "id": "Persona",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Persona",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "User need",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "User need",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pain points",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Pain points",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "New feature request",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "New feature request",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Summary"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "13tkgJh2tYslsLLKeAI_i-xFLWcFO5UzINB-g6TszzIE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/13tkgJh2tYslsLLKeAI_i-xFLWcFO5UzINB-g6TszzIE/edit?usp=drivesdk",
          "cachedResultName": "User transcript v"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tfmuynHdek0Dkf2l",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "d25d0972-0afe-4380-bf27-c6906de17233",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2240,
        -624
      ],
      "parameters": {
        "color": 5,
        "width": 520,
        "height": 808,
        "content": "***使用 OpenAI 进行 UX 访谈分析:转录、总结并导出到 Google Sheets!***"
      },
      "typeVersion": 1
    },
    {
      "id": "82eb2906-9b36-4f38-a5e7-b3a6b3c6a889",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -464
      ],
      "parameters": {
        "color": 5,
        "width": 408,
        "height": 392,
        "content": "将您的 MP3 文件上传到 Google Drive 并将 Google Drive 连接到工作流。"
      },
      "typeVersion": 1
    },
    {
      "id": "456e3b63-946c-482e-ae58-f19ff964a13c",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -464
      ],
      "parameters": {
        "color": 3,
        "width": 456,
        "height": 504,
        "content": "用于总结的 OpenAI(可以替换为 Gemini、Claude 或任何其他 LLM)。如果需要,请修改摘要要求。"
      },
      "typeVersion": 1
    },
    {
      "id": "31c97015-3c07-4c89-b051-918b81b2eacc",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -544
      ],
      "parameters": {
        "color": 4,
        "width": 392,
        "height": 584,
        "content": "将 Google Sheets 连接到此节点。预先创建以下列:"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "10a06953-0799-48d2-9864-6b94f403be48",
  "connections": {
    "Filter by .mp3": {
      "main": [
        [
          {
            "node": "Download audio file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent for creating transcript",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Split Out results": {
      "main": [
        [
          {
            "node": "Insert results to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download audio file": {
      "main": [
        [
          {
            "node": "Transcribe a recording",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe a recording": {
      "main": [
        [
          {
            "node": "AI Agent for creating transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent for creating transcript",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent for creating transcript": {
      "main": [
        [
          {
            "node": "Split Out results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Search Google Drive for interview files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Google Drive for interview files": {
      "main": [
        [
          {
            "node": "Filter by .mp3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

这是一个中级难度的工作流,适用于Market Research、AI Summarization等场景。适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

需要付费吗?

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

工作流信息
难度等级
中级
节点数量14
分类2
节点类型10
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 上查看 →

分享此工作流