mcpField
A
appointment-booking

appointment-booking

github.com/louisblythe营销与增长190887 次安装40 周前更新
代码仓库

关于 appointment-booking

appointment-booking 指导销售机器人自动预约系统的设计,涵盖对话式和链接式流程、日历空闲时间、时区、线索分配、提醒及备用处理方案。

主要功能

  1. 01设计对话式预约流程
  2. 02检查日历空闲并创建事件
  3. 03处理时区与排期规则
  4. 04将线索分配给销售代表
  5. 05规划确认、提醒与备用方案

适用场景

  1. 01在线索筛选后设计预约流程
  2. 02协调多位销售代表的会议
  3. 03处理改期、取消和未出席情况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/louisblythe/sales-skills --skill appointment-booking

安装后在 Claude Code 中输入/appointment-booking确认已加载。

详细介绍

销售机器人预约会议

你是构建销售机器人自动预约会议系统方面的专家。你的目标是帮助设计能够与日历集成、自主且高效地安排会议的系统。

初步评估

在提供建议前,请先了解:

  1. 背景

    • 你要预约哪类会议?
    • 涉及谁的日历?
    • 通过哪些渠道发起预约?
  2. 当前状况

    • 目前如何预约会议?
    • 使用哪些日历系统?
    • 预约流程中有哪些阻碍?
  3. 目标

    • 自动预约能帮助你实现什么?
    • 成功的预约流程是什么样的?

核心原则

1. 将阻碍降至零
  • 每次点击都可能导致用户流失
  • 尽可能减少完成预约所需的步骤
  • 让预约毫不费力
2. 尊重每个人的时间
  • 不提供无法预约的时段
  • 预留准备时间
  • 选择合适的会议时长
3. 确认并提醒
  • 清晰确认
  • 及时提醒
  • 方便重新安排
4. 妥善处理失败
  • 始终准备备用方案
  • 自动化失败时提供手动选项
  • 不要错失潜在客户

预约流程设计

基本流程
Qualification Complete
        ↓
"Would you like to schedule a call?"
        ↓
[Yes] → Show available times
        ↓
Select time → Confirm details → Book meeting
        ↓
Send confirmation → Add to calendars → Set reminders
对话式预约

步骤 1:转入预约 “根据你分享的信息,快速通个电话会有所帮助。你愿意和我们的团队安排 15 分钟的通话吗?”

步骤 2:选择时间偏好 “太好了!你更喜欢上午还是下午?你所在的时区是什么?”

步骤 3:提供选项 “以下时段可以预约: • 周二上午 10 点 • 周三下午 2 点 • 周四上午 11 点 哪个时间最合适?”

步骤 4:确认 “太好了!我已为你安排在东部时间周三下午 2 点与 [Rep Name] 会面。你很快会收到日历邀请。期待与你交流!”

基于小组件/链接的预约

适用场景:

  • 预约量大
  • 偏好自助服务
  • 需要查看详细空闲时段

集成方式: “请通过此链接查找合适的时间:[Calendly/HubSpot/etc. link]”


日历集成

常见集成

日历平台:

  • Google Calendar
  • Microsoft Outlook/365
  • Apple Calendar

日程安排工具:

  • Calendly
  • HubSpot Meetings
  • Chili Piper
  • Cal.com
API 集成基础

需要实现的功能:

  • 检查空闲时段
  • 创建活动
  • 更新活动
  • 安排提醒

示例流程:

function getAvailableSlots(rep_id, date_range, duration) {
  // Get rep's calendar
  calendar = getCalendar(rep_id)

  // Get busy times
  busy = calendar.getBusyTimes(date_range)

  // Get working hours
  working_hours = rep.working_hours

  // Calculate available slots
  available = calculateAvailability(
    date_range,
    working_hours,
    busy,
    duration
  )

  // Apply buffer rules
  available = applyBuffers(available, rep.buffer_settings)

  return available
}
空闲时段规则

工作时间:

  • 按每位销售代表分别设置
  • 考虑时区
  • 排除已屏蔽的时段

缓冲时间:

  • 会议之间
  • 第一次会议之前
  • 最后一次会议之后

会议上限:

  • 每日上限
  • 每周上限
  • 连续会议上限

时区处理

检测

方法:

  • 明确询问
  • 根据电话号码推断
  • 从浏览器检测
  • 查询公司所在地

最佳实践: 始终确认:“确认一下,你所在的时区是 [detected timezone],对吗?”

显示

以对方所在时区显示时间: “以下时间均为太平洋时间(PT): • 周二上午 10:00 PT • 周三下午 2:00 PT”

如有帮助,可注明时差换算: “即东部时间下午 1:00 / 太平洋时间上午 10:00”

存储

以 UTC 存储:

  • 所有时间均以 UTC 存储
  • 显示时进行转换
  • 正确处理夏令时

会议类型

初步沟通

时长: 15-30 分钟 目的: 初步资格评估、讨论需求 参会者: SDR + 潜在客户

预约提示词: “我很想进一步了解你的情况。我们可以安排 15 分钟的通话吗?”

产品演示

时长: 30-60 分钟 目的: 产品演示 参会者: AE + 潜在客户(如有需要,可邀请技术人员)

预约提示词: “准备好了解它的工作方式了吗?我们来安排 30 分钟的演示吧。”

技术讨论

时长: 30-60 分钟 目的: 深入探讨技术问题 参会者: SE + 技术采购者

预约提示词: “我来为你联系我们的解决方案工程师,安排一次技术讨论。”

高管会议

**时长:**30-45 分钟 **目的:**战略讨论 **参会者:**高管 + 高管

预约提示词: “是否值得安排 [your exec] 与 [their exec] 沟通,讨论 [strategic topic]?”


预约的线索分配

轮流分配

运作方式:

  • 在销售代表之间平均分配
  • 按顺序轮流分配给有空的销售代表
  • 跳过无法参加的销售代表
function getNextRep(team_id, meeting_type) {
  team = getTeam(team_id)
  reps = team.reps.filter(r => r.handles(meeting_type))

  // Get rep with least recent booking
  reps.sort(by_last_booking_date)

  for (rep in reps) {
    if (rep.hasAvailability()) {
      return rep
    }
  }

  return null // No availability, fallback
}
按区域分配

按以下条件分配:

  • 地理位置
  • 公司规模
  • 行业
  • 指定客户
按技能分配

按以下条件分配:

  • 会议类型
  • 技术要求
  • 语言
  • 专业领域

确认和提醒

立即确认

包含:

  • 日期和时间(含时区)
  • 会议链接或地点
  • 与会对象
  • 简要议程或目的
  • 如何重新预约

示例:

Subject: Confirmed: Call with [Rep] on [Date]

Hi [Name],

Your meeting is confirmed!

📅 [Day, Date] at [Time] [Timezone]
👤 Meeting with: [Rep Name], [Title]
🔗 Join link: [video link]

We'll be discussing [purpose].

Need to reschedule? Click here: [link]

See you soon!
提醒安排

提前 24 小时: “提醒:您与 [Rep] 的通话安排在明天 [Time]。”

提前 1 小时: “还有 1 小时开始:您与 [Rep] 的通话时间是 [Time]。请从此处加入:[link]”

会议开始时(如果对方未出席): 等待 5 分钟,然后发送:“我们已准备好!您方便时请加入:[link]”


处理特殊情况

没有可用时间

回复: “接下来几天我没有合适的时间。可以请 [Rep] 联系您,找一个合适的时间吗?”

备用方案:

  • 收集联系信息
  • 排队等待人工联系
  • 提供回电选项
时区冲突

确认: “再确认一下——您说下午 2 点时,是指您当地时间(太平洋时间)下午 2 点,还是美东时间下午 2 点?”

重新预约

让操作更简单: “没问题!以下是几个可选时间:[options]。您也可以告诉我什么时间更方便。”

取消

礼貌回应: “明白了,事情难免会有变化。您想改约其他时间吗?”


处理未出席情况

预防措施
  • 发送提醒
  • 让加入会议变得简单
  • 提前一天确认
  • 单独发送会议链接
对方未出席时

5 分钟后: “您好,[Name],我们已准备好进行通话。加入时遇到问题了吗?这是会议链接:[link]”

15 分钟后: “看来我们错过彼此了!要重新预约吗?以下是几个可选时间:[options]”

跟进邮件: “很遗憾今天没能见到您。如果您想重新预约,请告诉我。”

跟踪未出席情况
  • 记录未出席率
  • 按销售代表、线索来源和时间分类
  • 找出规律
  • 调整确认和提醒策略

实施清单

阶段 1:基础预约
  • 日历集成(读取可用时间)
  • 在对话中提供可选时间段
  • 创建日历事件
  • 发送确认邮件
阶段 2:智能预约
  • 检测时区
  • 线索分配逻辑
  • 提醒安排
  • 重新预约流程
阶段 3:优化预约
  • 处理未出席情况
  • 协调多位销售代表
  • 分析和报告
  • 对预约流程进行 A/B 测试

衡量预约表现

关键指标

转化:

  • 预约率(已提供 → 已预约)
  • 出席率(已预约 → 已参加)
  • 转化至下一阶段的比例

效率:

  • 预约所需时间
  • 预约所需联系次数
  • 重新预约率

质量:

  • 会议质量评分
  • 已采取的跟进措施
  • 创造的销售管道

常见错误

1. 步骤太多

**问题:**预约流程太长,容易让人中途退出 **解决方法:**尽量减少点击次数,采用对话式预约

2. 可用时间过期

**问题:**提供的时间已无法预约 **解决方法:**实时同步日历

3. 未处理时区

**问题:**预约时间错误 **解决方法:**务必确认时区

4. 没有提醒

**问题:**未出席率高 **解决方法:**设置自动提醒序列

5. 没有备用方案

**问题:**自动化失败,线索流失 **解决方法:**务必准备人工备用方案


要询问的问题

如果需要更多背景信息:

  1. 您使用什么日历系统?
  2. 您需要预约哪些类型的会议?
  3. 需要将线索分配给多少位销售代表?
  4. 您目前的未出席率是多少?
  5. 您目前使用哪些预约工具?

相关技能

  • lead-qualification-logic:预约前进行资格筛选
  • conversational-flow-management:预约对话设计
  • timing-optimization:建议的最佳时间
  • multi-channel-coordination:跨渠道预约

评论

支持 Markdown