基于参与度自动化Zoom参会者分群到KlickTipp
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 Klicktipp, If, Set, Wait, Crypto 等节点。 基于参与度自动化Zoom参会者分群到KlickTipp
前置要求
- •HTTP Webhook 端点(n8n 会自动生成)
- •可能需要目标 API 的认证凭证
使用的节点 (22)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "95b3ab5a70ab1c8c1906357a367f1b236ef12a1409406fd992f60255f0f95f85",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0659ddd3-cbad-4f95-a993-f2362e5fdd97",
"name": "加密货币",
"type": "n8n-nodes-base.crypto",
"notes": "This node prepares the response to the Zoom endpoint in order to answer to the validation.",
"position": [
-160,
-112
],
"parameters": {
"type": "SHA256",
"value": "={{ $json.body.payload.plainToken }}",
"action": "hmac",
"secret": "dm4D484mTSKT67HpYQ8U0w"
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "f66d1b66-7059-4261-94df-f5fa65bea7a1",
"name": "构建验证主体",
"type": "n8n-nodes-base.set",
"notes": "This node builds the body for the response to the Zoom endpoint in order to answer for validation.",
"position": [
64,
-112
],
"parameters": {
"values": {
"string": [
{
"name": "plainToken",
"value": "={{ $json.body.payload.plainToken }}"
},
{
"name": "encryptedToken",
"value": "={{ $json.data }}"
}
]
},
"options": {},
"keepOnlySet": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "e6cdca55-ccaf-4786-8dc5-530ef2cc0394",
"name": "响应Webhook(验证)",
"type": "n8n-nodes-base.respondToWebhook",
"notes": "This node sends the response back to the Zoom endpoint.",
"position": [
272,
-112
],
"parameters": {
"options": {}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "106611cd-1631-4fd8-871d-28fdda7ee5b2",
"name": "构建正常事件主体",
"type": "n8n-nodes-base.set",
"notes": "This node builds a body for a response to the endpoint in case of a regular event.",
"position": [
-160,
80
],
"parameters": {
"values": {
"string": [
{
"name": "status",
"value": "ok"
}
]
},
"options": {},
"keepOnlySet": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "dbec7433-2faf-47d0-8f06-6d7c4c20971b",
"name": "响应Webhook(事件)",
"type": "n8n-nodes-base.respondToWebhook",
"notes": "This node answers to the endpoint in case of regular Zoom events - such as ending meetings in this case.",
"position": [
64,
80
],
"parameters": {
"options": {}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "dd1d32e6-ab68-4aaf-b1f4-6df83223724e",
"name": "URL验证检查",
"type": "n8n-nodes-base.if",
"notes": "This node checks whether the received data was a ending meeting or a URL validation call by Zoom.",
"position": [
-384,
-16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8516a75f-6aa9-4b72-828a-f5627d066ecc",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.event }}",
"rightValue": "endpoint.url_validation"
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "78ecf8f8-9fb4-4b14-b079-6038e0693c79",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
-304
],
"parameters": {
"color": 4,
"width": 1104,
"height": 752,
"content": "## 会议数据接收"
},
"typeVersion": 1
},
{
"id": "ee6d0810-3968-481b-b214-dd81e7afeb69",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-304
],
"parameters": {
"color": 2,
"width": 448,
"height": 752,
"content": "## 拉取网络研讨会数据 - 参与者和缺席者"
},
"typeVersion": 1
},
{
"id": "b115c42e-89c4-48ab-aad8-2557978053bd",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
-304
],
"parameters": {
"color": 3,
"width": 1312,
"height": 752,
"content": "## 从过去的网络研讨会中分割所有参与者和缺席者"
},
"typeVersion": 1
},
{
"id": "6de2ce31-dca8-43aa-ab89-4aeebc327822",
"name": "标记全勤参与者1",
"type": "CUSTOM.klicktipp",
"notes": "This node tags the contacts of your first webinar branch for the full attendance if they have attended more than 90% of the webinar.",
"position": [
2016,
224
],
"parameters": {
"email": "={{ $json.email }}",
"tagId": [
"13445224"
],
"resource": "contact-tagging"
},
"credentials": {
"klickTippApi": {
"id": "K9JyBdCM4SZc1cXl",
"name": "DEMO KlickTipp account"
}
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "27d21cf7-6378-466d-b196-bf11806e2ed8",
"name": "标记全勤参与者",
"type": "CUSTOM.klicktipp",
"notes": "This node tags the contacts of your first webinar branch for the full attendance if they have attended more than 90% of the webinar.",
"position": [
2000,
-48
],
"parameters": {
"email": "={{ $json.email }}",
"tagId": [
"13440472"
],
"resource": "contact-tagging"
},
"credentials": {
"klickTippApi": {
"id": "K9JyBdCM4SZc1cXl",
"name": "DEMO KlickTipp account"
}
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "5296bb95-1c28-4a95-b776-11997cf344be",
"name": "便签 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
96,
480
],
"parameters": {
"color": 7,
"width": 1104,
"height": 1920,
"content": "社区节点免责声明:此工作流使用KlickTipp社区节点。"
},
"typeVersion": 1
},
{
"id": "4ac87f98-1281-41d5-b607-3a4e2919ac2e",
"name": "过滤内部用户",
"type": "n8n-nodes-base.filter",
"notes": "This node filters out internal users from the webinar such as the host.",
"position": [
976,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6c66e073-723a-44a2-83c7-0ece10385a3b",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Split webinar participants').item.json.internal_user }}",
"rightValue": ""
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "fc1718e5-321e-4e7e-8cdd-cd6bf34e78e6",
"name": "分割网络研讨会参与者",
"type": "n8n-nodes-base.splitOut",
"notes": "This node iterates through all participants.",
"position": [
752,
80
],
"parameters": {
"options": {},
"fieldToSplitOut": "participants"
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "3a7eb266-fc42-4448-a750-287230ccc4cc",
"name": "按网络研讨会名称路由",
"type": "n8n-nodes-base.switch",
"notes": "This node filters for the different webinars via the name in order to process them.",
"position": [
1184,
80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "E-Mail Zustellung für Anfänger",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8de9cdc6-5393-4daa-acbd-7d14fbcd2586",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.topic }}",
"rightValue": "E-Mail Zustellung für Anfänger"
}
]
},
"renameOutput": true
},
{
"outputKey": "E-Mail Zustellung für Experten",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bb59b2cb-b22c-4325-8373-f2a50dcb5ef1",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.topic }}",
"rightValue": "E-Mail Zustellung für Experten"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"notesInFlow": true,
"typeVersion": 3.2
},
{
"id": "9e068327-0a37-41a0-95b0-31fdd60ae887",
"name": "检查全勤",
"type": "n8n-nodes-base.if",
"notes": "This node checks whether the participants have spent more than 90% in the webinar or not.",
"position": [
1744,
-32
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "55a73ac0-4754-4ae4-b6ac-cc3b46b19580",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $('Split webinar participants').item.json.duration }}",
"rightValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.duration * 60 * 0.9 }}"
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "6da889bc-4e87-4a27-93bb-a3875469ab7b",
"name": "检查全勤1",
"type": "n8n-nodes-base.if",
"notes": "This node checks whether the participants have spent more than 90% in the webinar or not.",
"position": [
1760,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f3673baa-a23b-4f19-91d9-5b1bac26e064",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $('Split webinar participants').item.json.duration }}",
"rightValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.duration * 60 * 0.9 }}"
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "3368dabc-71e4-4b5d-a5d7-2cd767806672",
"name": "等待1秒",
"type": "n8n-nodes-base.wait",
"notes": "This node waits 1 second to avoid calling the past webinar to early before it is available.",
"position": [
272,
80
],
"webhookId": "bc96ac17-e335-45dc-bd96-0dcfbfc2e374",
"parameters": {
"amount": 1
},
"notesInFlow": true,
"typeVersion": 1.1
},
{
"id": "05b7c7ee-4a94-4f6f-b8a7-daddb0f774c9",
"name": "监听结束的Zoom会议",
"type": "n8n-nodes-base.webhook",
"notes": "This node is listening to Zoom events and triggers when a webinar was ended.",
"position": [
-608,
-16
],
"webhookId": "0149ebe4-2dd9-420d-af7c-d60439f22451",
"parameters": {
"path": "0149ebe4-2dd9-420d-af7c-d60439f22451",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"notesInFlow": true,
"typeVersion": 2.1
},
{
"id": "0c825304-48c3-4d03-9228-9a0f4b806b62",
"name": "获取过往Zoom会议参与者",
"type": "n8n-nodes-base.httpRequest",
"notes": "This node pulls data of the webinar participants in order to process them.",
"position": [
512,
80
],
"parameters": {
"url": "=https://api.zoom.us/v2/past_meetings/{{ $('Listen to ending Zoom meetings').item.json.body.payload.object.uuid }}/participants",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "zoomOAuth2Api"
},
"credentials": {
"zoomOAuth2Api": {
"id": "qmYwItfGtnNF2XQQ",
"name": "Ricardo's Zoom account"
}
},
"notesInFlow": true,
"typeVersion": 4.2
},
{
"id": "fc622fae-a156-41a2-a10f-601f8aca4dc5",
"name": "订阅参与者",
"type": "n8n-nodes-klicktipp.klicktipp",
"notes": "This node subscribes the participant based on the meeting data as a new contact in KlickTipp or updates it.",
"position": [
1536,
-32
],
"parameters": {
"email": "={{ $json.user_email }}",
"tagId": "13327964",
"fields": {
"dataFields": [
{
"fieldId": "fieldFirstName",
"fieldValue": "={{ \n // Take the \"name\" field from the current JSON item\n $json.name\n // Remove leading/trailing spaces (just in case)\n .trim()\n // Split the string into an array, using a space as the separator\n .split(\" \")\n // Select the first element of the array (the first word)\n [0] \n}}"
},
{
"fieldId": "fieldLastName",
"fieldValue": "={{ \n /* take \"name\" or empty string if missing */ ($json.name || '')\n /* trim leading/trailing whitespace */ .trim()\n /* split into words by any whitespace */ .split(/\\s+/)\n /* get last word */ .slice(-1)[0]\n /* fallback */ || ''\n}}"
}
]
},
"listId": "358895",
"resource": "subscriber",
"operation": "subscribe"
},
"credentials": {
"klickTippApi": {
"id": "K9JyBdCM4SZc1cXl",
"name": "DEMO KlickTipp account"
}
},
"notesInFlow": true,
"typeVersion": 3
},
{
"id": "bd71ca87-dbd7-4525-9ae6-a072069baa67",
"name": "订阅参与者1",
"type": "n8n-nodes-klicktipp.klicktipp",
"notes": "This node subscribes the participant based on the meeting data as a new contact in KlickTipp or updates it.",
"position": [
1536,
240
],
"parameters": {
"email": "={{ $json.user_email }}",
"tagId": "13327965",
"fields": {
"dataFields": [
{
"fieldId": "fieldFirstName",
"fieldValue": "={{ \n // Take the \"name\" field from the current JSON item\n $json.name\n // Remove leading/trailing spaces (just in case)\n .trim()\n // Split the string into an array, using a space as the separator\n .split(\" \")\n // Select the first element of the array (the first word)\n [0] \n}}"
},
{
"fieldId": "fieldLastName",
"fieldValue": "={{ /* take \"name\" or empty string if missing */ ($json.name || '') /* trim leading/trailing whitespace */ .trim() /* split into words by any whitespace */ .split(/\\s+/) /* get last word */ .slice(-1)[0] /* fallback */ || '' }}"
}
]
},
"listId": "358895",
"resource": "subscriber",
"operation": "subscribe"
},
"credentials": {
"klickTippApi": {
"id": "K9JyBdCM4SZc1cXl",
"name": "DEMO KlickTipp account"
}
},
"notesInFlow": true,
"typeVersion": 3
}
],
"pinData": {
"Listen to ending Zoom meetings": [
{
"body": {
"event": "meeting.ended",
"payload": {
"object": {
"id": "89034789500",
"type": 8,
"uuid": "VYiYZEtvRKOkALJpZPP7Yw==",
"topic": "E-Mail Zustellung für Experten",
"host_id": "imnEs0zeTWSDBv5eq2M4tg",
"duration": 30,
"end_time": "2025-09-19T10:31:19Z",
"timezone": "Europe/Berlin",
"start_time": "2025-09-19T10:30:43Z"
},
"account_id": "t0mC6eOWQ6KZg4QL1sUQgg"
},
"event_ts": 1758277879717
},
"query": {},
"params": {},
"headers": {
"host": "n8n-test-u24934.vm.elestio.app",
"clientid": "jDZWANnaRpGCbjH9lZqA_A",
"x-real-ip": "170.114.6.87",
"connection": "close",
"user-agent": "Zoom Marketplace/1.0a",
"traceparent": "00-d3e223800451ec8e49b6e2165a46ed34-174f4b5b0cc9cd0f-00",
"content-type": "application/json; charset=utf-8",
"authorization": "wmnEKko8Q5KhGKWGtM2UCA",
"content-length": "362",
"x-zm-signature": "v0=39bc87ae68445bfd78f163e39273ef6fe6e50c437702e7d7363e962d9fbe1244",
"x-forwarded-for": "170.114.6.87",
"x-zm-request-id": "9ad68e27_30ca_4983_b464_bfd4b540a86e",
"x-zm-trackingid": "v=2.0;clid=us06;rid=WEB_613edca7cc9fbbae8f60b949bb6e49b6",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-zm-request-timestamp": "1758277900"
},
"webhookUrl": "https://n8n-test-u24934.vm.elestio.app/webhook/0149ebe4-2dd9-420d-af7c-d60439f22451",
"executionMode": "production"
}
]
},
"connections": {
"Crypto": {
"main": [
[
{
"node": "Build Validation Body",
"type": "main",
"index": 0
}
]
]
},
"Wait 1 second": {
"main": [
[
{
"node": "Get past Zoom meeting participants",
"type": "main",
"index": 0
}
]
]
},
"URL Validation check": {
"main": [
[
{
"node": "Crypto",
"type": "main",
"index": 0
}
],
[
{
"node": "Build Normal Event Body",
"type": "main",
"index": 0
}
]
]
},
"Build Validation Body": {
"main": [
[
{
"node": "Respond to Webhook (Validation)",
"type": "main",
"index": 0
}
]
]
},
"Check full attendance": {
"main": [
[
{
"node": "Tag participant for full attendance",
"type": "main",
"index": 0
}
],
[]
]
},
"Filter internal users": {
"main": [
[
{
"node": "Route by webinar name",
"type": "main",
"index": 0
}
]
]
},
"Route by webinar name": {
"main": [
[
{
"node": "Subscribe participant",
"type": "main",
"index": 0
}
],
[
{
"node": "Subscribe participant1",
"type": "main",
"index": 0
}
]
]
},
"Subscribe participant": {
"main": [
[
{
"node": "Check full attendance",
"type": "main",
"index": 0
}
]
]
},
"Check full attendance1": {
"main": [
[
{
"node": "Tag participant with full attendance1",
"type": "main",
"index": 0
}
],
[]
]
},
"Subscribe participant1": {
"main": [
[
{
"node": "Check full attendance1",
"type": "main",
"index": 0
}
]
]
},
"Build Normal Event Body": {
"main": [
[
{
"node": "Respond to Webhook (Events)",
"type": "main",
"index": 0
}
]
]
},
"Split webinar participants": {
"main": [
[
{
"node": "Filter internal users",
"type": "main",
"index": 0
}
]
]
},
"Respond to Webhook (Events)": {
"main": [
[
{
"node": "Wait 1 second",
"type": "main",
"index": 0
}
]
]
},
"Listen to ending Zoom meetings": {
"main": [
[
{
"node": "URL Validation check",
"type": "main",
"index": 0
}
]
]
},
"Get past Zoom meeting participants": {
"main": [
[
{
"node": "Split webinar participants",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Zoom网络研讨会自动化出席标记系统(集成KlickTipp)
Zoom网络研讨会自动化出席标记系统(集成KlickTipp)
Klicktipp
If
Set
+10
29 节点KlickTipp
社交媒体
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
实时Notion Todoist双向同步模板
使用Redis的Notion Todoist实时双向同步
If
Set
Code
+26
246 节点Mario
销售
AIAuto - 带深度研究的终极人机回环内容v2
WordPress博客自动化,集成Airtable界面、人工审核和AI研究v2
If
Set
Xml
+23
228 节点Daniel Ng
内容创作
自动化潜在客户生成与个性化外联:Apollo、AI和Instantly.ai
自动化潜在客户生成与个性化外联:Apollo、AI和Instantly.ai
If
Set
Code
+15
166 节点Ruben AI
客户培育
使用Airtable、OpenAI和Unipile的自动化LinkedIn潜在客户生成与私信触达
使用Airtable、OpenAI和Unipile的自动化LinkedIn潜在客户生成与私信触达
If
Set
Code
+15
143 节点Ruben AI
客户培育
工作流信息
难度等级
高级
节点数量22
分类2
节点类型13
作者
KlickTipp
@KlickTippReach more people. 100% GDPR compliant. Quickly create automated email campaigns, SMS and marketing automations. Market your knowledge independently of Google & Co., sell lucrative products and activate your customers.
外部链接
在 n8n.io 查看 →
分享此工作流