8
n8n 中文网amn8n.com

面试质量审计

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 23 个节点。主要使用 If, Code, Slack, GoogleSheets, ManualTrigger 等节点。 使用GPT-4o-mini和Google表格通过Slack审核面试反馈并生成报告

前置要求
  • Slack Bot Token 或 Webhook URL
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "DZrX6urOE53Tm4jp",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "面试质量审计",
  "tags": [],
  "nodes": [
    {
      "id": "9e228e13-31c4-4f40-8bc1-83ffc0c0df21",
      "name": "当点击“执行工作流”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -176,
        16
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4656de9f-4ad6-4b48-a8b0-6802cd1e88ca",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        160
      ],
      "parameters": {
        "height": 384,
        "content": "✅ 验证 AI 响应"
      },
      "typeVersion": 1
    },
    {
      "id": "ed2e275a-ea76-4d78-b9da-2149ec9f5b50",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        352
      ],
      "parameters": {
        "height": 320,
        "content": "🤖 AI 质量评估器 (GPT-4o)"
      },
      "typeVersion": 1
    },
    {
      "id": "97cdbdb7-5306-4910-8e93-927940ed699d",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        -560
      ],
      "parameters": {
        "width": 336,
        "height": 544,
        "content": "🔍 分析反馈质量"
      },
      "typeVersion": 1
    },
    {
      "id": "6681d513-9520-4c78-8595-cbb27bdfff9c",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        192
      ],
      "parameters": {
        "height": 368,
        "content": "📋 获取面试反馈"
      },
      "typeVersion": 1
    },
    {
      "id": "f3e8a974-86fa-4a81-a5bd-3cbebf6302b4",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        928,
        -224
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "🔄 解析 AI JSON 输出"
      },
      "typeVersion": 1
    },
    {
      "id": "78deb6fe-c12f-4281-974d-19a9155f0f0e",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1664,
        448
      ],
      "parameters": {
        "width": 320,
        "height": 224,
        "content": "🎯 检查是否需要培训"
      },
      "typeVersion": 1
    },
    {
      "id": "97e18f0a-359c-4bf3-8ff8-bfe51a193e7d",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2064,
        464
      ],
      "parameters": {
        "width": 400,
        "height": 304,
        "content": "📚 发送培训建议"
      },
      "typeVersion": 1
    },
    {
      "id": "b88c8198-7941-41a6-8b7f-406f62371288",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        464
      ],
      "parameters": {
        "height": 320,
        "content": "🚨 记录 AI 错误"
      },
      "typeVersion": 1
    },
    {
      "id": "a98fbf8e-388a-40fe-a7a7-5e54866da422",
      "name": "便签9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        -144
      ],
      "parameters": {
        "width": 336,
        "height": 304,
        "content": "💬 发送反馈摘要"
      },
      "typeVersion": 1
    },
    {
      "id": "989baf43-960a-4393-9640-02b4454289d3",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        -592
      ],
      "parameters": {
        "width": 352,
        "height": 336,
        "content": "💾 保存分数到电子表格"
      },
      "typeVersion": 1
    },
    {
      "id": "c7fbcc25-cdde-4b02-b4ec-afdae31fff2e",
      "name": "便利贴11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        160
      ],
      "parameters": {
        "width": 288,
        "height": 480,
        "content": "🧮 计算加权质量分数"
      },
      "typeVersion": 1
    },
    {
      "id": "69339a87-95fa-4827-a768-a6a9aa1def9e",
      "name": "获取原始反馈数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        32,
        16
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 315277036,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=315277036",
          "cachedResultName": "Raw_Feedback"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
          "cachedResultName": "Interviewer Brief Pack "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "kpPEOLCGn963qpoh",
          "name": "automations@techdome.ai"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": false
    },
    {
      "id": "99814f2b-ab97-49bf-8eec-43083f731dad",
      "name": "AI 质量评估器 (GPT-4o1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        272,
        192
      ],
      "parameters": {
        "model": "gpt-4o-mini",
        "options": {}
      },
      "credentials": {
        "azureOpenAiApi": {
          "id": "C3WzT18XqF8OdVM6",
          "name": "Azure Open AI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6517c215-19c5-4644-97f6-26d650c65540",
      "name": "分析反馈质量",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        288,
        16
      ],
      "parameters": {
        "text": "=You are an Interview Feedback Quality Auditor.\n\nYour task is to evaluate interviewer feedback notes and score them across 5 dimensions:\n- specificity (1–5)\n- structure_STAR (1–5)\n- bias_free_language (1–5)\n- actionability (1–5)\n- depth (1–5)\n\n⚖️ Scoring Guidelines:\n- 5 = Excellent: Clear, detailed, STAR format (Situation, Task, Action, Result) explicitly used or strongly implied, with evidence/examples.\n- 4 = Good: Mostly structured, some detail, minor gaps, still useful for decisions.\n- 3 = Adequate: Some relevant info but mixed with vagueness, missing STAR elements.\n- 2 = Poor: Mostly vague or generic, no clear evidence, over-reliant on subjective phrasing.\n- 1 = Unusable: Purely subjective (“great guy”, “nice energy”), no actionable details.\n\nBias-free language: Score low if feedback references gender, looks, personality, or irrelevant traits.\n\nActionability: Score higher if the feedback directly helps in making a decision (e.g., “passed all test cases under time constraint” vs “seems smart”).\n\nDepth: Score higher if multiple competencies or dimensions are covered, lower if only 1 vague point.\n\n🚨 Additional Rules:\n- If text <30 words OR contains mostly emojis/placeholders → set ALL scores ≤2 and add `\"too_short\"` to vague_phrases.\n- Extract vague phrases (e.g., “good energy”, “smart guy”, “should be fine”) into `\"vague_phrases\"` array.\n\nReturn ONLY valid JSON in this schema:\n{\n  \"specificity\": <1–5>,\n  \"structure\": <1–5>,\n  \"bias_free_language\": <1–5>,\n  \"actionability\": <1–5>,\n  \"depth\": <1–5>,\n  \"vague_phrases\": [ ... ]\n}\n",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an Interview Feedback Quality Auditor.   Evaluate interview feedback for specificity, structure (STAR), bias-free language, actionability, and depth.   Be strict but fair. Always return **only valid JSON** that follows the given schema.Return ONLY valid JSON, no explanations, no markdown, no quotes wrapping the whole object.\n"
            },
            {
              "type": "HumanMessagePromptTemplate",
              "message": "=Role: {{$json[\"Role\"]}}   Stage: {{$json[\"Stage\"]}}   Feedback: {{$json[\"Feedback_Text\"]}}"
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "0612aeb7-a3a2-4215-9910-4cd077e06586",
      "name": "验证 AI 响应",
      "type": "n8n-nodes-base.if",
      "position": [
        640,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "4901c65c-6aaf-4efe-a133-1fedfedc0bca",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.text }}",
              "rightValue": "undefined "
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f89f5698-5d3c-4771-8b0b-511b32b9fc33",
      "name": "解析 AI JSON 输出",
      "type": "n8n-nodes-base.code",
      "position": [
        1024,
        0
      ],
      "parameters": {
        "jsCode": "// OpenAI output comes as string in $json.text\nconst raw = $json[\"text\"];\n\n// Parse safely\nlet parsed;\ntry {\n  parsed = JSON.parse(raw);\n} catch (e) {\n  throw new Error(\"Invalid JSON returned by OpenAI: \" + raw);\n}\n\nreturn parsed;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1174cddb-9bf5-4582-a7ba-aed412336b7f",
      "name": "计算加权质量分数",
      "type": "n8n-nodes-base.code",
      "position": [
        1232,
        0
      ],
      "parameters": {
        "jsCode": "// Input = parsed JSON from AI\nconst data = $json;\n\n// Weights (can be adjusted or moved to Config sheet later)\nconst weights = {\n  specificity: 0.35,\n  structure: 0.15,\n  bias_free_language: 0.15,\n  actionability: 0.10,\n  depth: 0.25,\n};\n\n// ✅ Fallback for structure (AI might send structure or structure_star)\nconst structureValue = data.structure ?? data.structure_star ?? 0;\n\n// Calculate weighted score safely\nlet total = (\n  (data.specificity * weights.specificity) +\n  (structureValue * weights.structure) +\n  (data.bias_free_language * weights.bias_free_language) +\n  (data.actionability * weights.actionability) +\n  (data.depth * weights.depth)\n) / (\n  weights.specificity +\n  weights.structure +\n  weights.bias_free_language +\n  weights.actionability +\n  weights.depth\n);\n\n// Scale to 0–100\ntotal = Math.round(total * 20);\n\n// Flags\nconst flags = [];\nif ((data.specificity ?? 0) < 3 || (data.depth ?? 0) < 3) {\n  flags.push(\"low_detail\");\n}\nif ((data.bias_free_language ?? 0) < 3) {\n  flags.push(\"bias\");\n}\n\n// Format vague phrases if they exist\nlet vagueFormatted = \"\";\nif (Array.isArray(data.vague_phrases) && data.vague_phrases.length > 0) {\n  vagueFormatted = data.vague_phrases.map(p => `• ${p}`).join(\"\\n\");\n}\n\n// Return clean JSON\nreturn {\n  json: {\n    Score: total,\n    Flags: flags.join(\", \"),\n    LLM_JSON: JSON.stringify(data),\n    VaguePhrasesFormatted: vagueFormatted,   // for Slack message\n    row_number: $json.row_number,            // keep tracking the row\n    Role: $item(0).$node[\"Fetch Raw Feedback Data\"].json.Role,\n    Stage: $item(0).$node[\"Fetch Raw Feedback Data\"].json.Stage\n  }\n};\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5d940fc3-8727-4dc4-9a58-133ab5180f08",
      "name": "保存分数到电子表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1600,
        -208
      ],
      "parameters": {
        "columns": {
          "value": {
            "Flags": "={{ $json.Flags }}",
            "Score": "={{ $json.Score }}",
            "LLM_JSON": "={{ $json.LLM_JSON }}",
            "row_number": "={{ $('Fetch Raw Feedback Data').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Candidate_ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Candidate_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Role",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Role",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Stage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Stage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Interviewer_Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Interviewer_Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Text",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Feedback_Text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Score",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Flags",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Flags",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LLM_JSON",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "LLM_JSON",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 315277036,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=315277036",
          "cachedResultName": "Raw_Feedback"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
          "cachedResultName": "Interviewer Brief Pack "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "kpPEOLCGn963qpoh",
          "name": "automations@techdome.ai"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": true
    },
    {
      "id": "40df551b-4ca7-4268-a1fe-4ebb01fd304f",
      "name": "向面试官发送反馈摘要",
      "type": "n8n-nodes-base.slack",
      "position": [
        1616,
        0
      ],
      "webhookId": "ddaa7632-9e35-4bd3-82d6-572d5cae84cc",
      "parameters": {
        "text": "=:mag: *Interview Feedback Audit*\n\n*Role:* {{ $json[\"Role\"] }}\n*Stage:* {{ $json[\"Stage\"] }}\n\n:bar_chart: *Score:* {{ $json[\"Score\"] }}/100  \n:warning: *Flags:* {{ $json[\"Flags\"] || \"none\" }}\n\n{{ $json[\"VaguePhrasesFormatted\"] ? \n    (\"_We noticed vague or incomplete feedback. Examples:_\\n\" + $json[\"VaguePhrasesFormatted\"] + \n    \"\\n\\n_To improve: try being more specific and evidence-based (e.g., STAR method)._\") \n    : \n    \"_✅ Great job! Your feedback was specific, structured, and bias-free._\" \n}}\n\nKeep it up — your detailed notes help us make fairer hiring decisions 🚀\n\n_Automated with this n8n workflow_\n",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U09HMPVD466",
          "cachedResultName": "newscctv22"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "de2e5d93-df58-41ef-a22f-e7a681308a64",
      "name": "检查是否需要培训",
      "type": "n8n-nodes-base.if",
      "position": [
        1776,
        288
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "62f94225-d1b6-42a0-a3e9-7afceb9b937d",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{$json[\"Score\"]}}",
              "rightValue": 50
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "49b80e52-27d3-455d-8082-e3e0f2365a69",
      "name": "发送培训建议",
      "type": "n8n-nodes-base.slack",
      "position": [
        2064,
        272
      ],
      "webhookId": "ddaa7632-9e35-4bd3-82d6-572d5cae84cc",
      "parameters": {
        "text": "=:books: *Training Recommendation*\n\nYour interview feedback for **{{$json[\"Role\"]}} ({{$json[\"Stage\"]}})** was reviewed.\n\n📊 **Score:** {{$json[\"Score\"]}}/100  \n⚠️ **Flags:** {{$json[\"Flags\"] || \"none\"}}  \n\nWe noticed vague or incomplete feedback. Here are some examples:  \n{{  $json.VaguePhrasesFormatted }}\n\nTo improve: try using structured, evidence-based feedback (e.g., STAR method).  \n\n👉 Helpful resources:  \n📘 [STAR Method Guide](https://example.com/star-training)  \n🎥 [Bias-Free Interviewing Video](https://example.com/interview-bias)  \n\nYour detailed notes help us make fairer hiring decisions 🚀\n",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U09HMPVD466",
          "cachedResultName": "newscctv22"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "48988700-46e2-4464-87a5-99054d6e9cbc",
      "name": "记录 AI 错误",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        944,
        304
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1338537721,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1338537721",
          "cachedResultName": "error log sheet"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
          "cachedResultName": "Interviewer Brief Pack "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "kpPEOLCGn963qpoh",
          "name": "automations@techdome.ai"
        }
      },
      "typeVersion": 4.7
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e2d8cf56-20c5-4e9a-9d03-d8b8536128fe",
  "connections": {
    "Parse AI JSON Output": {
      "main": [
        [
          {
            "node": "Calculate Weighted Quality Score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate AI Response": {
      "main": [
        [
          {
            "node": "Parse AI JSON Output",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log AI Errors",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Raw Feedback Data": {
      "main": [
        [
          {
            "node": "Analyze Feedback Quality",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Feedback Quality": {
      "main": [
        [
          {
            "node": "Validate AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Training Needed": {
      "main": [
        [
          {
            "node": "Send Training Recommendations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Scores to Spreadsheet": {
      "main": [
        []
      ]
    },
    "AI Quality Evaluator (GPT-4o1": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze Feedback Quality",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Weighted Quality Score": {
      "main": [
        [
          {
            "node": "Send Feedback Summary to Interviewer",
            "type": "main",
            "index": 0
          },
          {
            "node": "Save Scores to Spreadsheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Check if Training Needed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Fetch Raw Feedback Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 内容创作, 多模态 AI

需要付费吗?

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

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

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

作者
Rahul Joshi

Rahul Joshi

@rahul08

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

外部链接
在 n8n.io 查看

分享此工作流