Skip to content

HubSpot - List Objects

↩ Part of the HubSpot integration.

Lists records of one object type (GET /crm/v3/objects/{object_type}) and returns the results array directly, ready to iterate, transform or export.

This node has no filters: it walks the object type from the beginning, one page at a time. When you need to filter by a property value, use Search objects instead.

FieldTypeRequiredDescription
credentials_idcredentialsYesHubSpot credential
object_typetextYesObject type: contacts, companies, deals, tickets. Defaults to contacts if left empty
limitnumberNoResults per page (max 100)
aftertextNoPagination cursor, taken from paging.next.after of the previous page
propertiestextNoProperties to return, comma-separated (e.g. email,firstname)

All the text fields accept dynamic variables, which is what makes the pagination loop possible.

This module requires a HubSpot credential:

FieldDescription
tokenPrivate App token (starts with pat-), from HubSpot → Settings → Integrations → Private Apps

data is the array of records (the results field of the HubSpot response), not the envelope:

[
{
"id": "701",
"properties": { "email": "ana@acme.com", "firstname": "Ana", "hs_object_id": "701" },
"createdAt": "2026-08-05T10:00:00.000Z",
"updatedAt": "2026-08-05T11:22:00.000Z",
"archived": false
},
{
"id": "702",
"properties": { "email": "luis@acme.com", "firstname": "Luis", "hs_object_id": "702" },
"createdAt": "2026-08-05T10:04:00.000Z",
"updatedAt": "2026-08-05T10:04:00.000Z",
"archived": false
}
]

The cursor for the next page travels in _meta:

{ "moduleVersion": "1.0.0", "success": true, "count": 2, "after": "702", "objectType": "contacts", "totalMs": 260 }

When _meta.after is undefined, there are no more pages.

{
"credentials_id": "hubspot_marketing",
"object_type": "contacts",
"limit": 100,
"properties": "email,firstname,lastname,lifecyclestage"
}
{
"credentials_id": "hubspot_marketing",
"object_type": "contacts",
"limit": 100,
"after": "{{data.after}}",
"properties": "email,firstname,lastname,lifecyclestage"
}
{
"credentials_id": "hubspot_marketing",
"object_type": "companies",
"limit": 100,
"properties": "name,domain,industry,city"
}
  • The maximum page size is 100 (imposed by HubSpot). Asking for more returns a 400.
  • The node fetches one page per execution. To walk the whole object type, feed _meta.after back into the after parameter on the next iteration and stop when it comes back empty.
  • If properties is empty, HubSpot returns only its own set of default properties — usually far fewer fields than you expect.
  • The output is an array, so a downstream iterator node receives one item per record.
  • The result is not sorted or filtered. For “contacts created in the last 24 hours” or “deals over 10.000”, use Search objects.