Iemail AgentMail:面向 AI Agent 的邮件操作系统战略方案
将 Iemail 从人工/传统营销邮件系统升级为 Agent-first 邮件操作系统:复用现有 MA 发送底座,新增 Agent 身份、权限治理、收发线程、事件反馈、策略编排、人机协同和开发者接口。
0. 结论摘要
AgentMail 是面向 AI Agent 的邮件操作系统控制面:不是重建 MTA,而是在 MA 发送底座上补齐 Agent 身份、权限治理、收发线程、事件反馈、策略编排、人机协同和开发者接口。
随着 AI Agent 从“辅助写作”走向“自主执行任务”,邮件会重新成为 Agent 与人、系统、企业流程之间的关键协议层。Iemail 不应该只把现有邮件系统加一个“AI 写邮件”按钮,而应该升级为:
AgentMail:面向 AI Agent 的邮件操作系统。它不是新的 MTA,也不是另一个普通 ESP,而是在现有 MA 发送底座之上,新增 Agent 身份、权限治理、收发线程、事件反馈、策略编排、人机协同和开发者接口的控制面。
本方案建议:
- 保留现有 MA 系统作为 Mail Data Plane:3 个 C 段 IP、MTA、队列、真实投递、基础回执继续由 MA 承担,不重建发送网络。
- 把 Iemail 改造成 AgentMail Control Plane:负责 Agent 身份、域名/IP 资源编排、策略、审批、审计、事件、收件、线程和 API/MCP/SDK。
- 面向三类一等用户设计:开发者通过 API/MCP/SDK 接入;运营通过 Playbook 配置 Agent 行为;管理员治理域名、权限、额度、IP 池、安全和审计。
- 架构按全场景底座设计,商业打样先从高 ROI 场景切入:第一打样建议选择“Agent 外联 + 回复闭环 + 人工接管”或“共享收件箱自动化”,但底层事件模型、身份模型和权限模型一次设计到位。
- 差异化不在模型,而在可治理的执行系统:DMTX/Iemail 的优势是已有发送资源和营销系统沉淀,应把“发送网络可控性 + Agent 决策可解释性 + 企业治理”做成壁垒。
1. 需求概述
1.1 客户原始需求
用户原话:
随着 AI 的发展,越来越多的 Agent 使用 email 发送邮件,但是由于发送量大的话,需要很多 IP,不然会被 block。鉴于这种环境,我想将这个 Iemail 项目转为为 AI-Agent 设计的 AgentMail。请你从未来行业发展角度,如何做成 100% 为 Agent 设计的 email 系统。怎么做,做哪些工作。具体发送邮件我们有一套 MA 系统,有 3 个 C 的 IP,发送能力没问题,主要问题是 Iemail 这个系统如何改造。
已澄清选择:
| 维度 | 选择 |
|---|---|
| 产品定位 | 对外平台:面向企业客户、AI 应用和 Agent 开发者的 SaaS/API 邮件基础设施 |
| MVP 场景 | 全场景底座:先设计统一 Agent Email OS,后续分场景落地 |
| 首批用户 | 开发者、运营人员、管理员三类都作为一等用户 |
| 交付节奏 | 先出战略愿景,不急于绑定具体交付周期 |
1.2 核心诉求提炼
传统 Iemail 的核心对象是“人创建邮件任务,系统发送”。AgentMail 的核心对象要变为“Agent 在受治理的身份、权限和策略下,持续收发、理解、决策、执行和交接邮件任务”。
这意味着 Iemail 的改造重点不是扩 IP,也不是简单接一个 LLM,而是重建控制面:
- 从 Campaign / Task first 转为 Agent / Conversation / Event first。
- 从 单向发送 转为 出站 + 入站 + 线程 + 反馈闭环。
- 从 人工配置自动化 转为 规则 + 模型 + 策略 + 人工接管的可治理自治。
- 从 内部系统能力 转为 对外 API/MCP/SDK 平台能力。
1.3 验收标准
本战略方案完成后,应能用于产品和研发评审,至少满足以下可验收条件:
- 明确 AgentMail 的行业趋势判断、产品定位和 DMTX 差异化策略。
- 明确 Iemail 与 MA 系统的边界:哪些仍由 MA 承担,哪些由 AgentMail 新增。
- 给出开发者、运营、管理员三类用户的核心操作路径,80% 场景 ≤ 3 步。
- 给出 Agent-first 的逻辑数据模型,字段级别说明关键实体。
- 给出 REST API、Webhook、MCP Tool、SDK 的接口边界和示例。
- 给出权限、安全、审计、Prompt Injection、滥用治理、合规的控制策略。
- 给出阶段化路线图和工作量评估。
- 方案质量自检 ≥ 20 分。
2. 竞品方案调研
2.1 竞品实现对比
| 竞品 / 类型 | 实现方式 | 优点 | 缺点 | DMTX 可借鉴之处 |
|---|---|---|---|---|
| HubSpot Breeze Customer Agent / Prospecting Agent | Customer Agent 可基于企业批准内容训练,部署到 email、help desk、inbox 等渠道;低置信度、客户要求或预设触发器时转人工。Prospecting Agent 会研究账户/联系人、生成个性化外联草稿,并提供人工 review 或 autonomous 模式。参考:HubSpot Customer Agent、Customer Agent setup、Prospecting Agent。 | 从知识、渠道、人工接管到自治外联形成闭环;符合企业采用 AI 的渐进路径。 | 更偏 HubSpot CRM 生态,外部开发者可组合空间有限;邮件基础设施控制不一定透明。 | AgentMail 不应只做 AI 文案,而要把知识源、执行策略、人工接管、审计和多渠道会话放进同一控制面。 |
| ActiveCampaign Predictive Sending | AI 根据联系人历史打开/互动行为预测 24 小时内最佳发送时机;数据不足时随机化或默认回退;不建议用于强时效邮件。参考:ActiveCampaign Predictive Sending。 | 证明发送时机优化会成为营销自动化基础能力。 | 依赖 open/click 等噪声数据;强时效邮件不适用;自动化流程可能先于实际发送继续执行。 | AgentMail 应把发送优化做成可解释策略引擎,明确预测置信度、适用边界和回退策略。 |
| Twilio SendGrid / API Email | Mail Send API 负责出站;Event Webhook 回传 processed、delivered、bounced、open、click 等事件;Inbound Parse 通过 MX 接收入站邮件并 POST 到业务 URL。参考:Event Webhook、Inbound Parse。 | 标准 API/Webhook 模型成熟,便于开发者接入和事件闭环。 | 主要是 ESP/API 基础设施,Agent 编排、治理和人机协同不是核心。 | AgentMail 的底座必须事件驱动,并支持出站 API、入站解析、幂等 Webhook 和事件重放。 |
| Resend / API-first Email | REST API 发送邮件;域名验证、SPF/DKIM;Webhook 覆盖 sent、delivered、opened、clicked、bounced、failed、received、domain、contact;Webhook 使用签名验证。参考:Resend API、Webhooks、Receiving。 | 开发者体验清晰,域名、Webhooks、接收、Broadcast API 产品化程度高。 | 更像现代化 ESP,Agent 身份、策略、安全和运营工作台不是主轴。 | Iemail 对外平台化时,API、签名 Webhook、域名验证、接收事件必须做成标准能力。 |
| Front / Shared Inbox + AI | Shared inbox 通过 WHEN/IF/THEN 规则做路由;AI Topics 分类来信原因;Autopilot Playbooks 可回复、收集信息、调用 API、评论、移动会话、升级。参考:Front rules、Front Topics、Autopilot Playbooks。 | 把规则、AI 分类、共享收件箱、人工协作结合得较好。 | 更偏客服/运营收件箱,不是邮件投递基础设施。 | AgentMail 应提供可视化 Playbook,支持规则、语义分类、API 调用、审批、回退和人工接管。 |
| Gmail / Workspace MCP | Google Workspace MCP 让 AI 客户端通过 OAuth scope 搜索邮件、读取线程、创建草稿、打标签;官方强调最小权限、可信 MCP 客户端、用户审查动作和间接 Prompt Injection 风险。参考:Gmail MCP、Gmail MCP Reference、Workspace MCP。 | 邮箱能力正在标准化为 Agent 工具;安全治理被摆到核心位置。 | 面向个人/Workspace 邮箱,不是营销/大规模投递场景。 | AgentMail 要同时“被 Agent 调用”和“治理 Agent”,MCP、权限、审计和邮件内容安全必须是内建能力。 |
2.2 行业最佳实践总结
- API-first 正在升级为 Agent-first:REST API 和 Webhook 仍是基础,但 Agent runtime 需要 MCP/Tool API、权限边界、动作解释和安全确认。
- 出站与入站必须同级设计:Agent 要闭环执行,就不能只发邮件;必须理解回复、线程、附件、退信、自动回复、投诉和人工接管。
- 事件从报表数据升级为 Agent 反馈信号:delivered、bounce、reply、complaint、takeover、conversion 都要进入策略回路,而不是只出现在统计页。
- 自治必须分级:suggest、review-required、autonomous 三档比“一键全自动”更符合企业采用路径。
- 提示注入和滥用治理会成为邮件基础设施问题:邮件正文、附件、网页链接都可能成为 Agent 的恶意指令入口。
- 开放平台需要默认安全基线:域名验证、SPF、DKIM、DMARC、Webhook 签名、API token 轮换、审计导出、权限最小化都是采购门槛。
2.3 DMTX 差异化策略
DMTX/Iemail 不要与 SendGrid、Resend 正面竞争“谁的 API 更简单”,也不要与 HubSpot 竞争“谁的 CRM 更全”。更合理的差异化是:
基于现有 MA 发送网络与 3 个 C 段 IP,把 Iemail 升级成可治理的 Agent Email OS:既能让 Agent 高效执行,又能让企业知道 Agent 为什么执行、如何执行、出了问题如何回放和接管。
具体差异化:
- 发送资源池可控:把现有 IP、域名、Return-Path、追踪域、退信处理抽象为可编排资源,而不是隐藏在黑盒 ESP 后面。
- Agent 身份一等公民:每个 Agent 有独立身份、权限、额度、品牌语气、知识源、审批策略、审计链。
- Agent 行为可运营:运营人员配置 Playbook,而不是写 prompt;可灰度、可仿真、可回滚。
- 企业治理可交付:管理员可以看到租户、域名、IP 池、策略、异常、审计、成本、合规证据。
- 对外平台可嵌入:API/MCP/SDK 让客户自己的 Agent、CRM、工单、订单、风控系统都能使用 Iemail 的邮件能力。
3. 用户体验设计
3.1 信息架构
AgentMail 控制台建议拆成 5 个一级入口:
| 一级入口 | 面向角色 | 核心对象 |
|---|---|---|
| Agent 工作台 | 运营 / 管理员 | Agent、身份、知识源、自治级别、运行状态 |
| 邮件线程 | 运营 | Thread、收件、回复、人工接管、标签、任务 |
| Playbook 编排 | 运营 / 开发者 | WHEN/IF/THEN、语义分类、审批、API 调用、回退 |
| 开发者中心 | 开发者 | API key、MCP、SDK、Webhook、事件日志、沙箱 |
| 治理中心 | 管理员 | 租户、域名、IP 池、权限、额度、审计、合规、告警 |
3.2 三类用户核心操作流程
开发者:让一个 Agent 接入 AgentMail
步骤 1:创建应用与 Agent 身份
→ 选择默认权限包、生成 API key / OAuth client / MCP endpoint
步骤 2:配置收发能力
→ 选择发送域名、Webhook 地址、事件类型、沙箱/生产环境
步骤 3:调用 SDK/MCP 测试
→ 创建 draft、发送测试邮件、接收事件、查看 agent_run_id 审计链
80% 开发者接入场景应在 3 步内完成。系统默认提供 Postman collection、OpenAPI、MCP 配置片段和 SDK 示例。
运营人员:配置一个 Agent 邮件场景
步骤 1:选择场景模板
→ 外联跟进 / 客服回复 / 交易异常 / 活动召回 / 线索培育
步骤 2:确认 Playbook 默认策略
→ 受众、模板、知识源、发送窗口、人工审批、失败回退
步骤 3:影子运行并发布
→ 用历史事件模拟,确认风险分数与样例邮件,通过后灰度上线
运营不应该面对“空白 prompt 编辑器”。默认从场景模板开始,配置项按“必须改 / 可选改 / 高级设置”分层。
管理员:治理企业级 AgentMail
步骤 1:完成身份与资源准备
→ 验证域名、绑定 IP 池、配置 SPF/DKIM/DMARC、设置租户配额
步骤 2:设置组织级护栏
→ 权限包、频控、黑白名单、审批规则、敏感内容策略、数据保留
步骤 3:监控与回滚
→ 查看送达健康、Agent 风险、异常告警,一键暂停 Agent / Playbook / 资源池
管理员首页不是普通报表,而是“风险驾驶舱”:哪些 Agent 正在自治,哪些域名/IP 健康下降,哪些策略触发了人工接管。
3.3 默认值策略
| 配置项 | 默认值 | 原因 |
|---|---|---|
| Agent 自治级别 | review-required |
对外平台初期避免误发,允许客户逐步升级到 autonomous。 |
| 高风险动作 | 必须人工审批 | 批量发送、自动回复外部客户、跨域切流、调用外部 API 默认需要审批。 |
| 单 Agent 日发送上限 | 新 Agent 100 封/日,随信誉提升自动扩容 | 防止新 Agent 或被盗 key 污染 IP/域名信誉。 |
| 发送窗口 | 收件人本地时间 09:00-18:00 | 默认符合 B2B 场景,客户可按地区调整。 |
| 静默期 | 同联系人 24 小时内最多 1 次营销触达 | 降低投诉和退订风险。 |
| Webhook 重试 | 指数退避,最多 24 小时,失败进 DLQ | 兼容外部系统短时不可用。 |
| 事件保留 | 热数据 90 天,审计证据 1 年,可配置归档 | 兼顾查询性能、合规和成本。 |
| Prompt Injection 风险 | 中风险转人工,高风险阻断 | 邮件内容默认视为不可信输入。 |
| Open/Click 权重 | 低于 Reply / Conversion / Complaint | 避免 Apple MPP、扫描器和 bot click 导致策略误判。 |
3.4 空状态和首次使用引导
| 页面 | 空状态 | 引导动作 |
|---|---|---|
| Agent 工作台 | “还没有 Agent。先创建一个只读 Agent,体验收件搜索与草稿生成。” | 创建示例 Agent、导入示例知识源、进入沙箱。 |
| 邮件线程 | “还没有入站邮件。配置接收域名或使用测试线程。” | 复制 MX 配置、发送测试邮件、查看解析结果。 |
| Playbook 编排 | “从模板开始,而不是从空白流程开始。” | 推荐 5 个模板:外联跟进、客户回复、退信处理、线索培育、人工升级。 |
| 开发者中心 | “用 5 分钟完成第一次 AgentMail API 调用。” | 显示 API key、SDK 示例、Webhook 测试器、MCP JSON。 |
| 治理中心 | “上线前需要完成 4 个安全基线。” | 域名认证、权限包、审批策略、告警联系人。 |
3.5 批量操作与撤销/回退
- 批量启停 Agent、Playbook、Webhook、API key 必须支持预览影响范围。
- 批量发送前展示样本邮件、受众数量、风险评分、预计 IP/域名资源、退订/投诉阈值。
- Playbook 发布采用版本化:
draft → shadow → canary → active → paused → archived。 - 一键回滚只回滚控制面策略,不回滚已发出的邮件;已发邮件通过补救 Playbook(解释邮件、暂停后续、标记黑名单)处理。
- 所有写操作必须产生
audit_log,可按agent_run_id和policy_id回放。
3.6 便捷性自检
| 检查项 | 结论 | 设计说明 |
|---|---|---|
| 80% 场景下操作步骤 ≤ 3 步 | 通过 | 开发者、运营、管理员三类核心路径均控制在 3 步:创建/配置/验证,选模板/确认策略/影子发布,资源准备/组织护栏/监控回滚。 |
| 有合理默认值,减少用户决策负担 | 通过 | 默认 review-required、新 Agent 100 封/日、工作时间发送窗口、24 小时静默期、Webhook 指数退避、热数据 90 天。 |
| 批量操作场景已考虑 | 通过 | 批量启停、批量发送、批量发布 Playbook 都要求影响预览、风险评分、受众数量、域名/IP 资源预估和审计记录。 |
| 移动端适配已考虑 | 部分适用 | AgentMail 的高风险配置、审批和治理优先面向桌面端;移动端仅建议支持审批处理、告警查看、暂停 Agent/Playbook 等轻操作,不承载复杂 FlowBuilder。 |
| 新用户引导已设计 | 通过 | Agent 工作台、邮件线程、Playbook、开发者中心、治理中心均设计空状态与首次使用引导。 |
| 反馈机制已设计 | 通过 | 发送、审批、影子运行、Webhook 测试、策略发布都应展示 loading、成功、失败、阻断原因和下一步操作。 |
4. 技术方案
4.1 方案概述
AgentMail 采用 控制面 / 数据面分离:
- Mail Data Plane(现有 MA):负责 SMTP/API 投递、IP 池、MTA 队列、底层退信、基础送达事件、追踪域和发送能力。
- AgentMail Control Plane(Iemail 改造重点):负责 Agent 身份、权限、策略、Playbook、收发线程、事件总线、审批、审计、安全、对外 API/MCP/SDK。
4.2 Iemail 与 MA 系统边界
| 能力 | AgentMail / Iemail Control Plane | MA Sending Data Plane |
|---|---|---|
| 租户、项目、Agent 身份 | 负责 | 不负责 |
| API/MCP/SDK | 负责 | 仅提供内部发送适配接口 |
| 邮件任务决策 | 负责策略、审批、风险判断 | 按发送命令执行 |
| 实际投递 | 不直接实现 MTA | 负责 |
| IP 池与域名资源 | 负责抽象、分配、健康评分、隔离策略 | 负责真实 IP/MTA 配置与投递 |
| 出站事件 | 统一建模、对外 Webhook、审计 | 提供原始投递/退信/投诉事件 |
| 入站收件 | AgentMail 新增 Inbound Parse / Thread Service | 可提供 MX/接收适配或旁路接入 |
| 人工接管 | 负责工作台、审批、队列 | 不负责 |
| 安全/合规 | 负责权限、审计、策略、数据保留 | 负责底层发送安全配置 |
核心原则:MA 是发动机,AgentMail 是驾驶舱、导航、刹车和黑匣子。
4.3 核心能力分层
| 层级 | 模块 | 说明 |
|---|---|---|
| L1 Identity & Deliverability | Tenant、Agent Identity、Domain、Resource Pool | 建立“哪个 Agent 代表哪个品牌,用哪条域名/IP 路径发出”的身份链。 |
| L2 Mail Runtime | Send、Draft、Receive、Thread、Attachment | 提供出站、入站、草稿、线程、附件元数据与回复关联能力。 |
| L3 Event Mesh | Event Normalize、Webhook、Replay、DLQ | 把 MA、入站、Agent、人工动作统一成事件流。 |
| L4 Agent Orchestration | Playbook、Policy、Decision、Approval、Safety | 让 Agent 在规则、模型、审批和回退之间可治理执行。 |
| L5 Ops & Admin Console | Dashboard、Audit、Risk、Billing、Trust & Safety | 让运营和管理员能看见、解释、暂停、回滚和结算。 |
4.4 数据模型变更(逻辑模型)
说明:以下为 AgentMail 逻辑模型,具体落地可按现有 Iemail 技术栈映射到 MySQL、MongoDB 或混合存储。事件与审计建议采用 append-only 设计,线程和消息可按租户分区。
4.4.1 租户与 Agent 身份
| 表 / 集合 | 字段 | 类型 | 说明 |
|---|---|---|---|
am_workspace |
id |
string | 工作区 ID |
tenant_id |
string | 租户 ID | |
name |
string | 工作区名称 | |
plan |
string | free / pro / enterprise / private | |
default_region |
string | 数据驻留区域 | |
status |
string | active / suspended / archived | |
created_at, updated_at |
datetime | 创建与更新时间 | |
am_agent_profile |
id |
string | Agent ID |
workspace_id |
string | 所属工作区 | |
display_name |
string | Agent 展示名 | |
purpose |
string | outbound_sales / support_reply / transactional_ops / custom | |
autonomy_level |
string | suggest / review_required / autonomous | |
brand_voice_id |
string | 品牌语气配置 | |
knowledge_scope_ids |
array | 可用知识源范围 | |
permission_profile_id |
string | 权限包 | |
daily_send_limit |
int | 日发送上限 | |
risk_threshold |
decimal | 风险阈值 | |
status |
string | draft / active / paused / archived | |
am_agent_identity |
id |
string | Agent 发件身份 ID |
agent_id |
string | 对应 Agent | |
from_name |
string | 发件人名称 | |
from_email |
string | 发件邮箱 | |
reply_to |
string | 回复地址 | |
domain_id |
string | 发送域名 | |
resource_pool_id |
string | 默认发送资源池 | |
signature_template_id |
string | 邮件签名 | |
identity_status |
string | pending / verified / disabled |
4.4.2 域名与发送资源池
| 表 / 集合 | 字段 | 类型 | 说明 |
|---|---|---|---|
am_sending_domain |
id |
string | 域名 ID |
workspace_id |
string | 所属工作区 | |
domain |
string | 发送域名 | |
dkim_selector |
string | DKIM selector | |
spf_status |
string | not_started / pending / verified / failed | |
dkim_status |
string | not_started / pending / verified / failed | |
dmarc_policy |
string | none / quarantine / reject | |
tracking_domain |
string | 追踪域名 | |
return_path_domain |
string | Return-Path 域名 | |
health_score |
int | 0-100 健康分 | |
am_resource_pool |
id |
string | 资源池 ID |
name |
string | 资源池名称 | |
pool_type |
string | shared / dedicated / warmup / quarantine | |
ip_cidr_group |
string | 对应 C 段或 IP 组 | |
ma_pool_ref |
string | MA 内部资源池引用 | |
tenant_isolation_level |
string | shared / tenant / agent | |
daily_capacity |
int | 日容量 | |
health_score |
int | 资源池健康分 | |
status |
string | active / degraded / paused |
4.4.3 邮件、线程与事件
| 表 / 集合 | 字段 | 类型 | 说明 |
|---|---|---|---|
am_mail_thread |
id |
string | 线程 ID |
workspace_id |
string | 工作区 | |
agent_id |
string | 归属 Agent,可为空 | |
external_contact_id |
string | 外部联系人 | |
subject_norm |
string | 归一化主题 | |
state |
string | open / waiting_human / waiting_agent / resolved / archived | |
last_message_at |
datetime | 最后一封邮件时间 | |
risk_level |
string | low / medium / high / blocked | |
labels |
array | 标签 | |
am_mail_message |
id |
string | 邮件 ID |
thread_id |
string | 线程 ID | |
direction |
string | outbound / inbound | |
message_type |
string | transactional / marketing / conversation / system | |
from, to, cc, bcc |
json | 地址对象 | |
subject |
string | 主题 | |
body_text_ref, body_html_ref |
string | 正文存储引用 | |
template_id |
string | 模板 ID | |
agent_run_id |
string | Agent 执行 ID | |
ma_message_ref |
string | MA 消息引用 | |
status |
string | draft / queued / sent / delivered / bounced / failed / received | |
idempotency_key |
string | 幂等键 | |
am_mail_event |
id |
string | 事件 ID |
workspace_id |
string | 工作区 | |
message_id |
string | 邮件 ID | |
thread_id |
string | 线程 ID | |
event_type |
string | queued / sent / delivered / opened / clicked / bounced / complained / replied / received / takeover / policy_blocked | |
source |
string | ma / inbound / webhook / agent / human | |
payload |
json | 原始事件与标准化字段 | |
event_time |
datetime | 事件发生时间 | |
ingested_at |
datetime | 摄取时间 | |
dedupe_key |
string | 去重键 |
4.4.4 Agent 执行、策略、审批与审计
| 表 / 集合 | 字段 | 类型 | 说明 |
|---|---|---|---|
am_playbook |
id |
string | Playbook ID |
workspace_id |
string | 工作区 | |
name |
string | 名称 | |
scenario |
string | outbound_followup / support_reply / bounce_recovery / custom | |
version |
int | 版本号 | |
status |
string | draft / shadow / canary / active / paused / archived | |
definition_json |
json | WHEN/IF/THEN、节点、回退、审批定义 | |
am_policy_rule |
id |
string | 策略 ID |
scope_type |
string | org / workspace / agent / playbook | |
scope_id |
string | 作用域 ID | |
rule_type |
string | rate_limit / quiet_hours / approval / safety / deliverability / compliance | |
condition_json |
json | 条件 | |
action_json |
json | 动作 | |
priority |
int | 优先级 | |
enabled |
boolean | 是否启用 | |
am_agent_run |
id |
string | Agent run ID |
agent_id |
string | Agent ID | |
trigger_event_id |
string | 触发事件 | |
playbook_id, playbook_version |
string/int | 使用的 Playbook | |
model_provider, model_name, model_version |
string | 模型信息 | |
prompt_hash |
string | Prompt hash,不直接暴露敏感内容 | |
decision_json |
json | 决策摘要、置信度、风险分 | |
tool_calls_json |
json | 工具调用记录 | |
status |
string | running / waiting_approval / completed / failed / blocked | |
am_approval_task |
id |
string | 审批任务 ID |
agent_run_id |
string | 对应执行 | |
action_type |
string | send / reply / call_api / switch_pool / bulk_update | |
preview_json |
json | 审批预览 | |
approver_id |
string | 审批人 | |
decision |
string | approved / rejected / expired | |
decision_reason |
string | 原因 | |
am_audit_log |
id |
string | 审计 ID |
actor_type |
string | user / agent / system / api_key | |
actor_id |
string | 操作者 | |
action |
string | 动作 | |
resource_type, resource_id |
string | 资源 | |
before_json, after_json |
json | 变更前后 | |
ip, user_agent |
string | 请求来源 | |
created_at |
datetime | 时间 |
4.5 接口设计
4.5.1 REST API
| 方法 | 端点 | 说明 | 权限 |
|---|---|---|---|
POST |
/v1/agents |
创建 Agent | agent.manage |
GET |
/v1/agents/{agentId} |
获取 Agent 配置 | agent.read |
POST |
/v1/agents/{agentId}/identities |
绑定发件身份 | identity.manage |
POST |
/v1/messages/drafts |
创建草稿 | mail.draft |
POST |
/v1/messages/send |
发送邮件 | mail.send |
POST |
/v1/messages/simulate |
策略仿真,不真实发送 | mail.simulate |
GET |
/v1/threads |
查询线程 | thread.read |
GET |
/v1/threads/{threadId} |
读取线程详情 | thread.read |
POST |
/v1/threads/{threadId}/takeover |
人工接管 | thread.takeover |
POST |
/v1/playbooks |
创建 Playbook | playbook.manage |
POST |
/v1/playbooks/{id}/shadow-run |
历史事件回放仿真 | playbook.simulate |
POST |
/v1/webhooks |
创建 Webhook | webhook.manage |
GET |
/v1/events |
查询事件 | event.read |
POST |
/v1/approvals/{id}/decision |
审批通过/拒绝 | approval.decide |
GET |
/v1/audit-logs |
查询审计 | audit.read |
发送请求示例:
POST /v1/messages/send
{
"agentId": "agt_123",
"identityId": "idn_456",
"to": [{ "email": "buyer@example.com", "name": "Jane" }],
"messageType": "conversation",
"subject": "跟进您对 DMTX 的咨询",
"html": "<p>...</p>",
"text": "...",
"threadPolicy": "auto_attach_or_create",
"idempotencyKey": "customer-789-followup-001",
"constraints": {
"autonomyLevel": "review_required",
"sendWindow": "recipient_business_hours",
"maxDelayMinutes": 1440
},
"metadata": {
"crmContactId": "crm_789",
"campaignId": "cmp_001"
}
}
响应示例:
{
"success": true,
"data": {
"messageId": "msg_001",
"threadId": "thr_001",
"agentRunId": "run_001",
"status": "waiting_approval",
"approvalTaskId": "apv_001",
"policyDecisions": [
{ "policyId": "pol_rate_001", "result": "pass" },
{ "policyId": "pol_review_001", "result": "requires_approval" }
]
},
"error": null
}
4.5.2 Webhook 事件
Webhook 必须签名,推荐头部:
AgentMail-Webhook-Id: evt_123
AgentMail-Timestamp: 1780560000
AgentMail-Signature: v1,base64(hmac_sha256(secret, timestamp + "." + raw_body))
事件示例:
{
"id": "evt_001",
"type": "mail.delivered",
"createdAt": "2026-06-04T10:30:00Z",
"workspaceId": "wks_001",
"data": {
"messageId": "msg_001",
"threadId": "thr_001",
"agentId": "agt_123",
"maMessageRef": "ma_999",
"recipient": "buyer@example.com",
"delivery": {
"domainId": "dom_001",
"resourcePoolId": "pool_c_01",
"smtpResponse": "250 2.0.0 OK"
}
}
}
关键事件类型:
mail.queued,mail.sent,mail.delivered,mail.failed,mail.bounced,mail.complainedmail.opened,mail.clicked,mail.replied,mail.receivedthread.created,thread.updated,thread.takeover_requested,thread.resolvedagent.run.started,agent.run.waiting_approval,agent.run.completed,agent.run.blockedpolicy.blocked,policy.rate_limited,domain.verified,resource_pool.degraded
4.5.3 MCP Tool 设计
| Tool | 说明 | 最小权限 |
|---|---|---|
agentmail.search_threads |
搜索线程、过滤标签/状态/联系人 | thread.read_metadata |
agentmail.get_thread |
读取线程消息与事件摘要 | thread.read |
agentmail.create_draft |
创建草稿,不发送 | mail.draft |
agentmail.send_message |
发送或提交审批 | mail.send |
agentmail.label_thread |
打标签、移动状态 | thread.label |
agentmail.run_playbook |
对事件或线程执行 Playbook | playbook.run |
agentmail.request_approval |
创建人工审批任务 | approval.create |
agentmail.simulate_policy |
策略仿真 | policy.simulate |
agentmail.get_delivery_health |
查询域名/IP/资源池健康 | deliverability.read |
MCP 默认安全策略:
- 工具描述不暴露内部凭证、系统提示、资源池细节。
- 邮件正文、附件、网页内容全部标记为 untrusted content。
send_message、call_external_api、switch_resource_pool等高风险工具默认review-required。- 每次工具调用记录
agent_run_id、tool_call_id、参数摘要、权限包、策略结果。
4.5.4 SDK 形态
首批 SDK 建议:TypeScript、Python、Java。
const client = new AgentMail({ apiKey: process.env.AGENTMAIL_API_KEY })
const result = await client.messages.send({
agentId: 'agt_123',
identityId: 'idn_456',
to: [{ email: 'buyer@example.com' }],
subject: '跟进您的咨询',
html: '<p>...</p>',
idempotencyKey: 'crm_789_followup_001',
})
console.log(result.agentRunId, result.status)
4.6 前端实现
页面与组件
| 页面 | 关键组件 | 说明 |
|---|---|---|
| Agent 工作台 | AgentList、AgentProfileDrawer、AutonomyBadge、RiskPanel | 管理 Agent、身份、知识源、自治级别。 |
| 邮件线程 | ThreadList、ThreadTimeline、MessageViewer、HumanTakeoverBar | 查看收发线程、回复、事件、接管。 |
| Playbook 编排 | PlaybookTemplateGallery、FlowBuilder、PolicyNode、ShadowRunReport | 用模板和节点配置 Agent 行为。 |
| 开发者中心 | ApiKeyManager、WebhookTester、McpConfigSnippet、SdkQuickstart | 开发者 5 分钟接入。 |
| 治理中心 | DomainSetupWizard、ResourcePoolHealth、PolicyMatrix、AuditExplorer | 管理域名、IP 池、权限、审计。 |
状态管理
- Server state:优先复用项目现有请求封装;若后续前端升级,可引入 TanStack Query 类似模型。
- URL state:线程筛选、事件筛选、审计筛选、Playbook 状态放入 URL,便于分享。
- 客户端状态:FlowBuilder 编辑态、审批抽屉、测试器输入保留在本地状态。
关键交互
- 所有高风险按钮必须有“影响预览”:预计发送量、受众、域名/IP、风险策略、可回滚范围。
- 影子运行报告要展示“Agent 本会做什么”,包括草稿样例、命中策略、阻断原因和人工接管原因。
- 审计页支持按
message_id、thread_id、agent_run_id、policy_id四种视角追踪。
4.7 后端实现
核心服务
| 服务 | 责任 |
|---|---|
| Agent Identity Service | Agent、发件身份、权限包、知识范围、自治级别。 |
| Mail Runtime Service | 草稿、发送、线程关联、幂等、MA Adapter 调用。 |
| Inbound Thread Service | MX/Inbound Parse、回复解析、线程归并、附件元数据、自动回复识别。 |
| Event Mesh Service | 标准化事件、Webhook 投递、重试、DLQ、回放。 |
| Policy Engine | 频控、静默期、审批、送达健康、合规、风险策略。 |
| Playbook Engine | WHEN/IF/THEN 编排、语义分类、API 调用、回退、版本管理。 |
| Safety Service | Prompt Injection 检测、内容风险、敏感信息、滥用检测。 |
| Approval Service | 审批任务、审批队列、超时处理、人工接管。 |
| Audit Service | append-only 审计、查询、导出。 |
| Deliverability Control Service | 域名/IP 池健康评分、warming、异常切流建议。 |
异步处理
mail.send.requested:发送请求进入策略决策。policy.decision.created:策略结果进入审批或 MA Adapter。ma.delivery.event.received:MA 原始事件标准化后写入am_mail_event。inbound.message.received:入站邮件解析、归线程、触发 Playbook。webhook.delivery.requested:对外 Webhook 投递,失败重试。agent.run.requested:触发 Agent runtime,输出草稿、动作或审批请求。
第三方与内部依赖
| 依赖 | 用途 | 策略 |
|---|---|---|
| 现有 MA 系统 | 实际投递、IP/MTA、基础事件 | 通过 MA Adapter 解耦,禁止业务直接调用底层 MTA。 |
| LLM Provider | 文案、分类、风险判断、回复建议 | 接入模型网关,记录模型版本与 prompt hash,支持回退规则。 |
| CRM / DMTX 客户数据 | 联系人、受众、转化、业务上下文 | 通过最小权限连接器接入,敏感字段脱敏。 |
| 对象存储 | 邮件正文、附件、审计归档 | 加密存储,按租户隔离。 |
| 消息队列 | 事件总线、DLQ、重放 | 确保幂等、顺序边界和重试策略。 |
5. 安全、合规与信任治理
5.1 权限模型
权限必须按动作拆分,不允许“Agent 拥有邮箱全权限”。所有 REST API、MCP Tool、Webhook 管理和控制台写操作必须引用同一套 canonical permission catalog,禁止各端自行发明 scope 名称。
| 权限 | 适用接口 | 说明 |
|---|---|---|
agent.read |
REST / Console | 读取 Agent 配置和状态。 |
agent.manage |
REST / Console | 创建、更新、暂停、归档 Agent。 |
identity.manage |
REST / Console | 管理 Agent 发件身份、from/reply-to、签名和默认发送域名。 |
mail.read_metadata |
REST / MCP | 读取邮件主题、参与人、时间、状态,不含正文。 |
mail.read_body |
REST / MCP | 读取邮件正文和安全摘要。 |
mail.draft |
REST / MCP | 创建草稿,不真实发送。 |
mail.send |
REST / MCP | 发送邮件或提交发送审批。 |
mail.simulate |
REST / Console | 执行策略仿真,不真实发送。 |
thread.read_metadata |
MCP / Console | 搜索线程、读取标签/状态/联系人等元数据。 |
thread.read |
REST / MCP / Console | 读取线程详情、消息摘要和事件流。 |
thread.label |
MCP / Console | 修改线程标签或状态。 |
thread.takeover |
REST / Console | 请求或执行人工接管。 |
playbook.manage |
REST / Console | 创建、更新、发布、暂停 Playbook。 |
playbook.run |
MCP / Runtime | 对事件或线程执行 Playbook。 |
playbook.simulate |
REST / Console | 对历史事件执行 shadow-run / replay 仿真。 |
policy.simulate |
MCP / Console | 对单次动作执行策略试算。 |
approval.create |
MCP / Runtime | 创建人工审批任务。 |
approval.decide |
REST / Console | 审批通过、拒绝或超时处理。 |
webhook.manage |
REST / Console | 创建、更新、暂停 Webhook 和密钥。 |
event.read |
REST / Console | 查询标准化邮件事件和投递事件。 |
deliverability.read |
MCP / Console | 查询域名、IP 池、资源池健康。 |
domain.manage |
Console | 管理域名认证、SPF/DKIM/DMARC、追踪域和 Return-Path。 |
resource_pool.manage |
Console | 管理 IP/资源池、warming、隔离和切流策略。 |
external_api.call |
MCP / Playbook | 调用外部 CRM、工单、订单等业务 API。 |
audit.read |
REST / Console | 查询和导出审计日志。 |
5.2 Prompt Injection 防护
邮件是天然不可信输入。AgentMail 必须把正文、附件、网页链接、签名、历史引用全部视为 untrusted content。
防护策略:
- 系统提示、工具说明、凭证上下文与邮件内容隔离。
- 对“忽略之前指令”“导出客户数据”“调用外部 API”等模式做检测。
- 附件和 HTML 邮件先做安全解析、链接展开、脚本剥离和内容摘要。
- 高风险邮件进入人工复核,不允许直接触发外部 API 或批量发送。
- Agent 记忆按租户、Agent、联系人隔离,禁止跨租户检索。
5.3 滥用与信誉治理
AgentMail 对外平台化后,必须把 Trust & Safety 做成产品能力:
- 新租户、新域名、新 Agent 默认低额度,随信誉提升。
- 列表导入需做来源声明、退订证据和风险评分。
- 针对 spam、phishing、恶意外联、撞库邮件、异常跳变做检测。
- API key 异常使用自动降速、冻结或要求二次确认。
- 单租户异常不能污染共享 IP 池:资源池要支持隔离、熔断、降载和切流。
- 投诉率、硬退率、退订率、人工举报达到阈值自动暂停 Playbook。
5.4 合规与数据治理
| 主题 | 策略 |
|---|---|
| 退订 | 营销类邮件默认 List-Unsubscribe;Agent 不可绕过退订状态。 |
| 数据保留 | 默认热数据 90 天,审计 1 年;企业版可配置归档和删除。 |
| PII | 地址、联系人、正文、附件分级脱敏;日志不记录完整敏感内容。 |
| 数据驻留 | 对外平台预留区域化部署字段和私有化部署边界。 |
| 审计导出 | 支持按时间、Agent、线程、策略导出审计证据。 |
| 人工访问 | 人工接管和运维访问必须记录访问原因和审批链。 |
6. 边界情况与风险
| 场景 | 处理策略 | 优先级 |
|---|---|---|
| 现有 MA 事件字段不完整 | 建立 MA Adapter 标准化层,缺失字段以 raw_payload 保留,逐步补齐。 |
P0 |
| Webhook 重复投递或乱序 | 使用 event_id、message_id、dedupe_key 幂等;按线程视图做最终一致。 |
P0 |
| Agent 误发高风险邮件 | 默认 review-required;批量发送和自动回复高风险内容必须审批;支持暂停 Agent。 | P0 |
| Prompt Injection 诱导 Agent 泄露数据 | 邮件内容标记 untrusted;高风险指令阻断;工具最小权限;跨租户隔离。 | P0 |
| 单租户污染共享 IP 池 | 租户限额、资源池健康评分、自动降载、隔离池、投诉阈值熔断。 | P0 |
| open/click 数据噪声 | 不把 open/click 作为唯一优化目标,加入 reply、conversion、complaint、unsubscribe 权重。 | P1 |
| 入站线程归并错误 | 使用 Message-ID、In-Reply-To、References、地址、主题、时间窗口多因子匹配;低置信度转人工。 | P1 |
| 附件过大或恶意附件 | 限制大小,异步扫描,隔离高风险附件,只给 Agent 摘要和安全元数据。 | P1 |
| 外部 CRM/API 不可用 | Playbook 节点失败进入待办队列或人工接管,不阻断邮件主链路。 | P1 |
| 发送时机优化导致时效性延迟 | 验证码、账单、法务通知、系统告警等 message_type 默认禁用预测延迟。 | P0 |
| 审批队列过载 | 风险分层,只让高风险进入人工;低风险自动通过;审批超时走预设策略。 | P1 |
| 客户从旧 Iemail 迁移 | 提供兼容 API/SMTP、Webhook 映射、历史任务只读、逐 Agent 灰度迁移。 | P1 |
| 多接口导致安全面扩大 | API、Webhook、MCP 使用同一权限核心和审计核心,不能各自实现一套权限。 | P0 |
7. 工作量评估与路线图
7.1 分阶段路线
| 阶段 | 目标 | 主要交付 | 建议周期 |
|---|---|---|---|
| Phase 0:战略与架构确认 | 锁定商业切入点、MVP 边界、MA Adapter 边界 | PRD、系统设计、事件模型、权限模型、接口草案、评审原型 | 2-4 周 |
| Phase 1:AgentMail 地基 MVP | 建立 Agent 身份、发信 API、事件总线、基础治理 | Agent Registry、Mail Runtime、MA Adapter、Webhook、审计、开发者中心 | 8-12 周 |
| Phase 2:收件与人机协同 | 打通入站、线程、回复、人工接管 | Inbound Parse、Thread Service、Playbook 模板、Approval、运营工作台 | 8-12 周 |
| Phase 3:治理与平台化 | 企业级可销售 | 域名/IP 资源池治理、Trust & Safety、计费、私有化、SDK/MCP 完整版 | 12-20 周 |
| Phase 4:智能优化闭环 | 从可用走向领先 | 策略仿真、自动诊断、送达优化 Agent、多目标优化、评测体系 | 持续迭代 |
7.2 工作量拆分(愿景到产品化)
| 模块 | 工作项 | 预估人天 |
|---|---|---|
| 产品 / 方案 | PRD、信息架构、MVP 切分、商业包装、验收口径 | 20-30 |
| UX / UI | 三角色控制台、Playbook 编排、线程工作台、治理驾驶舱原型 | 35-55 |
| 前端 | Agent 工作台、开发者中心、线程、审批、治理中心、Webhook 测试器 | 90-130 |
| 后端控制面 | Agent、身份、权限、策略、审计、API、幂等、租户隔离 | 140-200 |
| MA Adapter | 发送命令映射、事件标准化、资源池引用、退信/投诉接入 | 45-70 |
| 入站与线程 | Inbound Parse、线程归并、附件元数据、自动回复识别 | 60-90 |
| Agent / AI Runtime | Playbook Engine、模型网关、Safety、Prompt Injection 防护、仿真 | 80-130 |
| 数据与可观测性 | Event Mesh、DLQ、重放、指标、报表、告警、成本统计 | 55-85 |
| 安全与合规 | 权限矩阵、Webhook 签名、审计导出、滥用治理、数据保留 | 40-70 |
| 测试 / 评测 | 单元、集成、E2E、沙箱回放、LLM eval、安全用例 | 70-110 |
| 联调 / DevOps | MA 联调、灰度、监控、部署、故障演练 | 40-70 |
| 文档与 SDK | OpenAPI、MCP 文档、SDK 示例、迁移指南 | 30-50 |
| 合计 | 从战略愿景到可产品化平台 | 705-1090 人天 |
7.3 3 个月 MVP 建议边界
如果需要在后续转成 3 个月 MVP,建议只做“全场景底座的最小闭环”:
- Agent Registry + Agent Identity
- 发信 API + MA Adapter
- 统一事件模型 + Webhook
- 基础 Thread 模型,但入站可先做最小回复解析
suggest / review-required / autonomous三档自治模型- 基础审批和审计
- 开发者中心 + 管理员治理最小页面
暂缓:高级可视化 Playbook、复杂预测发送、多区域私有化、完整计费、复杂附件理解、自动送达优化 Agent。
8. 方案对比
| 维度 | 方案 A:在 Iemail 加 AI 文案/自动发送 | 方案 B:AgentMail Control Plane(推荐) | 方案 C:重建完整 Agent ESP/MTA |
|---|---|---|---|
| 核心思路 | 现有功能上叠加 AI 写邮件、AI 推荐发送时间 | 保留 MA 数据面,新建 Agent 身份、事件、策略、收件、治理控制面 | 从 MTA、IP、域名、API、控制台全部重做 |
| 实现复杂度 | 低 | 中高 | 极高 |
| 用户体验 | 短期可见,但仍是人工邮件系统 | 三角色完整体验,适合对外平台 | 完整但周期长,风险高 |
| 可扩展性 | 差,后续难接入 MCP/SDK/收件闭环 | 强,可逐步扩展为 Agent Email OS | 强,但投入过大 |
| 与现有 MA 关系 | 只做表层调用 | 控制面/数据面分离,最大化复用 MA | 可能重复建设,削弱现有资产价值 |
| 风险 | 被竞品快速复制,缺少护城河 | 需要架构纪律和阶段切分 | 周期失控、投递质量和资源治理重做 |
| 推荐理由 | 适合作为临时功能,不适合作为战略方向 | 最符合“发送能力没问题,重点改造 Iemail”的需求 | 不符合当前资源和时间约束 |
9. 成功指标
| 指标层 | 指标 | 目标方向 |
|---|---|---|
| 平台采用 | 活跃 workspace、活跃 Agent、API/MCP 调用量、SDK 集成数 | 持续增长 |
| 发送健康 | delivered rate、bounce rate、complaint rate、domain/IP health score | 稳定或改善 |
| Agent 效果 | 自治成功率、人工接管率、审批拒绝率、策略阻断率、误发率 | 自治成功率提升,误发率接近 0 |
| 业务效果 | reply rate、conversion、工单解决时间、每千封人工处理量 | 业务效果提升,人工负担下降 |
| 安全合规 | Prompt Injection 阻断数、滥用冻结数、审计可回放率、合规导出成功率 | 风险可见且可控 |
| 开发者体验 | 首次成功发送时间、Webhook 成功率、SDK 错误率、文档完成率 | 接入更快、失败更少 |
10. 不做事项
- 不重写 MTA,不替代 MA 的底层发送网络。
- 不把“AI 写邮件”作为唯一卖点。
- 不在没有事件模型和审计模型前开放 autonomous 批量发送。
- 不在 MVP 早期同时开放 API、MCP、Webhook 的所有高级能力;三者可以同源设计,分阶段暴露。
- 不把 open/click 作为唯一优化目标。
- 不允许 Agent 默认读取全量邮件正文和客户数据。
- 不把人工审批设计成所有动作都审批,避免运营队列瘫痪。
11. 质量自检
| 评审项 | 分值 | 自评分 | 说明 |
|---|---|---|---|
| A1 客户原始需求已完整记录 | 2 | 2 | 已引用用户原话,并记录澄清选择。 |
| A2 验收标准明确、可测量 | 2 | 2 | 已定义 8 条方案验收标准。 |
| B1 至少对比 2 个竞品 | 2 | 2 | 已调研 HubSpot、ActiveCampaign、SendGrid、Resend、Front、Gmail MCP。 |
| B2 明确 DMTX 差异化策略 | 2 | 2 | 明确“Agent Email OS + 可治理执行 + MA 发送资产复用”。 |
| C1 核心操作路径清晰 | 2 | 2 | 开发者、运营、管理员均有步骤流。 |
| C2 操作步骤精简 | 2 | 2 | 三类核心路径均控制在 3 步。 |
| C3 默认值和预设合理 | 2 | 2 | 覆盖自治级别、频控、发送窗口、Webhook、保留期等默认值。 |
| D1 数据模型变更已说明 | 2 | 2 | 字段级定义 Agent、域名、资源池、线程、事件、策略、审计等模型。 |
| D2 API 接口已定义 | 2 | 2 | REST、Webhook、MCP、SDK 均有端点/出入参/权限说明。 |
| D3 边界情况已列举并有策略 | 2 | 2 | 覆盖 13 类边界和风险处理。 |
| E1 工作量评估已给出 | 2 | 2 | 分阶段和分模块给出人天估算。 |
| E2 风险点已识别 | 2 | 2 | 覆盖性能、兼容、Prompt Injection、滥用、合规、MA 集成等风险。 |
| F1 有多方案对比 | 1 | 1 | 对比三种路径并推荐方案 B。 |
| F2 考虑后续扩展性 | 1 | 1 | 给出 Phase 0-4 路线和暂缓事项。 |
| 总分 | 26 | 26 | ≥ 20,可提交评审。 |
12. 参考资料
- HubSpot Customer Agent: https://www.hubspot.com/products/service/ai-customer-service-agent?hl=en
- HubSpot Customer Agent setup: https://knowledge.hubspot.com/customer-agent/create-a-customer-agent?_conv_s=null
- HubSpot Prospecting Agent: https://www.hubspot.com/products/sales/ai-prospecting-agent?gh_jid=7171469
- ActiveCampaign Predictive Sending: https://help.activecampaign.com/hc/en-us/articles/20315252350876-How-to-use-predictive-sending-to-automate-send-times
- Twilio SendGrid Event Webhook: https://www.twilio.com/docs/sendgrid/for-developers/tracking-events/twilio-sendgrid-event-webhook-overview
- Twilio SendGrid Inbound Parse: https://www.twilio.com/docs/sendgrid/for-developers/parsing-email/inbound-email
- Resend API Reference: https://resend.com/docs/api-reference/introduction
- Resend Webhooks: https://resend.com/docs/webhooks/introduction
- Resend Receiving: https://resend.com/docs/dashboard/receiving/introduction
- Front Rules: https://help.front.com/en/articles/2105
- Front Topics: https://help.front.com/en/articles/3329344
- Front Autopilot Playbooks: https://help.front.com/en/articles/3749568
- Google Gmail MCP: https://developers.google.com/workspace/gmail/api/guides/configure-mcp-server
- Google Gmail MCP Reference: https://developers.google.com/workspace/gmail/api/reference/mcp
- Google Workspace MCP Servers: https://developers.google.com/workspace/guides/configure-mcp-servers