自动预订确认与会议安排系统
高级
这是一个Lead Nurturing领域的自动化工作流,包含 23 个节点。主要使用 If、Set、Zoom、Gmail、Merge 等节点。 表单到会议:Google日历、Zoom、Gmail和Slack预订自动化
前置要求
- •Google 账号和 Gmail API 凭证
- •Slack Bot Token 或 Webhook URL
- •HTTP Webhook 端点(n8n 会自动生成)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "f86tpZtlEF8Fxt6s",
"meta": {
"instanceId": "189dde98270e9ce0f006f0e9deb96aa5e627396fc6279cac8902c9b06936984d"
},
"name": "自动预订确认与会议安排系统",
"tags": [],
"nodes": [
{
"id": "3dd27b86-6e03-4595-a9fa-2fe3d1210611",
"name": "Google Forms Webhook1",
"type": "n8n-nodes-base.webhook",
"position": [
176,
208
],
"webhookId": "0c79affb-61ad-4802-8580-66c5856d66cf",
"parameters": {
"path": "google-forms-booking",
"options": {},
"httpMethod": "POST",
"responseMode": "lastNode"
},
"typeVersion": 2.1
},
{
"id": "957b6711-281f-4599-9962-84ebf221691a",
"name": "合并表单数据1",
"type": "n8n-nodes-base.merge",
"position": [
496,
224
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "3b63fe73-a5e7-4f3e-bf61-e7bd0a9aa63c",
"name": "工作流配置1",
"type": "n8n-nodes-base.set",
"position": [
848,
224
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "calendarId",
"type": "string",
"value": "c_91f92ee12632d48cc78642add679d75aa8aecb09abea89eadbc97cb17d2de336@group.calendar.google.com"
},
{
"id": "id-2",
"name": "slackChannel",
"type": "string",
"value": "C09GN4NCTAP"
},
{
"id": "id-3",
"name": "teammateEmail",
"type": "string",
"value": "ojima@g-jete.com"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "66b2895b-8260-4e40-b4ec-39b100b89f77",
"name": "提取预订详情1",
"type": "n8n-nodes-base.set",
"position": [
1168,
224
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "customerName",
"type": "string",
"value": "={{ $json.body.name }}"
},
{
"id": "id-2",
"name": "customerEmail",
"type": "string",
"value": "={{ $json.body.email }}"
},
{
"id": "id-3",
"name": "bookingDate",
"type": "string",
"value": "={{ $json.body.date }}"
},
{
"id": "id-4",
"name": "bookingTime",
"type": "string",
"value": "={{ $json.body.time }}"
},
{
"id": "34865dea-9db2-4f35-b91b-322572680869",
"name": "bookingStartISO",
"type": "string",
"value": "={{ new Date($json.body.date + 'T' + $json.body.time + ':00+09:00').toISOString() }}"
},
{
"id": "941d5f18-54fd-41ad-8f46-c9f9f13fb32f",
"name": "bookingEndISO",
"type": "string",
"value": "={{ new Date(new Date($json.body.date + 'T' + $json.body.time + ':00+09:00').getTime() + 60*60*1000).toISOString() }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "6591a8f7-2400-4de8-9fbe-b35271faf1f8",
"name": "检查日历可用性1",
"type": "n8n-nodes-base.googleCalendar",
"position": [
1472,
224
],
"parameters": {
"options": {},
"timeMax": "={{ $json.bookingEndISO }}",
"timeMin": "={{ $json.bookingStartISO }}",
"calendar": {
"__rl": true,
"mode": "id",
"value": "={{ $('Workflow Configuration1').first().json.calendarId }}"
},
"operation": "getAll"
},
"typeVersion": 1.3,
"alwaysOutputData": true
},
{
"id": "d80641b0-9da6-491c-922f-d278c0f030c3",
"name": "时间段是否可用?1",
"type": "n8n-nodes-base.if",
"position": [
1824,
224
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "14e9293a-f96c-45f1-b216-2c8aaf2fb3e2",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "76a27cb5-7196-4564-a89a-85d5d0a41d52",
"name": "创建日历事件1",
"type": "n8n-nodes-base.googleCalendar",
"position": [
2144,
208
],
"parameters": {
"end": "={{ $('Extract Booking Details1').first().json.bookingEndISO }}",
"start": "={{ $('Extract Booking Details1').first().json.bookingStartISO }}",
"calendar": {
"__rl": true,
"mode": "id",
"value": "={{ $('Workflow Configuration1').first().json.calendarId }}"
},
"additionalFields": {
"summary": "=Booking with {{ $('Extract Booking Details1').first().json.customerName }}",
"attendees": [
"={{ $('Extract Booking Details1').first().json.customerEmail }}"
],
"description": "=Customer: {{ $('Extract Booking Details1').first().json.customerName }} ({{ $('Extract Booking Details1').first().json.customerEmail }})"
}
},
"typeVersion": 1.3
},
{
"id": "9f4ca36f-8f02-43ee-8630-222958201959",
"name": "创建 Zoom 会议1",
"type": "n8n-nodes-base.zoom",
"position": [
2416,
208
],
"parameters": {
"topic": "=Booking with {{ $('Extract Booking Details1').first().json.customerName }}",
"authentication": "oAuth2",
"additionalFields": {
"duration": 60,
"timeZone": "UTC",
"startTime": "={{ $('Extract Booking Details1').first().json.bookingStartISO }}"
}
},
"typeVersion": 1
},
{
"id": "a31d67fa-38b4-4276-a0ad-56d1069f95dd",
"name": "发送确认邮件1",
"type": "n8n-nodes-base.gmail",
"position": [
2720,
208
],
"webhookId": "f28b9459-360b-4cad-9f2e-0d69654e795b",
"parameters": {
"sendTo": "={{ $('Extract Booking Details1').first().json.customerEmail }}",
"message": "=Hi {{ $('Extract Booking Details1').first().json.customerName }},\n\nYour booking has been confirmed!\n\nDate & Time: {{ new Date($('Extract Booking Details1').first().json.bookingStartISO).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }) }}\n\nZoom Meeting Link: {{ $json.join_url }}\n\nLooking forward to meeting you!\n\nBest regards",
"options": {},
"subject": "=Booking Confirmed: {{ new Date($('Extract Booking Details1').first().json.bookingStartISO).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }) }}"
},
"typeVersion": 2.1
},
{
"id": "b456c4f9-dcca-48a4-b750-f39e95df493f",
"name": "在 Slack 上通知队友1",
"type": "n8n-nodes-base.slack",
"position": [
3040,
208
],
"webhookId": "866a3241-98d2-4db1-b791-c8c8f83b99b9",
"parameters": {
"text": "=🎉 New booking confirmed!\n\n*Customer:* {{ $('Extract Booking Details1').first().json.customerName }} ({{ $('Extract Booking Details1').first().json.customerEmail }})\n*Date & Time:* {{ new Date($('Extract Booking Details1').first().json.bookingStartISO).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }) }}\n*Zoom Link:* {{ $json.join_url }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Workflow Configuration1').first().json.slackChannel }}"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"typeVersion": 2.3
},
{
"id": "78d4ae92-b136-4bbe-ae52-a73a60c47a6c",
"name": "发送不可用邮件1",
"type": "n8n-nodes-base.gmail",
"position": [
2144,
512
],
"webhookId": "98dd0319-284e-4b12-a655-a57577571800",
"parameters": {
"sendTo": "={{ $('Extract Booking Details1').first().json.customerEmail }}",
"message": "=Hi {{ $('Extract Booking Details1').first().json.customerName }},\n\nThank you for your booking request. Unfortunately, the requested time slot on {{ new Date($('Extract Booking Details1').first().json.bookingStartISO).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }) }} is not available.\n\nPlease submit a new booking request with an alternative time.",
"options": {},
"subject": "Time Slot Unavailable"
},
"typeVersion": 2.1
},
{
"id": "9f8af7ba-09f1-46bb-9bc6-bb2d0b26d744",
"name": "便签:Google Forms Webhook1",
"type": "n8n-nodes-base.stickyNote",
"position": [
96,
-400
],
"parameters": {
"color": "white",
"width": 768,
"height": 528,
"content": "标题:自动预订 → 日历 + Zoom + 邮件 + Slack"
},
"typeVersion": 1
},
{
"id": "5eb1dc05-5c0f-44a0-9000-d4abdd74a981",
"name": "便签:合并表单数据1",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
384
],
"parameters": {
"color": "white",
"width": 256,
"height": 176,
"content": "目的:预订入口点。接收来自表单的 POST 负载(姓名、邮箱、日期、时间)。"
},
"typeVersion": 1
},
{
"id": "967bcc58-fc07-4e4c-8b17-5f2a99f9287f",
"name": "便签:工作流配置1",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
384
],
"parameters": {
"color": "white",
"width": 272,
"height": 176,
"content": "目的:规范化/转发 webhook 数据,保持单个数据项在流程中移动。"
},
"typeVersion": 1
},
{
"id": "663ecdf9-6f9d-481c-abe6-e7d8b3c34021",
"name": "便签:提取预订详情1",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
384
],
"parameters": {
"color": "white",
"width": 288,
"height": 176,
"content": "目的:可编辑常量的集中位置(例如 calendarId、slackChannel、teammateEmail)。"
},
"typeVersion": 1
},
{
"id": "c12bee38-9494-43b7-9961-2e4971a92316",
"name": "便签:检查日历可用性1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
384
],
"parameters": {
"color": "white",
"width": 272,
"height": 176,
"content": "目的:将表单字段映射到清晰的变量:customerName、customerEmail、bookingDate、bookingTime。"
},
"typeVersion": 1
},
{
"id": "b58f33ab-ad60-4a98-9354-3ed1a1aeab72",
"name": "便签:时间段是否可用?1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1424,
384
],
"parameters": {
"color": "white",
"width": 256,
"height": 176,
"content": "目的:查询目标日历中与 bookingStartISO–bookingEndISO 重叠的事件。"
},
"typeVersion": 1
},
{
"id": "b0b7376c-f552-4ce9-bd31-33919ba04618",
"name": "便签:创建日历事件1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1744,
384
],
"parameters": {
"color": "white",
"width": 256,
"height": 176,
"content": "目的:根据可用性分支。"
},
"typeVersion": 1
},
{
"id": "bb03b52c-ddc4-4896-9016-6d01ab6b68ec",
"name": "便签:创建 Zoom 会议1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2000,
16
],
"parameters": {
"color": "white",
"width": 272,
"content": "目的:在 Google Calendar 上预订时间,并将客人添加为参与者。"
},
"typeVersion": 1
},
{
"id": "73736740-501f-4814-9722-e8576e2dd21f",
"name": "便签:发送确认邮件1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2336,
16
],
"parameters": {
"color": "white",
"content": "目的:为确认的时间段创建 Zoom 会议。"
},
"typeVersion": 1
},
{
"id": "6e9c22c3-0b31-47f9-ab96-4476e501175d",
"name": "便签:在 Slack 上通知队友1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2640,
16
],
"parameters": {
"color": "white",
"width": 256,
"content": "目的:向客人发送确认信息,包含本地(日本)日期/时间和 Zoom 链接。"
},
"typeVersion": 1
},
{
"id": "b9aa000c-63a2-44b1-800a-c041a1582f64",
"name": "便签:发送不可用邮件1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2064,
672
],
"parameters": {
"color": "white",
"width": 256,
"content": "目的:当请求的时间段已被占用时通知客人,并请他们重新预订其他时间。"
},
"typeVersion": 1
},
{
"id": "3904238d-39eb-40f0-879f-3f17e1afd303",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
2960,
16
],
"parameters": {
"content": "目的:向您指定的 Slack 频道发布简洁的预订摘要。"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "31e08b0e-50a9-485b-b16c-856d2311d0f5",
"connections": {
"Merge Form Data1": {
"main": [
[
{
"node": "Workflow Configuration1",
"type": "main",
"index": 0
}
]
]
},
"Create Zoom Meeting1": {
"main": [
[
{
"node": "Send Confirmation Email1",
"type": "main",
"index": 0
}
]
]
},
"Google Forms Webhook1": {
"main": [
[
{
"node": "Merge Form Data1",
"type": "main",
"index": 0
}
]
]
},
"Create Calendar Event1": {
"main": [
[
{
"node": "Create Zoom Meeting1",
"type": "main",
"index": 0
}
]
]
},
"Workflow Configuration1": {
"main": [
[
{
"node": "Extract Booking Details1",
"type": "main",
"index": 0
}
]
]
},
"Extract Booking Details1": {
"main": [
[
{
"node": "Check Calendar Availability1",
"type": "main",
"index": 0
}
]
]
},
"Is Time Slot Available?1": {
"main": [
[
{
"node": "Create Calendar Event1",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Unavailable Email1",
"type": "main",
"index": 0
}
]
]
},
"Send Confirmation Email1": {
"main": [
[
{
"node": "Notify Teammate on Slack1",
"type": "main",
"index": 0
}
]
]
},
"Check Calendar Availability1": {
"main": [
[
{
"node": "Is Time Slot Available?1",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的工作流,适用于Lead Nurturing等场景。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
自动化潜在客户捕获、AI资质鉴定及ElevenLabs个性化语音跟进
基于 OpenAI 和 ElevenLabs 的自动化线索捕获与 AI 个性化语音跟进
If
Set
Code
+10
22 节点Marth
Lead Nurturing
09 - 潜在客户档案增强器
自动化潜在客户信息丰富与个性化外联:HubSpot、Phantombuster和GPT
If
Set
Code
+11
30 节点Avkash Kakdiya
Lead Nurturing
全球节假日冲突检测与会议重新安排
使用Google Calendar和Slack检测节假日冲突并建议会议重新安排
If
Set
Code
+6
23 节点Takuya Ojima
Personal Productivity
智能潜在客户资格认证与多渠道接入路由系统
使用 GPT-4o、Slack 和 CRM 集成跨渠道筛选和路由潜在客户
If
Set
Code
+10
19 节点NodeAlchemy
Lead Nurturing
会议纪要和行动项跟踪器
基于AI的会议纪要:使用GPT-4、任务分配和多渠道分发
If
Set
Code
+10
38 节点Jitesh Dugar
Content Creation
防欺诈潜在客户捕获与培育系统
通过AI评分、表格跟踪和多渠道提醒捕获和培育防欺诈潜在客户
If
Set
Code
+11
28 节点Jitesh Dugar
Content Creation