8
n8n 中文网amn8n.com

恢复验证工作流自动化

高级

这是一个HR领域的自动化工作流,包含 20 个节点。主要使用 If, Set, Gmail, Merge, Webhook 等节点。 使用 VerifiEmail、HTML CSS 转图片和 Gmail 验证邮箱并生成简历卡片

前置要求
  • Google 账号和 Gmail API 凭证
  • HTTP Webhook 端点(n8n 会自动生成)
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "",
  "meta": {
    "instanceId": "",
    "templateCredsSetupCompleted": false
  },
  "name": "恢复验证工作流自动化",
  "tags": [
    {
      "id": "",
      "name": "image-generation"
    },
    {
      "id": "",
      "name": "verifiemail"
    },
    {
      "id": "",
      "name": "automation"
    }
  ],
  "nodes": [
    {
      "id": "001d7a79-9826-40b6-91e6-6759765c7ca0",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1184,
        1072
      ],
      "webhookId": "",
      "parameters": {
        "path": "resume-verifier",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 1
    },
    {
      "id": "7529ae4c-48bb-4df6-90ad-cd492903708e",
      "name": "便签 - Webhook",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1312,
        768
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 440,
        "content": "## 🟩 WEBHOOK触发器"
      },
      "typeVersion": 1
    },
    {
      "id": "dd29171e-2d1c-4d6a-b7d9-8d2221ff2d9c",
      "name": "便签 - 凭证设置",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        672
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 424,
        "content": "## ⚙️ 凭证设置指南"
      },
      "typeVersion": 1
    },
    {
      "id": "104ff66b-e922-4c5d-a47a-4be7182702bd",
      "name": "设置 - 准备简历数据",
      "type": "n8n-nodes-base.set",
      "position": [
        -736,
        1072
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "name",
              "stringValue": "={{ $json.body.name }}"
            },
            {
              "name": "email",
              "stringValue": "={{ $json.body.email }}"
            },
            {
              "name": "role",
              "stringValue": "={{ $json.body.role }}"
            },
            {
              "name": "skills",
              "stringValue": "={{ $json.body.skills }}"
            }
          ]
        },
        "include": "none",
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "2f3e9e78-710e-4ca3-88fb-abf99fed3645",
      "name": "便签 - 设置节点",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        848
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 404,
        "content": "## 🟨 数据提取与清洗"
      },
      "typeVersion": 1
    },
    {
      "id": "02b2a4ec-0b5b-4e96-bd4c-1950db99f701",
      "name": "便签 - 邮箱验证",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -432,
        784
      ],
      "parameters": {
        "color": 7,
        "width": 388,
        "height": 456,
        "content": "## 🟦 邮箱验证服务"
      },
      "typeVersion": 1
    },
    {
      "id": "b1f1e84a-b908-4d01-9d3c-851d55e86bc4",
      "name": "条件判断 - 检查邮箱有效性",
      "type": "n8n-nodes-base.if",
      "position": [
        96,
        1072
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.valid }}",
              "value2": "={{ true }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6dd7a625-18a1-4823-961f-8c4935490fa3",
      "name": "便签 - 条件逻辑",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        608
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 632,
        "content": "## 🟧 条件路由逻辑"
      },
      "typeVersion": 1
    },
    {
      "id": "e5748feb-cb89-4d19-b15e-ae45c8aba654",
      "name": "合并 - 组合数据",
      "type": "n8n-nodes-base.merge",
      "position": [
        496,
        1008
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combinationMode": "mergeByPosition"
      },
      "typeVersion": 2.1
    },
    {
      "id": "74c2eb03-f6f2-44cc-a393-17b20c58a869",
      "name": "便签 - 合并",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        544
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 620,
        "content": "## 🔀 数据合并操作"
      },
      "typeVersion": 1
    },
    {
      "id": "33f21065-5ab7-468b-bd09-ce64e9c66b43",
      "name": "便签 - 图片生成",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        768
      ],
      "parameters": {
        "color": 7,
        "width": 296,
        "height": 392,
        "content": "## 🟪 可视化卡片生成"
      },
      "typeVersion": 1
    },
    {
      "id": "bcc58e51-720a-43ea-a695-5e182a302174",
      "name": "Gmail - 发送有效卡片",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1536,
        1008
      ],
      "webhookId": "",
      "parameters": {
        "sendTo": "={{ $('Set - Prepare Resume Data').item.json.email }}",
        "message": "=<div style=\"font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;\">\n  <h2 style=\"color: #667eea;\">Hi {{ $('Set - Prepare Resume Data').item.json.name }}! 👋</h2>\n  <p style=\"font-size: 16px; line-height: 1.6; color: #333;\">\n    Great news! Your email has been <strong>successfully verified</strong>. ✅\n  </p>\n  <p style=\"font-size: 16px; line-height: 1.6; color: #333;\">\n    Here's your personalized resume snapshot card. Feel free to use it on your portfolio, LinkedIn, or share it with potential employers!\n  </p>\n  <div style=\"margin: 30px 0; padding: 20px; background: #f8f9fa; border-radius: 8px; text-align: center;\">\n    <p style=\"margin: 0; color: #666; font-size: 14px;\">Your resume card is attached below 📎</p>\n  </div>\n  <p style=\"font-size: 14px; color: #666;\">\n    Best regards,<br>\n    <strong>Resume Verification Team</strong>\n  </p>\n</div>",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        },
        "subject": "Your Verified Resume Snapshot Card 🎉"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YOUR_Gmail_OAuth2_Credential_ID",
          "name": "Gmail OAuth2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "670d3f3a-77e6-410f-a4ac-dec7720ea9eb",
      "name": "便签 - Gmail有效",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        672
      ],
      "parameters": {
        "color": 7,
        "width": 324,
        "height": 488,
        "content": "## 🟪 成功邮件投递"
      },
      "typeVersion": 1
    },
    {
      "id": "1d23f4a7-cf65-4173-9b0c-42dbc6c6bb86",
      "name": "Gmail - 发送无效通知",
      "type": "n8n-nodes-base.gmail",
      "position": [
        560,
        1312
      ],
      "webhookId": "",
      "parameters": {
        "sendTo": "={{ $('Set - Prepare Resume Data').item.json.email }}",
        "message": "=<div style=\"font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;\">\n  <h2 style=\"color: #ef4444;\">Hi {{ $('Set - Prepare Resume Data').item.json.name }},</h2>\n  <p style=\"font-size: 16px; line-height: 1.6; color: #333;\">\n    Unfortunately, we couldn't verify the email address you provided: <code>{{ $('Set - Prepare Resume Data').item.json.email }}</code>\n  </p>\n  <div style=\"background: #fef2f2; border-left: 4px solid #ef4444; padding: 15px; margin: 20px 0;\">\n    <p style=\"margin: 0; color: #991b1b; font-weight: 600;\">⚠️ Please check:</p>\n    <ul style=\"color: #7f1d1d; margin: 10px 0;\">\n      <li>Email spelling and format</li>\n      <li>Domain name is correct</li>\n      <li>Email account is active</li>\n    </ul>\n  </div>\n  <p style=\"font-size: 14px; color: #666;\">\n    Feel free to submit again with the correct email address.\n  </p>\n  <p style=\"font-size: 14px; color: #666;\">\n    Best regards,<br>\n    <strong>Resume Verification Team</strong>\n  </p>\n</div>",
        "options": {},
        "subject": "Email Verification Failed ⚠️"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YOUR_Gmail_OAuth2_Credential_ID",
          "name": "Gmail OAuth2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b9b8ba02-966b-4c7c-9e59-f574bee28749",
      "name": "便签 - Gmail无效",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        1312
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 488,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9a135cb2-e2a5-4b96-beff-3419ca846e6f",
      "name": "便签 - 工作流概览",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        32
      ],
      "parameters": {
        "color": 7,
        "width": 372,
        "height": 616,
        "content": "## 📊 工作流概览"
      },
      "typeVersion": 1
    },
    {
      "id": "71ce79dc-e903-4089-86ee-cacf1cf38c84",
      "name": "Verifi邮箱验证",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        -320,
        1072
      ],
      "parameters": {
        "email": "={{ $json.email }}"
      },
      "credentials": {
        "verifiEmailApi": {
          "id": "YOUR_VerifiEmail_API_Key",
          "name": "VerifiEmail API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "54df185b-5266-473f-9322-b45ffc0a6d3a",
      "name": "便签 - HTTP请求",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        720
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 440,
        "content": "## 📥 图片下载"
      },
      "typeVersion": 1
    },
    {
      "id": "c6db2b65-3422-4b4a-a2fe-4df06bee3624",
      "name": "下载图片",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1232,
        1008
      ],
      "parameters": {
        "url": "={{ $json.image_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8e0283fa-6bd1-4e8d-a38e-03761b1a9109",
      "name": "生成图像",
      "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
      "position": [
        912,
        1008
      ],
      "parameters": {
        "html_content": "=<div style=\"width:600px; padding:30px; font-family:'Inter', 'Segoe UI', sans-serif; background:linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius:16px; box-shadow:0 10px 40px rgba(0,0,0,0.3);\">\n  <div style=\"background:rgba(255,255,255,0.95); padding:30px; border-radius:12px; color:#333;\">\n    <div style=\"border-bottom:3px solid #667eea; padding-bottom:15px; margin-bottom:20px;\">\n      <h1 style=\"margin:0; font-size:32px; color:#667eea;\">{{ $json.name }}</h1>\n      <h3 style=\"margin:8px 0 0 0; color:#666; font-weight:400;\">{{ $json.role }}</h3>\n    </div>\n    <div style=\"margin:20px 0;\">\n      <h4 style=\"color:#667eea; margin:0 0 10px 0; font-size:16px;\">🛠️ Skills & Technologies</h4>\n      <p style=\"background:#f3f4f6; padding:12px; border-radius:8px; margin:0; line-height:1.6; color:#333;\">{{ $json.skills }}</p>\n    </div>\n    <div style=\"margin-top:25px; padding-top:20px; border-top:1px solid #e5e7eb; display:flex; justify-content:space-between; align-items:center;\">\n      <span style=\"background:#10b981; color:white; padding:6px 16px; border-radius:20px; font-size:13px; font-weight:600;\">✓ EMAIL VERIFIED</span>\n      <p style=\"margin:0; font-size:11px; color:#9ca3af;\">{{ $json.email }}</p>\n    </div>\n  </div>\n</div>"
      },
      "credentials": {
        "htmlcsstoimgApi": {
          "id": "YOUR_Htmlcsstoimg_API_Key",
          "name": "Htmlcsstoimg API"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Set - Prepare Resume Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verifi Email": {
      "main": [
        [
          {
            "node": "IF - Check Email Valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Gmail - Send Valid Card",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Image": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge - Combine Data": {
      "main": [
        [
          {
            "node": "Generate Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF - Check Email Valid": {
      "main": [
        [
          {
            "node": "Merge - Combine Data",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Gmail - Send Invalid Notice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set - Prepare Resume Data": {
      "main": [
        [
          {
            "node": "Verifi Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge - Combine Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "description": "Automatically verify candidate emails and generate beautiful resume snapshot cards. Uses VerifiEmail for validation and htmlcsstoimage.com to create professional visual cards delivered via Gmail."
}
常见问题

如何使用这个工作流?

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

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

高级 - 人力资源

需要付费吗?

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

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

适合高级用户,包含 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 查看

分享此工作流