# Instant Omnichannel Lead Response — Lean MVP PRD

> **版本：** v1（首次生成）
> **生成时间：** 20260512-1454
> **评分：** 32/40（最高分）
> **Source：** real-estate-ai-tools__scored-demand__20260511-0910.md

---

## 1. Problem & User

**Target User：** 住宅房产经纪人和小型经纪团队（10人以下），每天从网页表单、SMS、WhatsApp、电话和邮件接收买家/租户询盘，下班后还在不停来电。

**Core Pain：** 询盘在多个渠道分散到达，没有统一的即时响应层。错过一条线索可能就是一笔佣金的损失。代理当前的解决方案：人工盯手机 + Excel 记录 + 各渠道分别处理，效率极低。

**User Quote：** "AI automation for real estate agents tired of manual follow-ups, spreadsheets, and missed leads"

---

## 2. Target Outcome & KPIs

**Primary Outcome：** 经纪人接入渠道后，5分钟内看到第一条自动回复的线索记录，感受到产品核心价值——"我不在线时有人在替我接客"。

| KPI | 目标值 |
|-----|--------|
| 渠道接入到首次自动回复 | < 5 分钟 |
| 线索资质问答完成率 | > 60% |
| 7日留存 | > 50% |
| 免费→付费转化（试用期） | > 8% |

---

## 3. MVP Scope（In）

- 接入网页表单 webhook、SMS（Twilio）、WhatsApp（Twilio）、漏接电话触发器
- 统一 Inbox：所有渠道线索进入同一 Dashboard
- 即时自动回复（按渠道模板，1分钟内）
- 4步资质问询流（意向类型/预算/时间线/融资状态）
- Calendly 链接注入：资质通过后自动发送预约链接
- 线索状态追踪：新→资质中→已预约→CRM 推送
- 简易 CRM 导出：Webhook POST 到用户自定义 URL 或 CSV 导出
- AI 对话摘要：每条线索自动提炼结构化字段（预算/时间线/房型需求）
- Stripe 订阅计费：$49/mo（solo）、$99/mo（team，最多5个坐席）

---

## 4. Out of Scope

- 原生手机 App
- 自建呼叫中心 / 语音 AI
- 深度 CRM 原生集成（Follow Up Boss API、kvCORE 等）
- 多语言支持
- AI 谈判助手或报价生成
- 批量营销邮件 / 群发 SMS 广告

---

## 5. User Flow（Happy Path）

**注册后 5 分钟 Aha Moment 路径：**

1. 用户注册（邮箱 + 密码）→ 进入 Onboarding 引导页
2. **Step 1 — 选择渠道**：勾选要接入的渠道（网页表单 / SMS / WhatsApp / 漏接电话）
3. **Step 2 — 配置一个渠道**：以"网页表单"为例，复制 webhook URL，粘贴到自己网站的 contact form action
4. **Step 3 — 发送测试线索**：页面提示"发送一条测试询盘"，用户填写自己网站的表单
5. **⚡ Aha Moment（第3分钟）**：Dashboard 出现第一条线索记录，状态"已自动回复"，显示系统发送的欢迎 + 资质问题的 SMS/邮件截图
6. 用户看到"我刚收到一条线索，系统已经替我回复了"——价值瞬间兑现
7. 后续线索持续进入 Inbox，按渠道颜色区分，支持手动介入

**付费墙触发：** 累计处理第 **50条线索** 时弹出升级提示，同时触发邮件序列。

---

## 6. Functional Requirements（P0）

**F1 — 渠道接入**
- 支持 Webhook 接收网页表单 POST（JSON/Form）
- Twilio SMS/WhatsApp inbound webhook 接收和发送
- 漏接电话触发：Twilio missed-call webhook → 自动发 SMS 回调

**F2 — 即时自动回复**
- 收到线索后 60秒 内发出首条回复（按渠道选择 SMS / WhatsApp / Email）
- 内置 3 套实地模板（买房线索 / 租房线索 / 卖房咨询）
- 支持自定义模板（名字占位符 {name}、房产地址 {property}）

**F3 — 资质问询流**
- 4个问题，按渠道发送，等待回复后发下一问
- 状态机：awaiting_q1 → awaiting_q2 → awaiting_q3 → awaiting_q4 → qualified / disqualified
- 超时（24小时无回复）自动归档

**F4 — 预约注入**
- 通过资质（timeline < 3个月 且有预算）后，自动发送 Calendly 链接
- 预约完成触发 Calendly webhook → 线索状态更新为"已预约"

**F5 — Inbox Dashboard**
- 所有渠道线索统一列表（时间倒序）
- 每条线索：渠道图标、姓名、摘要、当前状态、操作按钮（手动接管 / 标记完成）
- AI 摘要字段：预算 / 意向类型 / 入住时间线 / 融资状态

**F6 — CRM 推送**
- 支持配置 Webhook URL，线索状态变更时 POST JSON 数据包
- 支持 CSV 手动导出

**F7 — 计费**
- Stripe Checkout 接入
- 免费额度：前 50 条线索免费
- 超额后 paywall 弹窗 + 邮件通知

**F8 — Onboarding**
- 4步引导：创建账号 → 接入渠道 → 测试 → 看到第一条自动回复
- 无需阅读文档即可完成，全程有操作提示

---

## 7. Minimal Data Model

```
users (id, email, password_hash, plan, stripe_customer_id, created_at)
channels (id, user_id, type [sms|whatsapp|web_form|missed_call], config_json, active)
leads (id, user_id, channel_id, name, phone, email, status, source_raw, created_at)
lead_fields (id, lead_id, field_key [budget|timeline|type|financing], field_value)
messages (id, lead_id, direction [in|out], channel, body, sent_at)
templates (id, user_id, channel, stage, body_template)
billing_events (id, user_id, event_type, lead_count, created_at)
```

---

## 8. API / Integration Notes

| 服务 | 用途 | 备注 |
|------|------|------|
| Twilio SMS/WhatsApp | 收发消息 | 按量计费，markup 传给用户 |
| Calendly Webhook | 预约确认 | 只需 webhook 接收，无需 OAuth |
| OpenAI API | 对话摘要提炼 | 仅在线索完成后调用一次，控制成本 |
| Stripe | 订阅计费 | Checkout Session + Webhook |
| Resend / Postmark | 邮件渠道 | 可选，初版先做 SMS/WhatsApp |
| Supabase | DB + Auth + Storage | 单一后端依赖 |

---

## 9. Acceptance Criteria

- [ ] 用户注册后，不看文档，5分钟内完成第一个渠道接入并收到测试线索
- [ ] 线索从 webhook 到首条自动回复耗时 < 60 秒
- [ ] 资质问询完整走通（4问全部回答）后自动发出 Calendly 链接
- [ ] Dashboard 正确显示所有渠道线索、状态和 AI 摘要字段
- [ ] 第50条线索后，Stripe paywall 触发，Checkout 完成后解锁
- [ ] Webhook CRM 推送在线索状态变更时准确触发，JSON 格式正确
- [ ] 漏接电话在 Twilio missed-call webhook 触发后 60秒 内发出 SMS 回调

---

## 10. Delivery Plan

### M1 — 数据层 + 渠道接收（Day 1 上午，约 6 小时）

**创建/修改文件：**
- `prisma/schema.prisma` — 定义 users / channels / leads / messages / templates 表
- `app/api/webhooks/twilio/route.ts` — 接收 SMS/WhatsApp inbound
- `app/api/webhooks/web-form/route.ts` — 接收网页表单 POST
- `app/api/webhooks/missed-call/route.ts` — 处理漏接电话
- `lib/twilio.ts` — 封装 Twilio send SMS/WhatsApp
- `lib/leads.ts` — lead 创建和状态机

**Exit Criteria：**
- POST /api/webhooks/web-form 返回 200，lead 写入 DB
- Twilio 收到 SMS 后，DB 中出现对应 lead + message 记录
- 单元测试：lead 状态机流转正确

### M2 — 自动回复 + 资质流 + Dashboard（Day 1 下午 - Day 2 上午，约 8 小时）

**创建/修改文件：**
- `lib/qualification-flow.ts` — 4问状态机，含超时处理
- `lib/ai-summary.ts` — OpenAI 调用，提炼结构化字段
- `app/inbox/page.tsx` — 统一 Inbox UI
- `app/inbox/[leadId]/page.tsx` — 线索详情 + 消息历史
- `app/settings/channels/page.tsx` — 渠道配置页
- `app/onboarding/page.tsx` — 4步引导流
- `app/api/leads/[id]/route.ts` — lead CRUD API

**Exit Criteria：**
- 端到端：发一条测试 SMS → 系统自动回复首条消息 → 走完4问 → 自动发 Calendly 链接
- Dashboard 显示线索列表，AI 摘要字段正确填充
- Onboarding 流程无中断可完成

### M3 — 计费 + CRM 推送 + 上线（Day 2 下午，约 4 小时）

**创建/修改文件：**
- `lib/stripe.ts` — Checkout Session 创建 + Webhook 处理
- `app/api/billing/checkout/route.ts` — 发起订阅
- `app/api/billing/webhook/route.ts` — 处理 Stripe 事件
- `lib/crm-push.ts` — Webhook POST 到用户配置 URL
- `app/settings/integrations/page.tsx` — CRM webhook URL 配置
- `middleware.ts` — paywall 检查（第50条后拦截新线索）

**Exit Criteria：**
- 第51条线索触发 paywall，Stripe Checkout 完成后立即解锁
- CRM webhook 在线索状态变更时准确 POST，重试3次
- 新用户从注册到完整 Aha Moment 体验 < 5 分钟（人工测试通过）

---

## 11. Risks & Mitigations

| 风险 | 缓解 |
|------|------|
| Twilio 号码购买和配置复杂，新用户流失 | Onboarding 提供逐步视频截图引导；初期允许只用 Web Form 渠道先走通 |
| WhatsApp Business 账号审核周期长 | MVP 先主推 SMS，WhatsApp 作为高级功能后续开放 |
| AI 摘要成本失控 | 仅在4问完成后调用一次；每次摘要 prompt 限制 500 token 输入 |
| Twilio 消息发送延迟 | 设置 60s SLA，超时告警；不用 LLM 生成回复内容，只用模板 |
| 竞品价格优势（Structurely/Verse.io 已成熟） | 主打"5分钟接入、无需 CRM 迁移"的超轻量定位 |

---

## 12. Chargeability Rationale

**免费版价值：** 前50条线索完整走通，用户亲眼看到系统替自己回复和资质筛选，感受到"不丢线索"的核心价值。

**付费版扩展：** 解锁无限线索、团队坐席（最多5人）、SMS 用量 markup 包、CRM Webhook 推送和 CSV 导出。

**付费墙时机：** 第50条线索——此时用户已在系统中积累了大量线索数据，切换成本高，且亲历了产品价值，付费意愿最强。

**一句话：** 错过一条房产线索可能损失数千美元佣金，$49/月是为"不错过任何询盘"买的保险。
