登录开始免费试用
Meta Tech Provider

从 Coexistence 号码将 WhatsApp 消息记录到 HubSpot

HubSpot 有一个 Communications 对象,其渠道类型可以设为 WHATS_APP,专门用于记录发生在 HubSpot 之外的消息。把该号码的 Webhook 转发到 n8n 工作流,按电话查找或创建联系人,然后将每条消息 POST 到 /crm/v3/objects/communications。对话会出现在联系人时间线上,而团队仍然在 WhatsApp Business 应用中回复。

WHATS_APP

HubSpot 的 Communications 对象中,hs_communication_channel_type 支持的取值之一。

100 / 10 s

HubSpot Free 和 Starter 上每个私有分发应用的突发限制;Professional 和 Enterprise 为 190。

Pro or Enterprise

HubSpot 自带 WhatsApp 收件箱渠道所要求的 Marketing Hub 或 Service Hub 版本等级。

一条 WhatsApp 消息如何出现在 HubSpot 联系人上?

分三步。Meta 把消息发送到您为该号码设置的 Webhook 目标,这里是 n8n 的 Webhook 节点。工作流在 HubSpot 中按发送者的电话号码搜索联系人,没有匹配时就创建一个。然后创建一条包含消息文本的 communication 记录,并将它关联到该联系人。

HubSpot 正是为这种情况设计了 Communications 对象。它表示在 HubSpot 之外发送或接收的 WhatsApp、LinkedIn 或短信消息,并像已记录的通话或邮件一样显示在记录时间线上。必填属性包括渠道类型、设为 CRM 的 hs_communication_logged_from、正文、负责人和时间戳。

这一切都不需要 HubSpot 应用市场中的应用。n8n 的 HTTP Request 节点可以复用您为 HubSpot 节点配置好的 HubSpot 凭据,每条消息只需一次 POST 调用。

POST /crm/v3/objects/communications, one inbound message (add an associations array for the contact)
{
  "properties": {
    "hs_communication_channel_type": "WHATS_APP",
    "hs_communication_logged_from": "CRM",
    "hs_communication_body": "do you have anything friday?",
    "hubspot_owner_id": "75480934",
    "hs_timestamp": "2026-10-11T14:20:00.000Z"
  }
}

在手机上输入的消息也会被记录吗?

可以,这正是 Coexistence 号码带来的好处。当团队成员在 WhatsApp Business 应用中回复时,Meta 会把这条发出消息的回显发送到同一个 Webhook 目标。同时处理收到的消息和回显的工作流,会把对话的双方都写入时间线,因此销售人员在 HubSpot 中打开联系人时,能看到客户问了什么,以及店铺如何回复。

按 Webhook 字段分支处理。收到的消息出现在 messages 下,手机上的回复出现在 smb_message_echoes 下。把前者记为已接收,后者记为已发送,时间线就会按顺序呈现。

工作流自己通过 Cloud API 发送的回复,它本身就已知晓,所以在发送的那一刻直接记录,无需等待 Webhook。

HubSpot 自带的 WhatsApp 收件箱渠道又是怎么回事?

那是另一种集成。HubSpot 的对话收件箱会把一个 WhatsApp 号码直接连接到 HubSpot 本身,其知识库说明该号码不能同时连接到其他 WhatsApp 集成。它适用于 Marketing Hub 或 Service Hub 的 Professional 和 Enterprise 版本。

通过 EasyCoexistence 连接的号码走的是另一条路:Meta 把 Webhook 发送到您自己拥有的 URL,HubSpot 则通过 API 接收记录。对话由手机或您的工作流回复,HubSpot 是记录系统,把历史保存在联系人、交易或工单名下。

发起调用的私有应用或凭据需要联系人写入权限范围,这与工作流本来就需要的、用于创建联系人的权限范围相同。

工作流应该如何把发送者匹配到联系人?

按电话号码匹配,并在搜索前先做标准化。Meta 发来的发送者号码只有数字,包含国家代码,没有加号,例如 14155550188。HubSpot 中的联系人是手动输入的,同一个人可能被存成 +1 415 555 0188 或 (415) 555-0188。

可靠的做法是保留一个专用的联系人属性,存放纯数字号码,在工作流创建联系人时填入,并按该属性搜索。直接搜索自由文本的电话字段,对工作流创建的联系人有效,却会漏掉许多人工创建的联系人,从而产生重复记录。

搜索没有结果时,就创建联系人:把 Webhook 负载中的资料名称作为名字,并在两个字段中都填入纯数字号码。之后可以由人工合并或改名,而对话已经关联在上面了。

常见错误

  • 只记录收到的消息。这样时间线上只有问题没有回答,因为在手机上输入的回复会以 smb_message_echoes 事件的形式到达。
  • 没有设置 hs_communication_logged_from。通过 API 创建 communication 时,HubSpot 要求它的值为 CRM。
  • 按原始电话字段搜索联系人。Meta 的纯数字格式很少与人工输入的内容一致,每次未命中都会产生一个重复联系人。
使用 EasyCoexistence 完成这些操作

在 easycoexistence.com 连接号码,把它的 Webhook 目标指向您的 n8n 工作流,HubSpot 就会开始积累对话。每个号码每月 US$ 9 起,号码越多价格越低,最低 US$ 1,前 3 天免费试用。

常见问题

我可以在 HubSpot 内直接回复客户吗?

不能通过 Communications 对象,因为它只是记录。回复需要从 WhatsApp Business 应用发出,或由调用 Cloud API 的工作流发出,两种方式都会记录回联系人。

工作流需要哪些 HubSpot 权限?

联系人的读取和写入权限。HubSpot 将 crm.objects.contacts.read 或 crm.objects.contacts.write 列为 Communications API 的权限范围,而创建联系人本来就需要写入权限。

同一个工作流也可以发送第一条消息吗?

可以。单独的 n8n 分支可以使用该号码的 phone number id 和访问令牌,通过 Cloud API 发送已获批准的消息模板,然后把它作为发出的 communication 记录到联系人上。

EasyCoexistence 会在中途存储消息内容吗?

不会。Meta 直接把 Webhook 发送到您的 n8n URL。EasyCoexistence 从不存储对话内容。

继续阅读

准备开始了吗?

几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。

开始免费试用

验证时间

在 HubSpot 记录 WhatsApp 消息,Cloud API