Overview
A client-mode connector for a curated eight-operation slice of the HubSpot CRM API: list/create/get/update contacts, list/get companies, list deals, and list owners. It is meant for CRM / service edge bridges, not the full HubSpot surface.BASE_ADDRESS defaults to https://api.hubapi.com (official OpenAPI host). https://api.hubspot.com also accepts CRM calls.
HubSpot CRM requires a private app access token or OAuth Bearer token. Unauthenticated calls return HTTP 401. The legacy
api-catalog-public/v1/apis catalog was sunset (HTTP 404); specs now live at public/api/spec/v1/specs. This template has not been verified with a real private-app token.Basic Syntax
Events
List endpoints accept HubSpot query options (
limit, after, properties, archived) when you extend the ENDPOINT or append them in a custom variant.
Auth
Private app or OAuth Bearer:string
required
HubSpot private app access token or OAuth access token. Prefer a Hub secret. Never commit the token.
string
Contact record ID. Required on Getcontact and Updatecontact.
string
Company record ID. Required on Getcompany.
- Create a HubSpot private app with CRM scopes (contacts, companies, deals, owners) — or use an OAuth app.
- Copy the private app access token (or obtain an OAuth access token).
- Publish the token as
api_tokenon the MQTT request payload (or inject from Hub secret upstream).
{payload}; include CRM properties):
Try it
- Add the connector on a lab broker (
BASE_ADDRESSalready points athttps://api.hubapi.com). - Publish token JSON to
integrations/hubspot/request/Listcontacts. - Subscribe to
integrations/hubspot/response/Listcontacts. - Contacts / companies: include
contactIdorcompanyIdas needed.
Recorded factory probes without a usable token: CRM contacts/owners unauthenticated HTTP 401, invalid Bearer HTTP 401, public specs catalog HTTP 200, legacy api-catalog-public HTTP 404 (sunset), developer docs HTTP 200.
lot_lint reported no findings on HubSpotRestApi.
