8
n8n 中文网amn8n.com

研讨会证书预颁发系统

高级

这是一个Document Extraction领域的自动化工作流,包含 24 个节点。主要使用 If, Code, Gmail, Merge, GoogleDrive 等节点。 自动化研讨会证书系统,集成 JotForm、邮件验证和 Google Workspace

前置要求
  • Google 账号和 Gmail API 凭证
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "",
  "meta": {
    "instanceId": "",
    "templateCredsSetupCompleted": false
  },
  "name": "研讨会证书预颁发系统",
  "tags": [],
  "nodes": [
    {
      "id": "5e7bec79-8951-4388-890c-73e37a6ef8b2",
      "name": "条件判断 - 邮箱有效?",
      "type": "n8n-nodes-base.if",
      "position": [
        560,
        560
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.valid }}",
              "value2": "={{ true }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1e9a2800-bab2-47f2-8fff-5f52f0d3e903",
      "name": "准备证书数据",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        368
      ],
      "parameters": {
        "jsCode": "// Get current item (merged data)\nconst data = $input.first().json;\n\n// Build full name\nconst fullName = `${data[\"Full Name\"].first} ${data[\"Full Name\"].last}`.trim();\n\n// Format date\nconst dateObj = data[\"Select Workshop Date\"];\nconst displayDate = new Date(`${dateObj.year}-${dateObj.month}-${dateObj.day}`).toLocaleDateString('en-US', {\n  year: 'numeric',\n  month: 'long',\n  day: 'numeric'\n});\n\n// QR Code URL\nconst verificationUrl = `https://your-domain.com/verify?email=${encodeURIComponent(data.Email)}&event=${encodeURIComponent(data[\"Select Workshop\"])}`;\n\n// Unique Certificate ID\nconst certificateId = `CERT-${Date.now().toString(36).toUpperCase()}-${Math.random().toString(36).substr(2, 5).toUpperCase()}`;\n\n// Return clean data for HTML\nreturn [\n  {\n    json: {\n      name: fullName,\n      email: data.Email,\n      event: data[\"Select Workshop\"],\n      date: displayDate,\n      qrCodeUrl: `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(verificationUrl)}&size=200x200&margin=10`,\n      verificationUrl: verificationUrl,\n      certificateId: certificateId,\n      verifiedAt: new Date().toISOString(),\n      emailProvider: data.details?.mx?.provider || \"Unknown\",\n      isValid: data.valid\n    }\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "ff60e9dc-464e-4b54-8bbd-1e90874436d5",
      "name": "下载 PDF 文件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1536,
        368
      ],
      "parameters": {
        "url": "={{ $json.pdf_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "pdfData"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f8ec0f94-b7c6-43c8-8598-7cb5e324b523",
      "name": "发送确认邮件",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2464,
        368
      ],
      "webhookId": "",
      "parameters": {
        "sendTo": "={{ $('Prepare Certificate Data').item.json.email }}",
        "message": "=<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <style>\n    body { font-family: 'Segoe UI', Tahoma, sans-serif; background: #f4f4f9; color: #333; padding: 20px; }\n    .container { max-width: 600px; margin: auto; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }\n    .header { background: #1a5fb4; color: white; padding: 30px; text-align: center; }\n    .header h1 { margin: 0; font-size: 24px; }\n    .body { padding: 30px; line-height: 1.6; }\n    .highlight { background: #e3f2fd; padding: 15px; border-radius: 8px; margin: 20px 0; font-weight: bold; }\n    .qr { text-align: center; margin: 25px 0; }\n    .qr img { width: 140px; height: 140px; border: 1px solid #ddd; padding: 8px; border-radius: 8px; }\n    .footer { background: #f0f0f0; padding: 20px; text-align: center; font-size: 12px; color: #777; }\n    .btn { display: inline-block; background: #1a5fb4; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; margin-top: 15px; font-weight: bold; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <div class=\"header\">\n      <h1>Workshop Confirmation</h1>\n    </div>\n    <div class=\"body\">\n      <p>Hi <strong>{{ $json['Full Name'] }}</strong>,</p>\n      <p>Congratulations! Your registration for:</p>\n      <div class=\"highlight\">\n        <strong>{{ $json.Workshop }}</strong><br>\n        {{ $json.Date }}\n      </div>\n      <p>has been <strong>verified and confirmed</strong>.</p>\n\n      <div class=\"qr\">\n        <img src=\"{{ $json['QR Code URL'] }}\" alt=\"QR Code\">\n        <p><em>Scan on event day for instant check-in</em></p>\n      </div>\n\n      <p><strong>Certificate ID:</strong> <code>{{ $json['Certificate ID'] }}</code></p>\n      <p><strong>Verified Email:</strong> {{ $json.Email }}</p>\n\n      <p>Your official <strong>pre-issued certificate is attached</strong> as a PDF.</p>\n\n      <a href=\"{{ $json['PDF Link'] }}\" class=\"btn\" target=\"_blank\">\n        View Certificate Online\n      </a>\n    </div>\n    <div class=\"footer\">\n      Issued on {{ new Date().toLocaleDateString() }} • Powered by <strong>n8n Automation</strong>\n    </div>\n  </div>\n</body>\n</html>",
        "options": {},
        "subject": "=🎉 Your Workshop Seat is Confirmed - {{ $('Prepare Certificate Data').item.json.event }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YOUR_GMAIL_OAUTH2_ID",
          "name": "Gmail OAuth2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "96b09356-225b-41dd-8684-b003df5b7f1c",
      "name": "记录到 Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2176,
        368
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $('Prepare Certificate Data').item.json.date }}",
            "Email": "={{ $('Prepare Certificate Data').item.json.email }}",
            "PDF Link": "={{ $json.webViewLink }}",
            "Workshop": "={{ $('Prepare Certificate Data').item.json.event }}",
            "Full Name": "={{ $('Prepare Certificate Data').item.json.name }}",
            "Timestamp": "={{ new Date().toISOString() }}",
            "QR Code URL": "={{ $('Prepare Certificate Data').item.json.qrCodeUrl }}",
            "Verified At": "={{ $json.createdTime }}",
            "Certificate ID": "={{ $('Prepare Certificate Data').item.json.certificateId }}"
          },
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Full Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Full Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Workshop",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Workshop",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Certificate ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Certificate ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "QR Code URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "QR Code URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "PDF Link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "PDF Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Verified At",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Verified At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEETS_DOCUMENT_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit?usp=drivesdk",
          "cachedResultName": "Workshop Registrations & Certificates"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_OAUTH2_ID",
          "name": "Google Sheets OAuth2"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "4c34e01e-c47f-4879-a79b-f358b4e774e6",
      "name": "记录注册失败",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        880,
        736
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date(\n  $json[\"Select Workshop Date\"].year + '-' +\n  String($json[\"Select Workshop Date\"].month).padStart(2, '0') + '-' +\n  String($json[\"Select Workshop Date\"].day).padStart(2, '0')\n).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) }}",
            "Email": "={{ $json.Email }}",
            "Status": "Invalid Email",
            "PDF Link": "Invalid Email",
            "Workshop": "={{ $json[\"Select Workshop\"] }}",
            "Full Name": "={{ $json['Full Name'].first + ' ' + $json['Full Name'].last }}",
            "Timestamp": "={{ $now }}",
            "QR Code URL": "Invalid Email",
            "Verified At": "Invalid Email",
            "Certificate ID": "Invalid Email"
          },
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Full Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Full Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Workshop",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Workshop",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Certificate ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Certificate ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "QR Code URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "QR Code URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "PDF Link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "PDF Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Verified At",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Verified At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEETS_DOCUMENT_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit?usp=drivesdk",
          "cachedResultName": "Workshop Registrations & Certificates"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_OAUTH2_ID",
          "name": "Google Sheets OAuth2"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "0d26d3cd-509b-4f95-b188-00d41bb17e3c",
      "name": "JotForm 触发器",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -224,
        544
      ],
      "webhookId": "",
      "parameters": {
        "form": "YOUR_JOTFORM_FORM_ID"
      },
      "credentials": {
        "jotFormApi": {
          "id": "YOUR_JOTFORM_API_ID",
          "name": "JotForm API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "de18b560-5a30-4b26-998f-a701590b4e9d",
      "name": "Verifi 邮箱验证",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        0,
        752
      ],
      "parameters": {
        "email": "={{ $json.Email }}"
      },
      "credentials": {
        "verifiEmailApi": {
          "id": "YOUR_VERIFI_EMAIL_API_ID",
          "name": "VerifiEmail API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1eb2b648-b557-42f1-aed5-d6b3f5b6419e",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        288,
        560
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "5b63e21f-3504-4081-8422-800bda3803b5",
      "name": "HTML 转 PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        1200,
        368
      ],
      "parameters": {
        "html_content": "=<div style=\"font-family: 'Georgia', serif; text-align: center; padding: 40px; border: 8px double #1a5fb4; background: #f9f9fb; max-width: 600px; margin: auto; color: #1a1a1a;\">\n  <h1 style=\"color: #1a5fb4; margin-bottom: 10px;\">Certificate of Confirmation</h1>\n  <p style=\"font-size: 18px; color: #555;\">This certifies that</p>\n  \n  <h2 style=\"font-size: 28px; margin: 15px 0; color: #1a5fb4;\">{{ $json.name }}</h2>\n  \n  <p style=\"font-size: 18px; color: #555;\">has successfully registered for</p>\n  <h3 style=\"font-size: 22px; color: #000;\">{{ $json.event }}</h3>\n  \n  <p style=\"font-size: 16px; margin: 10px 0;\"><strong>Date:</strong> {{ $json.date }}</p>\n  \n  <div style=\"margin: 30px 0;\">\n    <img src=\"{{ $json.qrCodeUrl }}\" alt=\"QR Code\" style=\"width: 150px; height: 150px;\" />\n  </div>\n  \n  <p style=\"font-size: 14px; color: #666;\">\n    <strong>Certificate ID:</strong> {{ $json.certificateId }}<br>\n    <strong>Verified Email:</strong> {{ $json.email }} ({{ $json.emailProvider }})<br>\n    <em>Scan QR code on event day for instant check-in</em>\n  </p>\n  \n  <hr style=\"border: 1px dashed #ccc; margin: 30px 0;\">\n  <p style=\"font-size: 12px; color: #999;\">\n    Issued: {{ new Date().toLocaleDateString() }} • Powered by n8n Automation\n  </p>\n</div>"
      },
      "credentials": {
        "htmlcsstopdfApi": {
          "id": "YOUR_HTML_TO_PDF_API_ID",
          "name": "HTML to PDF API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d7504f9f-ee7e-41b0-8ec3-28acf6b139be",
      "name": "上传文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1856,
        368
      ],
      "parameters": {
        "name": "=Confirmed_Attendee_{{ $('Prepare Certificate Data').item.json.name }}_{{ $('Prepare Certificate Data').item.json.date }}.pdf",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Attendee Data"
        },
        "inputDataFieldName": "pdfData"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "YOUR_GOOGLE_DRIVE_OAUTH2_ID",
          "name": "Google Drive OAuth2"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "cfe08577-ff68-4961-af0a-20ad40a7393b",
      "name": "便利贴",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -32
      ],
      "parameters": {
        "width": 368,
        "height": 336,
        "content": "## 🎯 工作流概览"
      },
      "typeVersion": 1
    },
    {
      "id": "3bc160b5-b5f3-4b6d-82cc-85a70e6f7beb",
      "name": "便利贴 - 步骤 3 合并",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        336
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 381,
        "content": "## 🔀 步骤 3:数据合并"
      },
      "typeVersion": 1
    },
    {
      "id": "343482c5-6df5-41c2-9954-5047ff76d18f",
      "name": "便利贴 - 步骤 5 数据准备",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        160
      ],
      "parameters": {
        "color": 5,
        "width": 348,
        "height": 343,
        "content": "## 🧠 步骤 5:数据准备"
      },
      "typeVersion": 1
    },
    {
      "id": "66a19ac2-10fb-465d-b54c-08593974aae0",
      "name": "便利贴 - 步骤 6 PDF 生成",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        112
      ],
      "parameters": {
        "color": 5,
        "width": 316,
        "height": 405,
        "content": "## 🎨 步骤 6:PDF 证书生成"
      },
      "typeVersion": 1
    },
    {
      "id": "7e7c6eda-9d79-4cc2-97a4-3c70a1c42f5b",
      "name": "便利贴 - 步骤 7 下载 PDF",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1456,
        128
      ],
      "parameters": {
        "color": 5,
        "width": 316,
        "height": 377,
        "content": "## ⬇️ 步骤 7:下载 PDF 文件"
      },
      "typeVersion": 1
    },
    {
      "id": "556585b6-08ee-43c7-9ba0-2d770495b442",
      "name": "便利贴 - 步骤 8 Google Drive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1776,
        112
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 407,
        "content": "## ☁️ 步骤 8:保存到 Google Drive"
      },
      "typeVersion": 1
    },
    {
      "id": "b236ab7c-1343-401b-809a-46da6da52e78",
      "name": "便利贴 - 步骤 9 Google Sheets",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        -80
      ],
      "parameters": {
        "color": 5,
        "width": 316,
        "height": 601,
        "content": "## 📊 步骤 9:记录到 Google Sheets"
      },
      "typeVersion": 1
    },
    {
      "id": "92f23ba3-991c-478f-a73a-6066d71c81c9",
      "name": "便利贴 - 步骤 10 Gmail",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2400,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 380,
        "height": 519,
        "content": "## 📧 步骤 10:发送确认邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "e52d6ffe-cd32-410f-bc4a-6df2188e3159",
      "name": "便利贴 - 错误分支",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        720
      ],
      "parameters": {
        "color": 3,
        "width": 380,
        "height": 409,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c28f87a3-365f-4fba-aec5-3f9db0f0a571",
      "name": "便利贴 - 凭证状态",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        336
      ],
      "parameters": {
        "color": 4,
        "width": 327,
        "height": 339,
        "content": "## 🔐 凭证设置检查清单"
      },
      "typeVersion": 1
    },
    {
      "id": "8a808aa3-96eb-40c8-b2e1-e46258d936e4",
      "name": "便利贴 - 步骤 1 Jotform",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        336
      ],
      "parameters": {
        "color": 5,
        "width": 364,
        "height": 347,
        "content": "## 📝 步骤 1:注册表单触发器"
      },
      "typeVersion": 1
    },
    {
      "id": "9e18f646-f00f-4a08-a22d-866d735cba3b",
      "name": "便利贴 - 步骤 2 邮箱验证",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        736
      ],
      "parameters": {
        "color": 5,
        "width": 364,
        "height": 367,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f59bfa08-733e-46d2-925a-97f717ee8162",
      "name": "便利贴 - 步骤 4 条件判断",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        288
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 417,
        "content": "## 🔀 步骤 4:条件分支"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "IF - Email Valid?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML to PDF": {
      "main": [
        [
          {
            "node": "Download PDF File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verifi Email": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "JotForm Trigger": {
      "main": [
        [
          {
            "node": "Verifi Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download PDF File": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF - Email Valid?": {
      "main": [
        [
          {
            "node": "Prepare Certificate Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Failed Registrations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets": {
      "main": [
        [
          {
            "node": "Send Confirmation Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Confirmation Email": {
      "main": [
        []
      ]
    },
    "Prepare Certificate Data": {
      "main": [
        [
          {
            "node": "HTML to PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 文档提取

需要付费吗?

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

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

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

作者
Jitesh Dugar

Jitesh Dugar

@jiteshdugar

AI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.

外部链接
在 n8n.io 查看

分享此工作流