先说几个核心判断:线索从进入系统到同步到CRM,如果完全依赖销售人工复制粘贴,那么漏跟、错标、延迟响应几乎是不可避免的。解决这一痛点的关键,在于利用Dify和HubSpot构建一条自动化链路——让Dify的HTTP触发工作流担任中转枢纽,自动接收新线索并写入HubSpot。
具体该如何操作?实际上只需要几个步骤。
准备HubSpot API权限与凭证
首先,登录HubSpot的开发者门户(developers.hubspot.com),进入「Apps」→「Create app」,类型选择「CRM Extensions」。在权限配置(Scopes)里,务必勾选 【contacts.write】 和 【tickets.write】——后者主要用于后续同步工单,按需勾选即可。保存后,系统会自动生成Client ID和Client Secret。
接下来是认证环节。进入「Auth」→「OAuth」,设置重定向URI。这里有个关键点:重定向URI必须与Dify部署的域名保持一致,否则授权流程将无法通过。假设你的Dify域名是https://your-dify-domain.com,那么重定向URI应填写https://your-dify-domain.com/callback。
接着使用Postman(或curl)手动发起一次OAuth授权码交换——先跳转获取code,再用code换取access_token。拿到token后,将其存储为环境变量 HUBSPOT_ACCESS_TOKEN。请注意,该token有效期仅为24小时,后续需要定时刷新。
在Dify中创建HTTP触发工作流
进入Dify控制台,找到「Workflows」→「+ New Workflow」,选择「HTTP Trigger」模板。触发路径设置为/hubspot/lead-inbound,方法选POST,同时启用「Require authentication」,绑定你之前创建的API Key——这是为了确保只有授权请求才能触发工作流。
在「Inputs」里,定义三个必填字段:email(string)、company_name(string)、source(string)。这些字段用于接收来自表单、邮件解析或第三方Webhook的原始线索数据。简而言之,所有新线索都将从此入口进入。
调用HubSpot API创建联系人
在工作流画布上,添加一个「HTTP Request」节点,配置如下:
URL:https://api.hubspot.com/crm/v3/objects/contacts
Method:POST
Headers:{"Authorization": "Bearer {{env.HUBSPOT_ACCESS_TOKEN}}", "Content-Type": "application/json"}
Body(JSON):
{
"properties": {
"email": "{{input.email}}",
"company": "{{input.company_name}}",
"hs_lead_status": "NEW",
"hs_pipeline": "00000000-0000-0000-0000-000000000000",
"hs_pipeline_stage": "1"
}
}
特别提醒:hs_pipeline 这个字段的值不能直接照搬上面的示例——这个ID需要从HubSpot CRM的管道API中实际获取。如果使用了错误的ID,创建将失败,而且不会给出明确报错,排查起来相当棘手。
在「Error Handling」部分,勾选「Continue on error」,并将错误响应写入日志节点。这一步主要是为了方便排查,例如token过期、字段校验失败等问题,日志中一目了然。
配置失败重试与状态回写
工作流的健壮性通常体现在这一步。先添加一个「Condition」节点,判断上一步HTTP请求返回的status_code是否为201。
如果状态码是201,表明创建成功。此时添加「Set Variable」节点,将响应体中的id写入变量hubspot_contact_id,便于后续记录或返回。
如果返回的不是201,说明创建失败。那就加一个「Delay」节点,设置延迟60秒——给系统一个短暂的缓解时间。延迟后再接一个「HTTP Request」节点,重新发起一次同样的创建请求。最多重试3次,这是比较稳妥的策略。
最后,无论成功还是失败,都接一个「HTTP Response」节点,返回类似这样的结构:{"status": "processed", "contact_id": "{{hubspot_contact_id}}", "attempts": "{{loop_count}}"}。这样,调用方就能清晰了解处理结果,以及是否经历了重试。

整套流程跑通之后,销售团队无需再手动在CRM中新增联系人,系统自动完成线索的录入和状态标记,响应延迟、漏跟、错标的问题自然消失。核心判断就是:自动化不是可选项,而是规模化运营的必选项。
