Skip to content

feat: Add properties spec to hubspot source plugin #10373

@fsschmitt

Description

@fsschmitt

Describe the resource

Currently the hubspot plugin only enables us to collect objects from hubspot and its top-level properties that its API return by default:

"createdate": "2023-04-13T09:07:29.661Z",
"domain": "...",
"hs_lastmodifieddate": "2023-04-13T09:08:14.185Z",
"hs_object_id": "...",
"name": "..."

Although, most of the actual data and value that comes from HubSpot resides on the properties of these entities. For example, a Company entity might have a custom property named "company_type" that defines if the company is a end-user or trader.

Currently, getting these data points (also other hubspot default properties such as hs_lead_status) is impossible.

Ideally the current resources would have a Spec for each entity that would enable users to specify all the additional properties that they want to retrieve from hubspot.

Use Case

As a user, I would like to be able to specify additional properties to collect from the hubspot source. An example:

kind: source
spec:
  name: "hubspot"
...
  spec:
    max_requests_per_second: 5
    company:
      properties: ["hs_lead_status", "hs_created_by_user_id", "company_type"]
    contact:
      properties: ["lifecyclestage"]

This would apply to every single resource within this plugin:

  • companies
  • contacts
  • deals
  • line_items
  • owners
  • pipelines
  • products
  • quotes
  • tickets

Link to API documentation

https://developers.hubspot.com/docs/api/crm/companies#properties

Additional Context

As it seems, the SDK being used go-hubspot already supports passing properties into the client when calling the API, as it can be seen here:

https://github.com/clarkmcc/go-hubspot/blob/20c2f9cbf936/generated/v3/companies/api_basic.go#L482

Pull request (optional)

  • I can submit a pull request

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions