已验证的 RSVP 确认
高级
这是一个Ticket Management领域的自动化工作流,包含 19 个节点。主要使用 If, Set, Gmail, Webhook, GoogleSheets 等节点。 使用 VerifiEmail 和 HTMLCssToImage 实现活动 RSVP 邮件验证和徽章生成自动化
前置要求
- •Google 账号和 Gmail API 凭证
- •HTTP Webhook 端点(n8n 会自动生成)
- •Google Sheets API 凭证
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "",
"meta": {
"instanceId": "",
"templateCredsSetupCompleted": false
},
"name": "已验证的 RSVP 确认",
"tags": [],
"nodes": [
{
"id": "5e77b586-d15b-44d5-9457-badf7a082228",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1264,
128
],
"parameters": {
"color": 4,
"width": 389,
"height": 437,
"content": "## 🔐 需要设置凭据"
},
"typeVersion": 1
},
{
"id": "f09447a8-18f1-4f2e-9e43-9507bd64ecc5",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
96
],
"parameters": {
"color": 4,
"width": 389,
"height": 486,
"content": "## 📥 步骤 1:WEBHOOK 触发器"
},
"typeVersion": 1
},
{
"id": "c7c73d92-4665-470c-84d4-0316a63305cd",
"name": "便签 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
192
],
"parameters": {
"color": 4,
"width": 389,
"height": 389,
"content": "## ✅ 步骤 2:电子邮件验证"
},
"typeVersion": 1
},
{
"id": "ab7ecffc-04a8-4269-bed1-9abd9023f930",
"name": "如果电子邮件有效?",
"type": "n8n-nodes-base.if",
"position": [
32,
432
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition-1",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.valid }}",
"rightValue": "valid"
}
]
}
},
"typeVersion": 2
},
{
"id": "71cae75b-a92f-4f34-9f94-66d6e324425a",
"name": "便签 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
112
],
"parameters": {
"color": 4,
"width": 325,
"height": 454,
"content": "## ⚖️ 步骤 3:条件分支"
},
"typeVersion": 1
},
{
"id": "1e31c753-3b9e-45f4-b111-7785381fbab6",
"name": "准备徽章数据",
"type": "n8n-nodes-base.set",
"position": [
384,
320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "field-1",
"name": "name",
"type": "string",
"value": "={{ $('Webhook - RSVP Form Submission').item.json.body.name }}"
},
{
"id": "field-2",
"name": "email",
"type": "string",
"value": "={{ $json.email }}"
},
{
"id": "field-3",
"name": "event",
"type": "string",
"value": "={{ $('Webhook - RSVP Form Submission').item.json.body.event }}"
},
{
"id": "field-4",
"name": "designation",
"type": "string",
"value": "={{ $('Webhook - RSVP Form Submission').item.json.body.designation }}"
},
{
"id": "field-5",
"name": "organization",
"type": "string",
"value": "={{ $('Webhook - RSVP Form Submission').item.json.body.organization }}"
},
{
"id": "field-7",
"name": "html_badge",
"type": "string",
"value": "=<html>\n<head>\n<link href=\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n body { \n margin: 0; \n padding: 50px; \n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); \n font-family: 'Poppins', sans-serif; \n }\n .badge { \n background: white; \n border-radius: 20px; \n padding: 40px; \n max-width: 600px; \n margin: auto; \n box-shadow: 0 20px 60px rgba(0,0,0,0.3); \n }\n h1 { \n color: #667eea; \n margin: 0 0 20px 0; \n font-size: 32px; \n text-align: center;\n }\n h2 { \n color: #333; \n margin: 20px 0 10px 0; \n font-size: 28px; \n text-align: center;\n }\n .role { \n color: #666; \n font-size: 18px; \n margin: 5px 0; \n text-align: center;\n }\n .company { \n color: #999; \n font-size: 16px; \n font-weight: 600; \n margin: 5px 0 20px 0; \n text-align: center;\n }\n .email { \n color: #667eea; \n font-size: 14px; \n background: #f0f4ff; \n padding: 10px; \n border-radius: 8px; \n display: inline-block; \n text-align: center;\n width: 100%;\n box-sizing: border-box;\n }\n .footer { \n margin-top: 30px; \n padding-top: 20px; \n border-top: 2px solid #eee; \n font-size: 12px; \n color: #999; \n text-align: center;\n }\n hr { \n border: none; \n border-top: 3px solid #667eea; \n margin: 20px 0; \n }\n</style>\n</head>\n<body>\n <div class=\"badge\">\n <h1>🎟️ {{ $('Webhook - RSVP Form Submission').item.json.body.event }}</h1>\n <hr/>\n <h2>{{ $('Webhook - RSVP Form Submission').item.json.body.name }}</h2>\n <p class=\"role\">{{ $('Webhook - RSVP Form Submission').item.json.body.designation }}</p>\n <p class=\"company\">{{ $('Webhook - RSVP Form Submission').item.json.body.organization }}</p>\n <p class=\"email\">📧 {{ $json.email }}</p>\n <div class=\"footer\">\n ✅ Validated & Confirmed<br/>\n {{ new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) }}\n </div>\n </div>\n</body>\n</html>"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e6ac4eba-c828-4ed8-8fc9-6d1a4ee53b26",
"name": "便签 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
0
],
"parameters": {
"color": 4,
"width": 357,
"height": 477,
"content": "## 🎨 步骤 4:准备徽章数据"
},
"typeVersion": 1
},
{
"id": "b0bc3747-f856-40b9-8189-c4239b998bc4",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
16
],
"parameters": {
"color": 4,
"width": 389,
"height": 461,
"content": "## 🖼️ 步骤 5:生成徽章图像"
},
"typeVersion": 1
},
{
"id": "a27da0b3-480d-4642-bd43-056d877e06f1",
"name": "发送确认电子邮件 - Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
1168,
320
],
"webhookId": "",
"parameters": {
"sendTo": "={{ $('IF Email Valid?').item.json.email }}",
"message": "=<div style=\"font-family: Arial, sans-serif; max-width: 600px; margin: auto;\">\n <h2 style=\"color: #667eea;\">Hi {{ $('Webhook - RSVP Form Submission').item.json.body.name }},</h2>\n \n <p style=\"font-size: 16px;\">Thank you for confirming your RSVP for <strong>{{ $('Webhook - RSVP Form Submission').item.json.body.event }}</strong>! 🎉</p>\n \n <p>Here's your personalized event badge:</p>\n \n <div style=\"text-align: center; margin: 30px 0;\">\n <img src=\"{{ $json.image_url }}\" alt=\"Event Badge\" style=\"max-width: 100%; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\" />\n </div>\n \n <p><strong>Event Details:</strong></p>\n <ul>\n <li><strong>Event:</strong>{{ $('Webhook - RSVP Form Submission').item.json.body.event }}</li>\n <li><strong>Name:</strong>{{ $('Webhook - RSVP Form Submission').item.json.body.name }} </li>\n <li><strong>Designation:</strong> {{ $('Webhook - RSVP Form Submission').item.json.body.designation }}</li>\n <li><strong>Organization:</strong>{{ $('Webhook - RSVP Form Submission').item.json.body.organization }} </li>\n </ul>\n \n <p style=\"margin-top: 30px;\">We look forward to seeing you there!</p>\n \n <p style=\"color: #999; font-size: 12px; margin-top: 40px; border-top: 1px solid #eee; padding-top: 20px;\">\n This is an automated confirmation. Please save this email for your records.<br/>\n <em>Powered by n8n Automation</em>\n </p>\n</div>",
"options": {},
"subject": "=✅ Your RSVP for {{ $('Webhook - RSVP Form Submission').item.json.body.event }} is Confirmed!"
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_OAUTH2_CREDENTIAL_ID",
"name": "Gmail OAuth2"
}
},
"typeVersion": 2.1
},
{
"id": "eee726fa-5565-4fa3-9aff-c38f779b5266",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1056,
-16
],
"parameters": {
"color": 4,
"width": 389,
"height": 509,
"content": "## 📧 步骤 6:发送确认电子邮件"
},
"typeVersion": 1
},
{
"id": "59b0cbd3-9d4b-4bdf-ad9a-4f23ed2ff912",
"name": "记录到 Google Sheets - 有效",
"type": "n8n-nodes-base.googleSheets",
"position": [
1584,
320
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $('Webhook - RSVP Form Submission').item.json.body.name }}",
"Email": "={{ $('IF Email Valid?').item.json.email }}",
"Event": "={{ $('Webhook - RSVP Form Submission').item.json.body.event }}",
"Status": "Confirmed",
"Badge_URL": "={{ $('HTML/CSS to Image').item.json.image_url }}",
"Timestamp": "={{ new Date().toISOString() }}",
"Designation": "={{ $('Webhook - RSVP Form Submission').item.json.body.designation }}",
"Organization": "={{ $('Webhook - RSVP Form Submission').item.json.body.organization }}"
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Event",
"type": "string",
"display": true,
"required": false,
"displayName": "Event",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Designation",
"type": "string",
"display": true,
"required": false,
"displayName": "Designation",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Organization",
"type": "string",
"display": true,
"required": false,
"displayName": "Organization",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Badge_URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Badge_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"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": "Event_RSVP_Tracker"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_OAUTH2_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.5
},
{
"id": "1dff5561-2ca0-4bf4-bb0c-302dee7bdeba",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1456,
-32
],
"parameters": {
"color": 4,
"width": 389,
"height": 525,
"content": "## 📊 步骤 7:记录到 GOOGLE SHEETS"
},
"typeVersion": 1
},
{
"id": "08963af7-9b5e-4e0b-9087-f44d3bf7dcdb",
"name": "发送拒绝电子邮件 - 无效",
"type": "n8n-nodes-base.gmail",
"position": [
384,
560
],
"webhookId": "",
"parameters": {
"sendTo": "={{ $json.email }}",
"message": "=<div style=\"font-family: Arial, sans-serif; max-width: 600px; margin: auto; padding: 20px;\">\n <h2 style=\"color: #dc2626;\">⚠️ RSVP Verification Issue</h2>\n \n <p>Hello {{ $('Webhook - RSVP Form Submission').item.json.body.name }},</p>\n \n <p>We received your RSVP submission, but we couldn't verify the email address you provided:</p>\n \n <p style=\"background: #fee; padding: 15px; border-left: 4px solid #dc2626; margin: 20px 0;\">\n <strong>Email:</strong> {{ $json.email }}\n </p>\n \n <p><strong>Possible reasons:</strong></p>\n <ul>\n <li>The email address may contain a typo</li>\n <li>The email domain might not exist</li>\n <li>Temporary email services are not accepted</li>\n </ul>\n \n <p>Please double-check your email address and submit the RSVP form again.</p>\n \n <p style=\"margin-top: 30px;\">If you believe this is an error, please contact our support team.</p>\n \n <p style=\"color: #999; font-size: 12px; margin-top: 40px;\">\n <em>Event Management Team</em>\n </p>\n</div>",
"options": {},
"subject": "⚠️ RSVP Verification Failed"
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_OAUTH2_CREDENTIAL_ID",
"name": "Gmail OAuth2"
}
},
"typeVersion": 2.1
},
{
"id": "8abca1c0-5ac3-4681-a00c-16221790b5af",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
544
],
"parameters": {
"color": 4,
"width": 357,
"height": 573,
"content": ""
},
"typeVersion": 1
},
{
"id": "0e63afe4-3614-4e11-96f7-fe44a50c90c8",
"name": "记录无效到 Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
752,
560
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $('Webhook - RSVP Form Submission').item.json.body.name }}",
"Email": "={{ $('Webhook - RSVP Form Submission').item.json.body.email }}",
"Event": "={{ $('Webhook - RSVP Form Submission').item.json.body.event }}",
"Status": "Failed - Invalid Email",
"Badge_URL": "N/A",
"Timestamp": "={{ new Date().toISOString() }}",
"Designation": "={{ $('Webhook - RSVP Form Submission').item.json.body.designation }}",
"Organization": "={{ $('Webhook - RSVP Form Submission').item.json.body.organization }}"
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Event",
"type": "string",
"display": true,
"required": false,
"displayName": "Event",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Designation",
"type": "string",
"display": true,
"required": false,
"displayName": "Designation",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Organization",
"type": "string",
"display": true,
"required": false,
"displayName": "Organization",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Badge_URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Badge_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Validation_Score",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Validation_Score",
"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": "Event_RSVP_Tracker"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_OAUTH2_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.5
},
{
"id": "aa1b8b04-bbe5-4bd0-87b4-5bc88ce5ef72",
"name": "便签11",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
544
],
"parameters": {
"color": 4,
"width": 309,
"height": 477,
"content": ""
},
"typeVersion": 1
},
{
"id": "66427e24-0313-49e3-9d09-297df5a6220c",
"name": "Verifi 电子邮件",
"type": "n8n-nodes-verifiemail.verifiEmail",
"position": [
-336,
432
],
"parameters": {
"email": "={{ $json.body.email }}"
},
"credentials": {
"verifiEmailApi": {
"id": "YOUR_VERIFI_EMAIL_API_CREDENTIAL_ID",
"name": "VerifiEmail API"
}
},
"typeVersion": 1
},
{
"id": "0a97838a-ea99-483f-b9ff-2dd656eb305e",
"name": "Webhook - RSVP 表单提交",
"type": "n8n-nodes-base.webhook",
"position": [
-672,
432
],
"webhookId": "",
"parameters": {
"path": "rsvp-validation",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "ce262a9c-ef77-477f-837b-368f10797f17",
"name": "HTML/CSS 转图像",
"type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
"position": [
752,
320
],
"parameters": {
"html_content": "={{ $json.html_badge }}"
},
"credentials": {
"htmlcsstoimgApi": {
"id": "YOUR_HTMLCSSSTOIMG_API_CREDENTIAL_ID",
"name": "Htmlcsstoimg API"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"Verifi Email": {
"main": [
[
{
"node": "IF Email Valid?",
"type": "main",
"index": 0
}
]
]
},
"IF Email Valid?": {
"main": [
[
{
"node": "Prepare Badge Data",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Rejection Email - Invalid",
"type": "main",
"index": 0
}
]
]
},
"HTML/CSS to Image": {
"main": [
[
{
"node": "Send Confirmation Email - Gmail",
"type": "main",
"index": 0
}
]
]
},
"Prepare Badge Data": {
"main": [
[
{
"node": "HTML/CSS to Image",
"type": "main",
"index": 0
}
]
]
},
"Log to Google Sheets - Valid": {
"main": [
[]
]
},
"Send Rejection Email - Invalid": {
"main": [
[
{
"node": "Log Invalid to Sheets",
"type": "main",
"index": 0
}
]
]
},
"Webhook - RSVP Form Submission": {
"main": [
[
{
"node": "Verifi Email",
"type": "main",
"index": 0
}
]
]
},
"Send Confirmation Email - Gmail": {
"main": [
[
{
"node": "Log to Google Sheets - Valid",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 工单管理
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
已验证访客通行证生成器
使用邮件验证、通行证和 Slack 提醒自动化访客管理
If
Set
Code
+8
22 节点Jitesh Dugar
文档提取
已验证推荐奖励通知
邮件验证与可视化优惠券的自动化推荐奖励系统
If
Set
Gmail
+5
19 节点Jitesh Dugar
社交媒体
已验证用户的个性化促销码卡片
通过邮件验证、Gmail和Google Sheets生成个性化促销卡片
If
Set
Gmail
+5
19 节点Jitesh Dugar
社交媒体
防欺诈潜在客户捕获与培育系统
通过AI评分、表格跟踪和多渠道提醒捕获和培育防欺诈潜在客户
If
Set
Code
+11
28 节点Jitesh Dugar
内容创作
已验证用户个人资料创建
通过邮件验证、PDF生成和Gmail投递创建已验证用户个人资料
If
Set
Gmail
+6
20 节点Jitesh Dugar
文档提取
证书生成器
使用VerifiEmail和HTMLcsstoImg生成证书并通过Gmail发送
If
Code
Gmail
+8
25 节点Jitesh Dugar
内容创作
工作流信息
难度等级
高级
节点数量19
分类1
节点类型8
作者
Jitesh Dugar
@jiteshdugarAI 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 查看 →
分享此工作流