dify可通过http触发工作流自动将新线索写入hubspot。需配置hubspot oauth 2.0权限(contacts.write等)、获取access_token并设为环境变量,dify中定义email/company_name/source输入字段,调用crm api创建联系人,校验201响应、失败重试3次并回写状态。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify自动接收新线索并写入HubSpot,避免销售团队手动复制粘贴导致漏跟、错标、延迟响应。
准备HubSpot API权限与凭证
登录HubSpot开发者门户(developers.hubspot.com),进入「Apps」→「Create app」→ 选择「CRM Extensions」类型。在「Scopes」中勾选 【contacts.write】 和 【tickets.write】(若需同步工单),保存后生成Client ID和Client Secret。
点击「Auth」→「OAuth」,设置重定向URI为 https://your-dify-domain.com/callback(必须与Dify部署域名一致,否则授权失败)。
用Postman或curl手动发起一次OAuth 2.0授权码交换:先跳转获取code,再用code换access_token。将返回的token存为环境变量 HUBSPOT_ACCESS_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):
{<br>
"properties": {<br>
"email": "{{input.email}}",<br>
"company": "{{input.company_name}}",<br>
"hs_lead_status": "NEW",<br>
"hs_pipeline": "00000000-0000-0000-0000-000000000000",<br>
"hs_pipeline_stage": "1"<br>
}<br>
}
【注意】hs_pipeline的ID必须从HubSpot CRM管道API中实际获取,不能使用示例值,否则创建失败且无明确报错。
在「Error Handling」中勾选「Continue on error」,并将错误响应写入日志节点,便于排查token过期或字段校验失败问题。
配置失败重试与状态回写
第一步:添加「Condition」节点,判断上一步HTTP请求的status_code是否等于201。
第二步:若为真,添加「Set Variable」节点,将响应体中的id写入hubspot_contact_id变量。
第三步:若为假,添加「Delay」节点,设置延迟60秒;再接一个「HTTP Request」节点,重新发起相同创建请求——最多重试3次。
第四步:无论成功与否,最后都接「HTTP Response」节点,返回{"status": "processed", "contact_id": "{{hubspot_contact_id}}", "attempts": "{{loop_count}}"}。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











