用途:找出 HubSpot 中已全局退订但仍被标记为营销联系人的记录,避免向无权发送营销邮件的联系人发信,同时减少不必要的计费。
主要能力:基于 HubSpot API 统计全局退订联系人数量,按生命周期阶段分组,导出审计 CSV;创建 DYNAMIC 列表捕获未来退订;引导在 UI 中批量把联系人设为非营销联系人;执行后再次校验是否清零。
使用方式:需 HubSpot 私有应用访问令牌,具备 crm.objects.contacts.read 及 crm.lists.read/crm.lists.write 权限,Python 3.10+ 与 uv,.env 中配置 HUBSPOT_ACCESS_TOKEN;手动 UI 抑制步骤需 Super Admin 或 Marketing Hub Admin 权限。脚本分 before 与 after 两阶段: uv run skills/suppress-global-unsubscribes/scripts/before.py uv run skills/suppress-global-unsubscribes/scripts/after.py 无 execute 脚本。流程为 Plan -> Before -> Execute -> After:先规划,再统计与导出审计,随后通过 API 创建列表并在 UI 中把列表联系人批量设为非营销,最后复跑校验。也可用 HubSpot 工作流实现:触发条件“Unsubscribed from all email 等于 True”,动作设为非营销联系人。
限制:hs_marketable_status 通过 API 为只读,实际抑制必须在 UI 或工作流完成;Search API 单次查询上限 1 万条,超过需按生命周期阶段等分段查询;不得重新订阅任何人,即使退订疑似导入错误,也只能通过非邮件渠道联系并请其通过选择加入表单重新订阅。