Cleanup Lead Owners 是一个面向 HubSpot 管理员的技能,用于清理已离职员工留下的 CRM 记录归属问题。当员工离开公司后,其名下仍可能挂有联系人、公司和交易记录,这些没有活跃负责人的孤立记录容易被忽略。该技能的目标是移除 HubSpot 中的非员工用户,并把这些记录重新分配给合适的活跃负责人。
用途 该技能用于在员工离职时清理 HubSpot 中的负责人归属。它识别不再属于公司员工的 HubSpot 用户(包括已停用但仍拥有记录的用户、仍处于活跃状态但已非员工的人员,以及不应拥有记录的承包商或供应商),并将其名下的联系人、公司和交易记录重新分配。
主要能力
- 通过 Owners API 获取活跃与已停用的负责人列表,并与当前员工名单交叉比对,标记需要处理的负责人。
- 统计每个被标记负责人拥有的联系人、公司和交易数量。
- 使用批量更新 API 将非员工名下的联系人重新分配给合适的活跃负责人,可按默认负责人、区域规则或轮询规则分配。
- 同步重新分配与这些联系人关联的公司和交易。
- 停用已非员工的用户(需在 HubSpot 设置 > 用户与团队中拥有超级管理员权限)。
- 执行后验证:搜索 hubspot_owner_id 匹配任何已停用负责人 ID 的联系人,数量应为零;确认所有重新分配的联系人都有活跃负责人;检查是否有工作流因负责人变更而中断。
- 支持回滚:通过批量更新将 hubspot_owner_id 恢复为原始值,建议在更改前记录原始负责人分配日志;已停用用户可在 HubSpot 设置中重新激活。
使用方式 前置条件包括:HubSpot 私有应用访问令牌(在 .env 中设置 HUBSPOT_ACCESS_TOKEN),需具备 crm.objects.owners.read 以及联系人、公司、交易的写入权限;Python 3.10+ 与 uv;一份当前员工名单用于与 HubSpot 用户比对;以及针对孤立记录的默认负责人或轮询分配规则。
执行分为四个阶段:
- 计划:与用户确认重新分配记录的接收方(单一默认负责人,还是区域/轮询规则),以及哪些被标记用户应被停用、哪些仅移除记录。
- 执行前:通过 Owners API 识别非员工负责人,交叉比对员工名单并标记,统计每个被标记负责人拥有的记录数量。
- 执行:使用批量更新 API 重新分配联系人,应用轮询或区域规则,重新分配关联的公司和交易,停用已非员工的用户,之后运行 /assign-unowned-contacts 捕获无负责人记录。
- 执行后:验证无记录归属已停用负责人,确认重新分配的联系人都有活跃负责人,检查工作流是否因负责人变更而中断。
适用场景 适用于员工离职时的 HubSpot 记录交接、定期负责人归属清理,以及将 HubSpot 记录重新分配纳入离职检查清单的团队。建议在每次员工离职时运行,而不是等到季度清理。
限制 该技能需要 HubSpot 私有应用访问令牌及相应权限,停用用户需要超级管理员权限。执行前需要准备当前员工名单和分配规则。部分工作流可能按特定负责人过滤,负责人变更可能导致工作流中断,需要人工检查。回滚需要事先记录原始负责人分配日志。