8
n8n 中文网amn8n.com

完整旅行电话管理系统 - 呼叫跟踪、行程预订与营销

高级

这是一个CRM领域的自动化工作流,包含 16 个节点。主要使用 Set, Webhook, Postgres, HttpRequest, GoogleSheets 等节点。 使用Postgres、Google Sheets和语音API自动化旅行业务运营

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • PostgreSQL 数据库连接信息
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "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)可能需要您自行付费。

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

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Oneclick AI Squad

Oneclick AI Squad

@oneclick-ai

The 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.

外部链接
在 n8n.io 查看

分享此工作流