Skip to content

feat: add HubSpot CRM integration#70

Open
jackulau wants to merge 1 commit into
wespreadjam:mainfrom
jackulau:26
Open

feat: add HubSpot CRM integration#70
jackulau wants to merge 1 commit into
wespreadjam:mainfrom
jackulau:26

Conversation

@jackulau

@jackulau jackulau commented Apr 9, 2026

Copy link
Copy Markdown

Summary

Closes #26 — Full HubSpot CRM integration with 6 operation nodes covering all requested operations.

  • OAuth2 credential with all required scopes (crm.objects.contacts.read/write, crm.objects.companies.read/write, crm.objects.deals.read/write, etc.)
  • 6 generic nodes using objectType parameter (contacts/companies/deals):
    • hubspot_create_object — POST /crm/v3/objects/{type}
    • hubspot_get_object — GET /crm/v3/objects/{type}/{id}
    • hubspot_update_object — PATCH /crm/v3/objects/{type}/{id}
    • hubspot_delete_object — DELETE /crm/v3/objects/{type}/{id} (handles 204 No Content)
    • hubspot_search_objects — POST /crm/v3/objects/{type}/search (covers search, getRecent via sort, searchByDomain via filter)
    • hubspot_list_membership — PUT /crm/v3/lists/{id}/memberships/{action} (add/remove)
  • Zod schemas for all inputs/outputs with shared sub-schemas
  • 35 unit tests covering all operations, edge cases, and full CRUD flow
  • Uses modern HubSpot CRM v3 API consistently
  • Follows Airtable/Slack pattern (one file per operation type)

Test plan

  • cd packages/nodes && npx vitest run — 230/230 tests pass (35 new HubSpot + 195 existing)
  • No regressions to existing integrations
  • All nodes registered in builtInNodes array

Closes wespreadjam#26

- OAuth2 credential with all required CRM scopes
- 6 generic operation nodes using objectType parameter:
  - create, get, update, delete (contacts/companies/deals)
  - search with filters, sorts, pagination (covers getRecent + searchByDomain)
  - list membership (add/remove contacts)
- Zod schemas for all inputs/outputs
- 35 unit tests with full coverage
- Follows Airtable/Slack pattern (one file per operation type)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Integration] HubSpot - Full CRM operations

1 participant