8
n8n 中文网amn8n.com

预约提醒助手

中级

这是一个AI Chatbot, Multimodal AI领域的自动化工作流,包含 11 个节点。主要使用 Set, Code, HttpRequest, GoogleCalendar, ScheduleTrigger 等节点。 使用Google Calendar和Retell AI自动化预约电话提醒

前置要求
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "cmusYcLEtQLBks00",
  "meta": {
    "instanceId": "a18da9fe05787064d0871c067b6baf1f5102992b14efc7335bca39a83ba97eb2",
    "templateCredsSetupCompleted": true
  },
  "name": "预约提醒助手",
  "tags": [],
  "nodes": [
    {
      "id": "016deabc-cd94-41f8-8470-a4df03cb431c",
      "name": "设置配置(Retell设置)",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        -48
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "from_number",
              "value": "{{ YOUR_FROM_NUMBER }}"
            },
            {
              "name": "agent_id",
              "value": "{{ YOUR_AGENT_ID }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "47ccb25c-e543-40d1-8155-18046a85d1d5",
      "name": "计划触发器(上午9点)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -352,
        -48
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c0a5e52a-ced2-4bbc-b5f2-99b7989f8b7b",
      "name": "发送提醒电话(Retell API)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        -48
      ],
      "parameters": {
        "url": "https://api.retellai.com/v2/create-phone-call",
        "options": {},
        "jsonBody": "={\n\"from_number\": \"{{ $json.from_number }}\",\n\"to_number\": \"{{ $json.phone }}\",\n\"retell_llm_dynamic_variables\": {\n    \"name\": \"{{ $json.name }}\",\n    \"phone_number\": \"{{ $json.phone }}\",\n    \"reason\": \"{{ $json.reason }}\",\n    \"start_time\": \"{{ $json.startTime }}\",\n    \"end_time\": \"{{ $json.endTime }}\"\n},\n\"override_agent_id\": \"{{ $json.agent_id }}\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpCustomAuth": {
          "id": "cY0bhQDArrMSy7x6",
          "name": "Custom Auth account"
        },
        "httpHeaderAuth": {
          "id": "wuo9C8tD1CmNbIPD",
          "name": "Retell AI"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8d90ec35-90b6-495d-89e9-c816ff9279ca",
      "name": "获取即将发生的事件",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        -112,
        -48
      ],
      "parameters": {
        "options": {},
        "timeMax": "={{ $now.plus(12, 'hours') }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ Your Calendar Email }}"
        },
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "JT4VVIXG6yWNeG8p",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "35fa6c4b-6298-4823-8368-e1153fe4740b",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -416,
        -208
      ],
      "parameters": {
        "color": 3,
        "width": 208,
        "height": 320,
        "content": "此节点每天上午9点触发工作流"
      },
      "typeVersion": 1
    },
    {
      "id": "acb7fd45-ea35-47c2-a69f-b60ee1f98525",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -288
      ],
      "parameters": {
        "color": 5,
        "height": 400,
        "content": "此节点从您的Google日历获取未来12小时内的所有活动"
      },
      "typeVersion": 1
    },
    {
      "id": "b621211c-c65b-4dbb-b1d9-b5437a1b1e09",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        -352
      ],
      "parameters": {
        "height": 464,
        "content": "此代码节点提取:"
      },
      "typeVersion": 1
    },
    {
      "id": "d890a065-3c77-4252-a0cb-a90e38d9a17c",
      "name": "提取预约详情",
      "type": "n8n-nodes-base.code",
      "position": [
        144,
        -48
      ],
      "parameters": {
        "jsCode": "return items.flatMap(item => {\n  const description = item.json.description || \"\";\n\n  // Normalize newlines\n  const cleaned = description.replace(/\\r?\\n/g, '\\n').trim();\n\n  // Split bookings by empty lines (double newline or similar)\n  const bookings = cleaned.split(/\\n\\s*\\n/);\n\n  return bookings.map(booking => {\n    const flat = booking.replace(/\\n/g, ' ').replace(/\\s{2,}/g, ' ');\n\n    const nameMatch = flat.match(/Name:\\s*(.+?)(?=\\s+[A-Za-z]+:|$)/i);\n    const emailMatch = flat.match(/Email:\\s*(.+?)(?=\\s+[A-Za-z]+:|$)/i);\n    const phoneMatch = flat.match(/Phone Number:\\s*(.+?)(?=\\s+[A-Za-z]+:|$)/i);\n    const reasonMatch = flat.match(/Reason:\\s*(.+?)(?=\\s+[A-Za-z]+:|$)/i);\n\n    return {\n      json: {\n        name: nameMatch ? nameMatch[1].trim() : \"\",\n        email: emailMatch ? emailMatch[1].trim() : \"\",\n        phone: phoneMatch ? phoneMatch[1].trim() : \"\",\n        reason: reasonMatch ? reasonMatch[1].trim() : \"\",\n        startTime: item.json.start?.dateTime || \"\",\n        endTime: item.json.end?.dateTime || \"\"\n      }\n    };\n  });\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "171d92a8-f4b7-4cd7-8ff2-fa60342983d2",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -304
      ],
      "parameters": {
        "color": 4,
        "height": 416,
        "content": "此节点存储您的Retell设置:"
      },
      "typeVersion": 1
    },
    {
      "id": "da1d2978-d402-4524-ac5a-91834b44846b",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        -304
      ],
      "parameters": {
        "color": 6,
        "height": 416,
        "content": "此节点向Retell AI发送API请求以拨打电话"
      },
      "typeVersion": 1
    },
    {
      "id": "f3b6d02b-d978-43ae-b7da-21e439e33779",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        -400
      ],
      "parameters": {
        "color": 2,
        "width": 544,
        "height": 736,
        "content": "## 预约提醒助手"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "fe292d57-7b18-44cc-9ad6-e9474c2208a2",
  "connections": {
    "Get Upcoming Events": {
      "main": [
        [
          {
            "node": "Extract Appointment Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger (9 AM)": {
      "main": [
        [
          {
            "node": "Get Upcoming Events",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Config (Retell Setup)": {
      "main": [
        [
          {
            "node": "Send Reminder Call ( Retell Api)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Appointment Details": {
      "main": [
        [
          {
            "node": "Set Config (Retell Setup)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - AI 聊天机器人, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量11
分类2
节点类型6
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流