TG-Staff 团队 avatar TG-Staff 团队

Telegram SCRM 与 HubSpot 集成指南:Webhook 线索同步与字段映射最佳实践

telegram scrm hubspot webhook

Telegram SCRM 与 HubSpot 集成指南:Webhook 线索同步与字段映射最佳实践

当你的团队使用 Telegram Bot 承接客服与销售线索时,一个常见瓶颈是:线索数据如何自动流入 CRM? 手动复制用户信息到 HubSpot,不仅耗时,还容易遗漏关键字段(如首次对话时间、用户标签),导致后续跟进断层。

本文将基于实际可落地的集成模式,讲解如何通过 Webhook 与 API,将 Telegram SCRM(以 TG-Staff 为例)与 HubSpot 打通。无论你是从零搭建,还是已有历史数据需要清洗,都能找到对应的操作路径。


为什么需要将 Telegram SCRM 与 HubSpot 集成?

在 B2B 客服场景中,Telegram 用户首次咨询往往意味着潜在商机。如果客服只在 Telegram 界面回复,而线索信息停留在聊天记录里,销售团队就无法在 HubSpot 中看到完整的客户旅程。

集成带来的核心价值:

  • 自动线索生成:用户发送第一条消息,HubSpot 自动创建联系人记录,无需人工录入。
  • 统一客户视图:Telegram 对话标签、备注、对话摘要与 HubSpot 中的公司、交易阶段关联。
  • 缩短响应到成交的周期:销售在 CRM 中看到线索来源为“Telegram SCRM”,可直接查看历史对话摘要,快速判断优先级。

TG-Staff 作为面向 Telegram Bot 的客服与运营 SaaS 平台,提供了 Webhook 推送与 API 回调能力,是打通 Telegram 与 HubSpot 的理想中间层。


集成前的准备工作:账号与权限梳理

在开始配置前,请确认以下两项先决条件,避免操作中途因权限不足而中断。

确认 HubSpot 账号权限与 API 访问

  • 你需要一个 HubSpot 账号,且拥有 Super AdminApp Marketplace 管理员 权限。
  • 推荐使用 Private App 方式获取 API Key(Access Token),因为它的权限范围可精确控制,且不会因 OAuth 刷新而失效。
  • 在 HubSpot 后台进入 设置 → 集成 → Private Apps,创建新应用,勾选 crm.objects.contacts.writecrm.objects.contacts.read 权限。

确认 Telegram SCRM 平台的 Webhook 与 API 支持

以 TG-Staff 为例,它的可视化流程编辑器内置了 Webhook 发送节点,支持在用户触发特定事件(如首次对话、完成菜单步骤、提交表单)时,向指定 URL 发送 JSON 格式的用户数据。

你需要在 TG-Staff 控制台中找到 Webhook 配置 入口(路径:项目设置 → 集成 → Webhook),或直接在流程编辑器中添加节点。如果使用其他 Telegram SCRM 平台,请确认其是否支持自定义 Webhook 和 API 回调。


模式一:单向 Webhook 推送——从 Telegram 会话自动创建 HubSpot 线索

这是最快速、低风险的集成起点。适合只需要将 Telegram 用户信息同步到 HubSpot,不需要双向更新的团队。

配置 TG-Staff Webhook 触发器

  1. 在 TG-Staff 控制台打开你的 Bot 项目,进入 可视化流程编辑器
  2. 在“新用户首次对话”或“用户点击菜单按钮”等节点后,添加一个 Webhook 发送 节点。
  3. 设置目标 URL:https://api.hubapi.com/crm/v3/objects/contacts(HubSpot Contacts API 端点)。
  4. 在请求头中添加:
    • Authorization: Bearer <你的 HubSpot Private App Access Token>
    • Content-Type: application/json
  5. 在请求体中,使用 TG-Staff 提供的变量映射用户数据。例如:
{
  "properties": {
    "firstname": "`{{user.first_name}}`",
    "lastname": "`{{user.last_name}}`",
    "telegram_id": "`{{user.id}}`",
    "hs_lead_status": "NEW",
    "original_source": "Telegram SCRM"
  }
}
  1. 选择触发事件为“新用户首次对话”,并保存流程。

HubSpot 端接收与字段映射

HubSpot 本身不要求额外配置 Webhook 接收端(因为你是主动调用它的 API),但你需要在 HubSpot 中创建对应的自定义字段来存储 Telegram 专用数据。

TG-Staff 字段HubSpot 标准/自定义字段说明
user.first_namefirstnameHubSpot 标准姓名字段
user.idtelegram_id (自定义)作为唯一标识,避免重复
user.usernamehs_lead_username (自定义)方便客服识别
message.text (首条消息)first_conversation_message (自定义)记录首次咨询内容
来源标记original_source设为固定值 Telegram SCRM

字段映射注意事项telegram_id 建议设置为 HubSpot 的 唯一标识字段,这样当同一个用户重复咨询时,API 会自动更新已有记录而不是创建重复线索(需使用 Upsert 策略,见后文)。


模式二:双向同步——实现客服操作与 CRM 数据实时联动

当团队需要更紧密的数据协同——比如客服在 TG-Staff 中给用户打上“高意向”标签,这个标签自动同步到 HubSpot;或者销售在 HubSpot 中将线索阶段改为“已成交”,客服界面立刻显示该用户状态变更——你需要双向 Webhook 架构。

双向同步的循环触发陷阱

双向同步最常遇到的问题是两个系统互相触发更新,形成死循环。例如:TG-Staff 更新用户标签 → 发送 Webhook 给 HubSpot → HubSpot 更新后触发 Webhook 回调 TG-Staff → TG-Staff 再次认为数据变更 → 继续推送……

解决方案:在每次推送时,在请求体中附带一个 sync_version 字段(递增数字或时间戳)。接收方先检查该版本号是否大于本地版本号,如果小于等于则忽略此次更新。或者,使用 Webhook 的“仅监听特定字段变更”功能,避免全量推送。

实现双向同步的步骤:

  1. TG-Staff 侧:在流程编辑器中,为“标签变更”、“备注更新”、“状态切换”等事件各添加一个 Webhook 节点,推送变更数据到 HubSpot。
  2. HubSpot 侧:在 HubSpot Private App 中启用 Webhook 订阅,订阅 contact.propertyChange 事件。当 HubSpot 中联系人的某个字段(如 hs_lead_status)变更时,HubSpot 会向 TG-Staff 的 Webhook 接收 URL 发送通知。
  3. TG-Staff 侧接收:TG-Staff 支持自定义 API 回调。你需要在 TG-Staff 的“Webhook 接收”设置中,配置一个端点来接收 HubSpot 推送的变更数据,并更新本地用户画像。

适用场景:中大型客服团队,需要销售与客服共享实时客户状态。如果团队规模较小或数据敏感度不高,模式一通常已足够。


模式三:批量线索导入与历史数据清洗

如果你已经有了一个 Telegram 用户群,并且之前没有集成 CRM,那么你需要将 TG-Staff 中的历史用户数据(标签、对话次数、最后活跃时间)批量导入 HubSpot。

两种导入方式对比

方式优点缺点推荐场景
CSV 导出 + 手动导入操作简单,无需开发无法保留自定义字段(如 telegram_id),且数据格式需手动调整数据量 < 500 条,临时性一次性导入
API 批量 Upsert支持所有自定义字段,可自动去重,可保留标签关系需要写脚本或使用 Postman数据量 > 500 条,或需要定期增量同步

推荐做法

  1. 在 TG-Staff 专业版(支持用户画像导出)中,导出用户列表为 JSON 或 CSV。
  2. 编写一个简单的 Python 或 Node.js 脚本,读取每条记录,调用 HubSpot Contacts API 的 /crm/v3/objects/contacts 端点,使用 idProperty 参数进行 Upsert(例如:idProperty=telegram_id)。
  3. 脚本中注意字段映射,尤其是将 TG-Staff 中的标签(可能为多标签字符串)拆分为 HubSpot 的 hs_lead_group 或自定义字段。

批量导入小贴士

TG-Staff 专业版支持用户画像数据导出(JSON 格式),可直接配合 HubSpot Import API 使用。建议先导出 10 条测试数据,验证字段映射无误后,再执行全量导入,避免大量错误数据写入 CRM。


常见字段映射策略与避坑指南

必选字段与可选字段划分

字段必选/可选映射建议
telegram_id必选映射为 HubSpot 自定义唯一标识,避免重复线索
first_name / last_name可选映射为标准 firstname / lastname
标签可选可映射为 HubSpot 的 hs_lead_group 或自定义分组字段
首次对话时间可选映射为 first_conversation_date 自定义字段,便于分析线索时效性
对话摘要可选映射为 noteshs_lead_notes,供销售快速了解背景

处理多语言与自动翻译场景

如果启用了 TG-Staff 的自动翻译功能,原始用户消息和翻译后内容会同时存在。建议:

  • 原始语言代码 映射为 original_language 字段。
  • 翻译后内容 映射为 translated_conversation_summary 字段。
  • HubSpot 中可据此字段判断是否需要安排对应语种的销售跟进。

避免数据冲突的更新策略

  • 使用 Upsert 而非 Create:在 HubSpot API 请求中,添加 idProperty=telegram_id 参数。这样当同一个用户再次发送消息时,API 会自动更新已有联系人,而不是创建新记录。
  • 设置字段优先级:如果 HubSpot 中的某个字段(如 company)已有值,而 TG-Staff 推送的值为空,建议在脚本中判断:仅当 HubSpot 端字段为空时才覆盖,否则保留已有值。

集成后的验证与常见问题排查

调试工具推荐

在配置 Webhook 时,建议先使用 TG-Staff 流程编辑器中的“测试发送”功能,或查阅 TG-Staff 官方文档 中的 Webhook 调试日志,查看实际推送的 JSON 数据是否符合预期。

验证清单

  1. 在 Telegram 中向你的 Bot 发送一条消息。
  2. 登录 HubSpot,进入联系人列表,查看是否自动创建了一条新记录。
  3. 检查新记录的 telegram_id 字段是否正确,original_source 是否为 Telegram SCRM
  4. 如果启用了双向同步,在 TG-Staff 中修改用户标签,回到 HubSpot 查看该联系人的标签是否同步更新。

常见问题

Q:用户发送消息后,HubSpot 没有创建联系人。 A:首先检查 TG-Staff Webhook 节点的目标 URL 是否正确(注意区分 httpshttp)。然后检查 HubSpot API Token 是否过期或权限不足(需要在 Private App 中勾选 crm.objects.contacts.write)。最后查看 TG-Staff 的 Webhook 调试日志,看请求是否成功发出(HTTP 状态码 201 为成功)。

Q:Webhook 推送成功,但 HubSpot 字段为空。 A:检查请求体中的属性名称是否与 HubSpot 中的字段名称完全一致(区分大小写)。如果使用了自定义字段,请确保已在 HubSpot 中创建该字段,并且字段类型匹配(字符串、数字、日期等)。

Q:双向同步出现循环触发。 A:检查是否已添加版本号判断逻辑(如 sync_version)。如果没有,先暂停其中一个方向的 Webhook,添加版本号后再恢复。最简单的方法:仅让 TG-Staff 单向推送至 HubSpot,HubSpot 侧不配置回调,避免循环。


总结与下一步行动

本文介绍了三种 Telegram SCRM 与 HubSpot 的集成模式:

模式适用团队复杂度主要价值
单向 Webhook 推送小型团队,首次集成快速实现线索自动创建
双向同步中大型团队,需实时协同客服与销售数据实时联动
批量导入有历史数据的团队完成 CRM 数据初始化

集成完成后,建议持续关注的指标:线索转化率(从 Telegram 用户到 HubSpot 线索的占比)、客服响应时间(是否因集成而缩短)、CRM 字段完整率(是否所有重要字段都已填充)。

下一步行动

打通 Telegram 客服与 HubSpot CRM 的数据流,是提升 B2B 线索管理效率的关键一步。从最简单的单向推送开始,逐步迭代到双向同步,让你的客户数据始终处于最新状态。