HubSpot的生产商
同步HubSpot CRM记录,自定义对象,所有者,团队,管道,列表和
属性定义从一个HubSpot帐户。然后,它会回填每个资源
每5分钟轮询一次CRM记录和自定义对象,其余每小时轮询一次。
有了一个应用程序客户端秘密,它也需要webhooks POST /webhooks/hubspot.
| 资源 | 什么 |
|---|---|
contacts, companies, deals, tickets | 核心CRM记录 |
calls, emails, meetings, notes, tasks, communications, postal_mail | 活动 |
feedback_submissions | 反馈调查的答案 |
line_items, products, quotes, discounts, fees, taxes | 产品及报价 |
leads | 领导 |
invoices, orders, carts, commerce_payments, subscriptions | 商务 |
goal_targets, deal_split | 目标和交易分歧 |
users | HubSpot用户和他们的用户属性 |
custom_objects | 每个自定义对象类型的记录 |
owners, teams | 记录所有者和他们的团队 |
pipelines | 管道及其阶段 |
lists | 列表(段),没有成员 |
properties | 属性定义,以命名 properties 键和值 |
配置
| 变量 | 要求 | 默认的 |
|---|---|---|
HUBSPOT_ACCESS_TOKEN | 是 | 无 |
HUBSPOT_CLIENT_SECRET | 否 | 无 |
没有 HUBSPOT_CLIENT_SECRET, webhook关闭,每一个变化都来自
轮询。
设置
仅对于轮询,在下面创建服务密钥 开发→密钥→服务 键 使用这些读作用域:
crm.objects.contacts.read,crm.schemas.contacts.readcrm.objects.companies.read,crm.schemas.companies.readcrm.objects.deals.read,crm.schemas.deals.readcrm.objects.tickets.read,crm.schemas.tickets.readcrm.objects.line_items.read,crm.schemas.line_items.readcrm.objects.products.readcrm.objects.owners.readsales-email-readcrm.objects.quotes.read,crm.objects.leads.readcrm.objects.feedback_submissions.read,crm.objects.goals.read,crm.objects.users.readcrm.objects.invoices.read,crm.objects.orders.read,crm.objects.carts.read,crm.objects.commercepayments.read,crm.objects.subscriptions.readcrm.objects.custom.read,crm.schemas.custom.readcrm.lists.read,settings.users.teams.read
通信、邮政邮件、折扣、费用、税收和交易分割都不需要 额外的范围。
使用该键作为 HUBSPOT_ACCESS_TOKEN.
服务密钥不能接收webhook。对于webhooks,上传应用程序
hubspot-app/ 用HubSpot CLI代替:
- 集
targetUrl在hubspot-app/src/app/webhooks/webhooks-hsmeta.json来<connector>/webhooks/hubspot. - 运行
hs account auth,然后hs project upload从hubspot-app/. - 安装应用程序 开发→项目→翼型连接器→ 分布.
- 使用Distribution选项卡中的访问令牌作为
HUBSPOT_ACCESS_TOKEN和 从Auth选项卡获取客户端密钥HUBSPOT_CLIENT_SECRET.
应用程序会请求上面的每个作用域,而静态授权的应用程序不能创建一个
可选的范围。对于一个没有功能的客户,比如定制对象、线索,
或Commerce Hub,将其范围从 hubspot-app/src/app/app-hsmeta.json
以及它的订阅 webhooks-hsmeta.json 在上传之前。
对于自定义对象webhook,添加 object.creation, object.deletion,
object.restore 具有对象名称的订阅,例如 vehicle,因为
objectType。该应用程序无法为你列出每个帐户的自定义对象。
一个令牌读取一个帐户,因此为每个帐户运行一个连接器。
API版本
连接器使用 2026-09 API路径,例如
/crm/objects/2026-09/contacts.
数据
- CRM表中保留每个非空属性
properties,通过内部名称; 作为字符串。新的自定义属性会自动显示。敏感属性 都被遗漏了。 - 联系,交易,门票,活动,报价,线索,商业记录,线路 项目、交易分割和自定义对象具有关联的记录id列表。
custom_objects保存每个自定义对象类型。object_type_id(如2-123),object_type(它的名字)说哪个,和key是<object_type_id>:<id>。已删除类型的行保留。properties命名键properties下拉菜单的值。 管道阶段pipelines.users具有用户属性。owners将用户映射到记录上的所有者id。- 被删除的记录
_deleted。合并到另一个数据库中的记录也是如此。 - 所有者、管道和属性定义保持不变
archived = true当 移除。删除的团队和列表保持原样。 - CRM记录表(包括自定义对象)保存客户数据,例如 姓名、电子邮件、电话号码、消息正文和表单答案。对待他们 作为客户数据。
限制
- 计算的属性和关联列表可以是一天前的,也可以是一周前的 活动、行项目和产品。webhook带来关联变化 马上。
- 如果没有webhook,这些删除就会被遗漏:GDPR删除、删除的电子邮件、 会议、通信、发票、付款、订阅、用户和交易 分裂。HubSpot无法列出它们。
- 没有特征的帐户,例如线索或自定义对象或令牌 如果没有它的作用域,将使该表出错。其他表保持同步。
- 交易分割没有webhook,所以它们只能来自轮询。自定义对象 协会名单也只能通过投票更新,最多晚一天。
- 一个新的自定义对象类型会在一小时内出现。
- 从回收站恢复的记录在下一次读取时返回:A 网络钩,搜索命中,或者全文重读。
- 搜索,删除记录的投票,以及完整的重读都是共享这个账户的 每日API限制与其他应用程序。
演示数据
pnpm demo --size 128MiB 在没有HubSpot的情况下写入编造的HubSpot数据
凭证。有关标志和变量,请参阅Connector Kit README
的需求。
每个公司都有联系人,处理行项目,报价,分割,门票,
销售活动,线索,一旦赢得交易,订阅,订单,
发票、付款和入职项目 custom_objects。属性
使用HubSpot的内部名称。帐户设置只写一次,不会写
随着规模的增长:所有者、用户、团队、管道、属性、列表、
产品、折扣、费用、税收和目标。
地方发展
cd connectors/producer-hubspot
pnpm sandbox
要录制录像机,请输入一个测试帐户的服务密钥 .env、删除
test/__cassettes__/api.vcr.test.cassette,然后跑 pnpm test:ci。记录
只需要几分钟。提交前请检查新卡带的个人资料
它。
pnpm start 运行托管连接器。它需要Wings和PostgreSQL
连接器套件README中的变量。