Overview
HubSpot is a unified CRM with marketing, sales, service, and CMS hubs. The Automize HubSpot connector covers the core CRM objects (contacts, companies, deals, tickets), engagements (calls, emails, notes), and the schema/properties/owners metadata you need to drive automations.
- Regions: HubSpot is a single multi-tenant platform – no region selector. The connector talks to api.hubapi.com for all customers.
- Plans: All HubSpot plans expose the CRM API. Some endpoints (custom objects, high-volume search) need Enterprise. Free CRM works for basic flows.
Setting up the connection
Auth type: OAuth 2.0 (Authorization Code).
- Sign in to developers.hubspot.com and create a new app.
- On the app's Auth page, set the Redirect URL shown in the Automize HubSpot connector dialog.
- Add scopes you'll need (see list below) and save.
- Copy the Client ID and Client Secret from the Auth page.
- In Automize, open Settings → Connectors → HubSpot → Add connection. Paste credentials, click Connect with HubSpot, choose the HubSpot account, approve scopes.
Scopes required:
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.companies.writecrm.objects.deals.readcrm.objects.deals.writetickets
Find your credentials at https://app.hubspot.com/developer.
Rate limits
HubSpot enforces 100 requests per 10-second window per app, with daily caps that scale by plan (250k–1M+/day). The connector reads the X-HubSpot-RateLimit-Remaining headers and auto-backs-off on 429s. Search endpoints have a tighter limit (4/sec per token).
Data model
HubSpot's CRM is built around four standard objects plus engagements.
Contacts ─┬─ associated Companies (M2M)
├─ associated Deals (M2M, through pipelines)
└─ associated Tickets (M2M)
Engagements (calls, emails, notes, meetings) link to any object.
Object types are referenced by string (contact, company, deal, ticket) or
by their numeric object_type_id for custom objects.Available operations
28 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create association | Associations | Associate two CRM records in HubSpot (e.g. contact to company). |
| List associations | Associations | List associations for a HubSpot record. |
| Create company | Companies | Create a new company in HubSpot. |
| Get company | Companies | Get a HubSpot company by ID. |
| List companies | Companies | List CRM companies in HubSpot. |
| Search companies | Companies | Search HubSpot companies by filters. |
| Update company | Companies | Update a HubSpot company. |
| Create contact | Contacts | Create a new contact in HubSpot. |
| Delete contact | Contacts | Archive a HubSpot contact. |
| Get contact | Contacts | Get a HubSpot contact by ID. |
| List contacts | Contacts | List CRM contacts in HubSpot. |
| Search contacts | Contacts | Search HubSpot contacts by filters. |
| Update contact | Contacts | Update a HubSpot contact. |
| Create deal | Deals | Create a new deal in HubSpot. |
| Get deal | Deals | Get a HubSpot deal by ID. |
| List deals | Deals | List CRM deals in HubSpot. |
| Search deals | Deals | Search HubSpot deals by filters. |
| Update deal | Deals | Update a HubSpot deal. |
| Log call | Engagements | Log a call engagement in HubSpot. |
| Log email | Engagements | Log an email engagement in HubSpot. |
| Create note | Engagements | Create a note/engagement on a HubSpot record. |
| List Properties | General | List all properties for an object type (contacts, companies, deals, tickets) |
| List Custom Object Schemas | General | List custom object schemas |
| List owners | Pipelines & Owners | List CRM owners/users in HubSpot. |
| List pipelines | Pipelines & Owners | List deal or ticket pipelines in HubSpot. |
| Create ticket | Tickets | Create a new ticket in HubSpot. |
| Get ticket | Tickets | Get a HubSpot ticket by ID. |
| List tickets | Tickets | List support tickets in HubSpot. |
Operations
Create association
Associate two CRM records in HubSpot (e.g. contact to company).
| Parameter | Required | Type | Description |
|---|---|---|---|
From type from_type | Yes | text | |
From ID from_id | Yes | text | |
To type to_type | Yes | text | |
To ID to_id | Yes | text |
Tips
- Bidirectional – creates one logical association visible from both sides.
- For custom association types, pass associationCategory + associationTypeId.
Log call
Log a call engagement in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea | |
Associations (JSON) associations | Yes | textarea |
Tips
- Log a call engagement with metadata: duration, disposition, direction, body.
- associations links to whoever was called.
Create company
Create a new company in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea |
Tips
- name and domain are typically required. domain is the dedupe key.
Create contact
Create a new contact in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea |
Tips
- properties is a JSON object. At minimum send {email: 'foo@bar.com'}.
- If a contact with the same email exists, returns 409. Use the Upsert pattern via Search → Update.
Errors
CONFLICT– Contact with this email already exists. Look it up and update instead.
Create deal
Create a new deal in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea |
Tips
- dealname, pipeline, dealstage are typically required. Use List Pipelines to discover valid stage IDs.
Log email
Log an email engagement in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea | |
Associations (JSON) associations | Yes | textarea |
Tips
- Log an email after the fact. For sending email use the Marketing Email API (not exposed here).
Create note
Create a note/engagement on a HubSpot record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea | |
Associations (JSON) associations | Yes | textarea |
Tips
- properties.hs_note_body holds the note text. associations links it to a contact/company/deal/ticket.
Create ticket
Create a new ticket in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Properties (JSON) properties | Yes | textarea |
Tips
- subject and hs_pipeline_stage are required. Associate to a contact via Create Association after creation.
Delete contact
Archive a HubSpot contact.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contact_id | Yes | text |
Tips
- Archives the contact (soft-delete). Restorable from the UI for 90 days.
Get company
Get a HubSpot company by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Company ID company_id | Yes | text |
Tips
- Use idProperty=domain to look up by company domain.
Get contact
Get a HubSpot contact by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contact_id | Yes | text |
Tips
- By default returns a slim payload. Add properties query param to include extra fields (max ~100 per call).
- Use idProperty=email to look up by email instead of HubSpot's internal contact_id.
Get deal
Get a HubSpot deal by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Deal ID deal_id | Yes | text |
Tips
- Returns deal properties only. Use List Associations to find linked contacts / companies.
Get ticket
Get a HubSpot ticket by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Ticket ID ticket_id | Yes | text |
Tips
- subject, content, hs_pipeline_stage are the most useful properties.
List associations
List associations for a HubSpot record.
| Parameter | Required | Type | Description |
|---|---|---|---|
From type from_type | Yes | text | |
From ID from_id | Yes | text | |
To type to_type | Yes | text |
Tips
- from_type: contact, company, deal, ticket. to_type: same set. Returns the linked record IDs.
List companies
List CRM companies in HubSpot.
No input parameters.
Tips
- Same paging contract as contacts. Project fields via properties=name,domain,industry.
List contacts
List CRM contacts in HubSpot.
No input parameters.
Tips
- Default returns 100 per page with paging cursor. Add properties=email,firstname,lastname to project fewer fields.
- For filtered lists, use Search Contacts – it's faster and supports complex filters.
List deals
List CRM deals in HubSpot.
No input parameters.
Tips
- Project pipeline + dealstage to know where each deal sits.
List owners
List CRM owners/users in HubSpot.
No input parameters.
Tips
- Owners are HubSpot users that can be assigned to records via hubspot_owner_id property.
List pipelines
List deal or ticket pipelines in HubSpot.
| Parameter | Required | Type | Description |
|---|---|---|---|
Object type (deals/tickets) object_type | Yes | text |
Tips
- object_type: deal or ticket. Returns pipelines with their stage IDs.
List Properties
List all properties for an object type (contacts, companies, deals, tickets)
| Parameter | Required | Type | Description |
|---|---|---|---|
Object Type object_type | Yes | text |
Tips
- object_type: contacts, companies, deals, tickets. Use to discover all available property names.
- Returns ~30-100 properties per object depending on portal customisation.
List Custom Object Schemas
List custom object schemas
No input parameters.
Tips
- Custom object schemas. Returns names + IDs for portal-defined custom objects.
List tickets
List support tickets in HubSpot.
No input parameters.
Tips
- Filter by hs_pipeline + hs_pipeline_stage to scope to specific support queues.
Search companies
Search HubSpot companies by filters.
| Parameter | Required | Type | Description |
|---|---|---|---|
Filter groups (JSON) filterGroups | Yes | textarea | |
Properties (JSON) properties | No | textarea | |
Search query query | No | text | |
Sorts sorts | No | text | |
Limit limit | No | text | |
After after | No | text |
Tips
- Same filter shape as Search Contacts.
Search contacts
Search HubSpot contacts by filters.
| Parameter | Required | Type | Description |
|---|---|---|---|
Filter groups (JSON) filterGroups | Yes | textarea | |
Properties to return (JSON) properties | No | textarea | |
Search query query | No | text | |
Limit limit | No | number | |
Sorts sorts | No | text | |
After after | No | text |
Tips
- Body: {filterGroups: [...], properties: [...], sorts: [...], limit, after}.
- filterGroups are OR'd; filters within a group are AND'd.
- Rate-limited to 4/sec – back off for large sweeps.
Search deals
Search HubSpot deals by filters.
| Parameter | Required | Type | Description |
|---|---|---|---|
Filter groups (JSON) filterGroups | Yes | textarea | |
Properties (JSON) properties | No | textarea | |
Search query query | No | text | |
Sorts sorts | No | text | |
Limit limit | No | text | |
After after | No | text |
Update company
Update a HubSpot company.
| Parameter | Required | Type | Description |
|---|---|---|---|
Company ID company_id | Yes | text | |
Properties (JSON) properties | Yes | textarea |
Update contact
Update a HubSpot contact.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contact_id | Yes | text | |
Properties (JSON) properties | Yes | textarea |
Update deal
Update a HubSpot deal.
| Parameter | Required | Type | Description |
|---|---|---|---|
Deal ID deal_id | Yes | text | |
Properties (JSON) properties | Yes | textarea |
FAQ
- Why is my Search returning 0 results when the contact exists?
- HubSpot search re-indexes asynchronously. New records can take up to a few seconds to appear. Use Get Contact with idProperty=email for immediate reads.
- How do I get a contact's company?
- Use List Associations from_type=contact from_id=<id> to_type=company. Returns one or more company IDs to look up.
- What's the limit on properties[] in a request?
- Roughly 100 per call. For wide reads, do two requests or use the v3 batch endpoint (not yet exposed in this connector).
- Why does Create Contact return 409 – I want it to upsert.
- There's no native upsert – use Search Contacts with filter email=X first; if found, Update; if not, Create.