# Admin and CRM Automation — Lean MVP PRD

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

---

## 1. Problem & User

**Target User：** 房产经纪人和经纪公司行政人员，每天要手动把通话记录、看房备注和邮件对话同步到 CRM，消耗大量时间却出错率高。

**Core Pain：** 经纪人 40% 的时间花在行政工作上。每次会议或通话后，需要手动打开 CRM 输入备注、设置下一步任务、追踪截止日期——繁琐到大多数人根本坚持不下去，导致 CRM 数据陈旧、跟进漏失。

**User Quote：** "40% of agent time = admin"

---

## 2. Target Outcome & KPIs

**Primary Outcome：** 经纪人粘贴一段通话备注或邮件片段后，5分钟内看到结构化的联系人更新 + 下一步任务 + 截止日期，一键导入或复制到 CRM。

| KPI | 目标值 |
|-----|--------|
| 粘贴备注到结构化输出 | < 15 秒 |
| 每周人均捕获次数 | > 5 次 |
| 7日留存 | > 40% |
| 免费→付费转化 | > 8% |

---

## 3. MVP Scope（In）

- 交互捕获表单：粘贴通话备注 / 邮件片段（自由文本）
- Google Gmail OAuth 集成：拉取指定联系人的最新邮件，一键捕获
- AI 提炼：从输入文本中提取 contact_name / deal_stage / next_action / due_date / summary
- 轻量联系人 + 交易管理：手动 CRUD 或 CSV 导入
- 任务列表：从捕获中生成的 next_action，带截止日期
- 逾期提醒：每日邮件摘要（今日到期任务 + 缺少下一步的联系人）
- CSV 导出：联系人 + 任务列表，方便复制到任何 CRM
- 活动时间线：每个联系人的所有捕获历史
- Stripe 计费：$29/mo（solo）；$79/mo（团队，最多5人）

---

## 4. Out of Scope

- 直接写入 Follow Up Boss / kvCORE / LionDesk 等 CRM（只做 CSV + Webhook 导出）
- 语音转文字（用户手动粘贴文本）
- 日历同步（截止日期只在内部追踪，不写 Google Calendar）
- 短信/WhatsApp 消息捕获
- 全功能 CRM 替代（不做 pipeline 漏斗可视化）
- 交易文档管理

---

## 5. User Flow（Happy Path）

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

1. 用户注册 → 进入捕获首页（大文本输入框，提示"粘贴任何会议记录或邮件片段"）
2. **Step 1 — 粘贴备注**：用户粘贴一段通话记录（"Called Sarah, she's looking at 3BR in Pasadena, budget $800k, timeline 3-4 months, needs pre-approval"）
3. **Step 2 — 一键提炼**：点击"Extract"，约 5 秒后结果出现
4. **⚡ Aha Moment（第2分钟）**：右侧出现结构化卡片：
   - 联系人：Sarah
   - 交易阶段：Buyer - Qualifying
   - 预算：$800k
   - 下一步：Send pre-approval referral
   - 截止日期：（自动推断）今天 +3天
5. 用户点击"保存"或"复制 CRM 格式" → 完成
6. 感受到"5秒从备注变成结构化任务"——节省时间价值立即兑现

**付费墙触发：** 第 **10次捕获** 后触发 paywall + 邮件序列。

---

## 6. Functional Requirements（P0）

**F1 — 交互捕获**
- 自由文本输入框（最大 2000 字）
- 调用 OpenAI API 返回结构化 JSON：
  ```json
  {
    "contact_name": "Sarah",
    "deal_stage": "Buyer - Qualifying",
    "summary": "...",
    "budget": "$800k",
    "timeline": "3-4 months",
    "next_action": "Send pre-approval referral",
    "due_date": "2026-05-15",
    "tags": ["buyer", "pasadena", "pre-approval-needed"]
  }
  ```
- 用户可编辑每个字段后保存

**F2 — Gmail 集成**
- Google OAuth 授权
- 按联系人姓名或邮箱搜索 Gmail，拉取最近5封邮件
- 用户选择邮件片段 → 一键送入捕获流

**F3 — 联系人 + 交易管理**
- 联系人 CRUD：name / email / phone / type（buyer/seller/investor）/ status / notes
- 交易 CRUD：address / stage / linked_contact / close_date
- 捕获结果可绑定到已有联系人或自动创建新联系人

**F4 — 任务列表**
- 从捕获中提取的 next_action + due_date 自动生成任务
- 任务状态：pending / done
- 按到期日期排序

**F5 — 每日摘要邮件**
- Supabase/Vercel Cron，每天 UTC 08:00 发出摘要
- 内容：今日到期任务列表 + 超过14天没有新捕获的联系人（"可能需要跟进"）

**F6 — 活动时间线**
- 每个联系人页面下方展示所有捕获历史（时间戳 + 摘要 + 提炼字段）

**F7 — 导出**
- 联系人列表 CSV 导出（兼容 Follow Up Boss 导入格式）
- 任务列表 CSV 导出

**F8 — 计费**
- 免费：前10次捕获
- Stripe Checkout + paywall

**F9 — Onboarding**
- 2步引导：粘贴第一条备注 → 看到结构化输出
- 提供3条示例备注供新用户测试

---

## 7. Minimal Data Model

```
users (id, email, plan, capture_count, stripe_customer_id, google_oauth_token)
contacts (id, user_id, name, email, phone, type, status, notes)
deals (id, user_id, contact_id, address, stage, close_date)
captures (id, user_id, contact_id, raw_text, extracted_json, created_at)
tasks (id, user_id, contact_id, capture_id, action, due_date, status)
activity_logs (id, contact_id, capture_id, summary, created_at)
```

---

## 8. API / Integration Notes

| 服务 | 用途 | 备注 |
|------|------|------|
| OpenAI API (GPT-4o) | 文本提炼，JSON 结构化输出 | 每次约 0.02 USD |
| Google OAuth + Gmail API | 邮件读取 | 只需 gmail.readonly scope |
| Resend | 每日摘要邮件 | 每日一封，低频 |
| Stripe | 订阅计费 | Checkout Session + Webhook |
| Supabase | DB + Auth + Storage | 单一后端依赖 |

---

## 9. Acceptance Criteria

- [ ] 粘贴通话备注后，AI 正确提取 contact_name / next_action / due_date（人工测试5条，4条正确）
- [ ] Gmail OAuth 授权后，按联系人邮箱搜索可返回最近5封邮件列表
- [ ] 捕获结果可绑定已有联系人，活动时间线正确显示历史
- [ ] 每日摘要邮件在 UTC 08:00 准时发出，内容包含今日到期任务
- [ ] CSV 导出格式与 Follow Up Boss 导入字段兼容
- [ ] 第10次捕获后 paywall 触发，Checkout 完成后立即解锁
- [ ] 用户注册后 5 分钟内完成首次捕获 Aha Moment（人工测试）

---

## 10. Delivery Plan

### M1 — 数据层 + AI 捕获（Day 1 上午，约 5 小时）

**创建/修改文件：**
- `prisma/schema.prisma` — contacts / deals / captures / tasks / activity_logs 表
- `lib/capture-extractor.ts` — OpenAI 调用，强制 JSON 输出，提炼6个字段
- `app/api/captures/route.ts` — 捕获 API（提炼 + 保存）
- `app/capture/page.tsx` — 捕获主页（文本输入 + 结构化结果展示）
- `components/CaptureResult.tsx` — 可编辑的结构化字段卡片

**Exit Criteria：**
- POST /api/captures 返回正确的结构化 JSON（5条测试备注，4条 next_action 提炼准确）
- 捕获结果 UI 正确渲染，字段可编辑后保存

### M2 — Gmail 集成 + 联系人管理 + 任务（Day 1 下午 - Day 2 上午，约 8 小时）

**创建/修改文件：**
- `lib/gmail.ts` — Google OAuth + Gmail API 封装（search + fetch emails）
- `app/api/gmail/route.ts` — 邮件搜索 API
- `app/contacts/page.tsx` — 联系人列表 + CRUD
- `app/contacts/[id]/page.tsx` — 联系人详情 + 活动时间线
- `app/tasks/page.tsx` — 任务列表（按到期日排序）
- `app/onboarding/page.tsx` — 2步引导 + 示例备注
- `app/api/cron/daily-digest/route.ts` — 摘要邮件调度

**Exit Criteria：**
- Gmail OAuth 完成后，搜索联系人邮箱返回最近5封邮件
- 捕获结果绑定联系人后，联系人页活动时间线正确显示
- 触发 /api/cron/daily-digest 发出格式正确的摘要邮件

### M3 — 计费 + 导出 + 上线（Day 2 下午，约 5 小时）

**创建/修改文件：**
- `lib/stripe.ts` — Checkout Session + Webhook
- `app/api/billing/route.ts` — 计费 API
- `middleware.ts` — 第10次捕获 paywall 检查
- `lib/csv-exporter.ts` — 联系人 + 任务 CSV 格式化（FUB 兼容）
- `app/settings/export/page.tsx` — 导出页
- vercel.json — Cron 配置

**Exit Criteria：**
- 导出 CSV 可成功导入 Follow Up Boss（字段对应正确）
- 第10次捕获后 paywall 触发，Checkout 完成后立即解锁
- Vercel Cron 每日 UTC 08:00 触发摘要邮件
- 新用户 Aha Moment < 5 分钟（人工验证）

---

## 11. Risks & Mitigations

| 风险 | 缓解 |
|------|------|
| Gmail OAuth 授权门槛高（Google 审核 sensitive scope） | 先以 read-only 邮件作为辅助功能；MVP 核心功能（文本粘贴提炼）不依赖 Gmail |
| AI 提炼 due_date 不准确（时间表达多样） | due_date 允许留空或设为"待确认"，不强制推断；用户可手动编辑 |
| 竞品（Sisu / Follow Up Boss）已有类似功能 | 主打"零 CRM 迁移"——作为现有 CRM 的 hygiene 层，不替代而是增强 |
| 每日摘要邮件被忽略，用户留存低 | 摘要邮件内容高度聚焦（今日到期任务≤5条），不发通用报告 |

---

## 12. Chargeability Rationale

**免费版价值：** 前10次捕获让用户体验到"粘贴备注 → 结构化任务"的自动化，建立日常工作流依赖。

**付费版扩展：** 解锁无限捕获、团队5坐席、Gmail 完整集成、活动历史超过30天、CSV 批量导出。

**付费墙时机：** 第10次捕获——用户已把产品嵌入日常流程，不想失去已积累的联系人/任务数据，$29/月是"不再手动整理备注"的直接替代成本。

**一句话：** 经纪人每周花10+小时在行政上，$29/月能省回其中2-3小时，ROI 极其清晰。
