完整旅行电话管理系统 - 呼叫跟踪、行程预订与营销
这是一个CRM领域的自动化工作流,包含 16 个节点。主要使用 Set, Webhook, Postgres, HttpRequest, GoogleSheets 等节点。 使用Postgres、Google Sheets和语音API自动化旅行业务运营
- •HTTP Webhook 端点(n8n 会自动生成)
- •PostgreSQL 数据库连接信息
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
分类
{
"id": "s8WPaQ8NrHpG3Q4Z",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "完整旅行电话管理系统 - 呼叫跟踪、行程预订与营销",
"tags": [],
"nodes": [
{
"id": "af4dca79-fc8e-41d5-bbc6-be6a0af0ad3a",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
-240
],
"parameters": {
"color": 3,
"width": 1260,
"height": 280,
"content": "自动化处理来电并提供旅行组织者详细信息。"
},
"typeVersion": 1
},
{
"id": "8aa86c3e-d59d-44b2-a8cb-50db724fe6d3",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
60
],
"parameters": {
"color": 4,
"width": 1260,
"height": 240,
"content": "处理来电数据并促进行程预订创建。"
},
"typeVersion": 1
},
{
"id": "488083fa-1c35-4a97-afc5-a34f41de7db2",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
320
],
"parameters": {
"width": 1260,
"height": 240,
"content": "管理外呼营销电话以推广旅行组织者服务。"
},
"typeVersion": 1
},
{
"id": "399c3e41-f02b-43a8-868e-e7e6e34cfb4d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
580
],
"parameters": {
"color": 6,
"width": 1260,
"height": 240,
"content": "捕获来电数据并将其存储在有序的电子表格中。"
},
"typeVersion": 1
},
{
"id": "a5761758-38de-45c0-b370-54c89ebc9a19",
"name": "检测来电",
"type": "n8n-nodes-base.webhook",
"position": [
-100,
-120
],
"webhookId": "1b47597a-8d5a-4d56-b437-c72e376d4a39",
"parameters": {
"path": "get-call",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "fbc65023-df99-4a59-9812-52c9248c4091",
"name": "验证行程详情",
"type": "n8n-nodes-base.postgres",
"position": [
120,
-120
],
"parameters": {
"limit": 150,
"table": {
"__rl": true,
"mode": "name",
"value": "table_id"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"options": {},
"operation": "select"
},
"credentials": {
"postgres": {
"id": "4Y4qEFGqF2krfRHZ",
"name": "Postgres-test"
}
},
"typeVersion": 2.6
},
{
"id": "63210889-5513-4de4-99b1-6bd8c9fe646f",
"name": "传递组织者信息",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
340,
-120
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"results\": [\n {\n \"toolCallId\": \"{{ $('Detect Incoming Call').item.json.body.message.toolCalls[0].id }}\",\n \"result\": \"{{ $json.available }}\"\n }\n ]\n}"
},
"typeVersion": 1.2
},
{
"id": "d8a23c3d-ea59-4c70-a22a-17f3296880c8",
"name": "捕获语音输入",
"type": "n8n-nodes-base.webhook",
"position": [
-100,
140
],
"webhookId": "967e0eb1-219d-4354-96a1-21ef3b083cce",
"parameters": {
"path": "input-data",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "72fdf7e7-e6be-42a9-92e3-81916a87d502",
"name": "更新预订记录",
"type": "n8n-nodes-base.postgres",
"position": [
120,
140
],
"parameters": {
"table": {
"__rl": true,
"mode": "name",
"value": "table_id"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"postgres": {
"id": "4Y4qEFGqF2krfRHZ",
"name": "Postgres-test"
}
},
"typeVersion": 2.6
},
{
"id": "43775581-f2b5-41d3-8779-9554b308cc37",
"name": "发送预订确认",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
340,
140
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"results\": [\n {\n \"toolCallId\": \"{{ $('Capture Voice Input').item.json.body.message.toolCalls[0].id }}\",\n \"result\": \"{{ $json.status }}\"\n }\n ]\n}"
},
"typeVersion": 1.2
},
{
"id": "596e1ef1-6029-4c84-8dab-dc89675410bd",
"name": "检测新线索",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-100,
400
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "id",
"value": "0oijhgfr456yujhnbvcdew23erfg"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "9iuhgft567ujm"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "BoDTTv5L67GVL3Fi",
"name": "Google Sheets - test"
}
},
"typeVersion": 1
},
{
"id": "3bb67923-991a-4a6d-8caa-ae683d97e014",
"name": "格式化线索信息",
"type": "n8n-nodes-base.set",
"position": [
120,
400
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a10873fa-0c01-46ed-a364-d31200e44e76",
"name": "Phone_number",
"type": "string",
"value": "=+{{ $json.Phone }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "df04836b-262e-418d-9ed0-83424793be10",
"name": "启动营销推广",
"type": "n8n-nodes-base.httpRequest",
"position": [
340,
400
],
"parameters": {
"url": "https://api.vapi.ai/call",
"method": "POST",
"options": {},
"jsonBody": "={\n \"assistantId\": \"add_id_here\",\n \"phoneNumberId\": \"add_id_here\",\n \"customers\": [\n {\n \"number\":\"{{ $json.Phone }}\"\n }\n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "JzfcNGi2NYJB6wll",
"name": "Bearer Auth account"
}
},
"typeVersion": 4.2
},
{
"id": "960ff7a4-e8ba-42c0-88ad-f35f4a197a0d",
"name": "接收呼叫响应",
"type": "n8n-nodes-base.webhook",
"position": [
-100,
660
],
"webhookId": "a34ac7ac-7ea4-4942-8dbf-f9ce3f0986e4",
"parameters": {
"path": "call",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "67340244-b65a-4a72-a91d-1655660ea30e",
"name": "记录用户输入",
"type": "n8n-nodes-base.googleSheets",
"position": [
120,
660
],
"parameters": {
"columns": {
"value": {
"call_notes": "={{ $json.body.message.toolCalls[0].function.arguments.call_notes }}",
"website_url": "={{ $json.body.message.toolCalls[0].function.arguments.website_url }}",
"call_outcome": "={{ $json.body.message.toolCalls[0].function.arguments.call_outcome }}",
"company_name": "={{ $json.body.message.toolCalls[0].function.arguments.company_name }}",
"phone_number": "={{ $json.body.message.toolCalls[0].function.arguments.phone_number }}",
"email_address": "={{ $json.body.message.toolCalls[0].function.arguments.email_address }}",
"prospect_name": "={{ $json.body.message.toolCalls[0].function.arguments.prospect_name }}",
"follow_up_date": "={{ $json.body.message.toolCalls[0].function.arguments.follow_up_date }}",
"interest_level": "={{ $json.body.message.toolCalls[0].function.arguments.interest_level }}",
"biggest_challenge": "={{ $json.body.message.toolCalls[0].function.arguments.biggest_challenge }}",
"appointment_datetime": "={{ $json.body.message.toolCalls[0].function.arguments.appointment_datetime }}"
},
"schema": [
{
"id": "prospect_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "prospect_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "prospect_role",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "prospect_role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "website_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website_strength",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "website_strength",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone_number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "phone_number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_address",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email_address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "current_marketing_methods",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "current_marketing_methods",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "biggest_challenge",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "biggest_challenge",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "previous_digital_marketing",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "previous_digital_marketing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "objections_raised",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "objections_raised",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "interest_level",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "interest_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "next_step",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "next_step",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "appointment_datetime",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "appointment_datetime",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "call_outcome",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "call_outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "call_notes",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "call_notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "follow_up_date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "follow_up_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "opt_out_requested",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "opt_out_requested",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"phone_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mkHJIhSFXdh1n65GKPwzEzFw0QasunyYm9BDglnXeiI/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "0oijht5tfcs3edfvgb"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.5
},
{
"id": "88197c5d-710f-43e7-871b-b152a64f5eab",
"name": "将响应转发至系统",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
340,
660
],
"parameters": {
"options": {}
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"timezone": "Asia/Kolkata",
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1"
},
"versionId": "a40c9c99-5c96-4096-bd86-fe5b8ce33ed8",
"connections": {
"Log User Input": {
"main": [
[
{
"node": "Relay Response to System",
"type": "main",
"index": 0
}
]
]
},
"Detect New Lead": {
"main": [
[
{
"node": "Format Lead Information",
"type": "main",
"index": 0
}
]
]
},
"Capture Voice Input": {
"main": [
[
{
"node": "Update Booking Record",
"type": "main",
"index": 0
}
]
]
},
"Detect Incoming Call": {
"main": [
[
{
"node": "Validate Trip Details",
"type": "main",
"index": 0
}
]
]
},
"Receive Call Response": {
"main": [
[
{
"node": "Log User Input",
"type": "main",
"index": 0
}
]
]
},
"Update Booking Record": {
"main": [
[
{
"node": "Send Booking Confirmation",
"type": "main",
"index": 0
}
]
]
},
"Validate Trip Details": {
"main": [
[
{
"node": "Deliver Organizer Info",
"type": "main",
"index": 0
}
]
]
},
"Format Lead Information": {
"main": [
[
{
"node": "Initiate Marketing Outreach",
"type": "main",
"index": 0
}
]
]
}
}
}如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 客户关系管理
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
分享此工作流