Skip to main content

Hubspot full reference

This is the full reference documentation for the Hubspot agent connector.

Supported entities and actions

The Hubspot connector supports the following entities and actions.

EntityActions
ContactsList, Create, Get, Update, API Search, Context Store Search
CompaniesList, Create, Get, Update, API Search, Context Store Search
DealsList, Create, Get, Update, API Search, Context Store Search
TicketsList, Create, Get, Update, API Search, Context Store Search
NotesList, Create, Get, Update, Delete, Context Store Search
CallsList, Create, Get, Update, Delete, Context Store Search
EmailsList, Create, Get, Update, Delete, Context Store Search
MeetingsList, Create, Get, Update, Delete, Context Store Search
TasksList, Create, Get, Update, Delete, Context Store Search
SchemasList, Get
ObjectsList, Get
AssociationsList, Create, Delete

Contacts

Contacts List

Returns a paginated list of contacts

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "list"
}'

Python SDK

await hubspot.contacts.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars").
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Contacts Create

Create a new contact in HubSpot CRM with the provided properties.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "create",
"params": {
"properties": {
"email": "<str>"
}
}
}'

Python SDK

await hubspot.contacts.create(
properties={
"email": "<str>"
}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "create",
"params": {
"properties": {
"email": "<str>"
}
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesContact properties to set
properties.emailstringYesContact email address (required, used as unique identifier)
properties.firstnamestringNoContact first name
properties.lastnamestringNoContact last name
properties.phonestringNoContact phone number
properties.companystringNoCompany name associated with the contact
properties.websitestringNoContact website URL
properties.lifecyclestagestringNoLifecycle stage (e.g., subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other)
properties.jobtitlestringNoContact job title
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this contact
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Contacts Get

Get a single contact by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "get",
"params": {
"contactId": "<str>"
}
}'

Python SDK

await hubspot.contacts.get(
contact_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "get",
"params": {
"contactId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
contactIdstringYesContact ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Contacts Update

Update an existing contact's properties by ID. Only the specified properties will be updated.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "update",
"params": {
"properties": {},
"contactId": "<str>"
}
}'

Python SDK

await hubspot.contacts.update(
properties={},
contact_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "update",
"params": {
"properties": {},
"contactId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesContact properties to update
properties.emailstringNoContact email address
properties.firstnamestringNoContact first name
properties.lastnamestringNoContact last name
properties.phonestringNoContact phone number
properties.companystringNoCompany name associated with the contact
properties.websitestringNoContact website URL
properties.lifecyclestagestringNoLifecycle stage (e.g., subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other)
properties.jobtitlestringNoContact job title
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this contact
contactIdstringYesContact ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Search for contacts by filtering on properties, searching through associations, and sorting results.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "api_search"
}'

Python SDK

await hubspot.contacts.api_search()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "api_search"
}'

Parameters

Parameter NameTypeRequiredDescription
filterGroupsarray<object>NoUp to 6 groups of filters defining additional query criteria.
filterGroups.filtersarray<object>No
filterGroups.filters.operator"BETWEEN" | "CONTAINS_TOKEN" | "EQ" | "GT" | "GTE" | "HAS_PROPERTY" | "IN" | "LT" | "LTE" | "NEQ" | "NOT_CONTAINS_TOKEN" | "NOT_HAS_PROPERTY" | "NOT_IN"No
filterGroups.filters.propertyNamestringNoThe name of the property to apply the filter on.
filterGroups.filters.valuestringNoThe value to match against the property.
filterGroups.filters.valuesarray<string>NoThe values to match against the property.
propertiesarray<string>NoA list of property names to include in the response.
limitintegerNoMaximum number of results to return
afterstringNoA paging cursor token for retrieving subsequent pages.
sortsarray<object>NoSort criteria
sorts.propertyNamestringNo
sorts.direction"ASCENDING" | "DESCENDING"No
querystringNoThe search query string, up to 3000 characters.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
totalinteger
next_cursorstring
next_linkstring

Search and filter contacts records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.contacts.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanBoolean flag indicating whether the contact has been archived or deleted
companiesarrayAssociated company records linked to this contact
createdAtstringTimestamp indicating when the contact was first created in the system
idstringUnique identifier for the contact record
propertiesobjectKey-value object storing all contact properties and their values.
properties.associatedcompanyidstringID of the associated company
properties.createdatestringDate the contact was created
properties.emailstringContact email address
properties.firstnamestringContact first name
properties.hs_object_idstringHubSpot object ID
properties.hubspot_owner_idstringID of the HubSpot owner assigned to this contact
properties.lastmodifieddatestringLast modified date of the contact
properties.lastnamestringContact last name
updatedAtstringTimestamp indicating when the contact record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanBoolean flag indicating whether the contact has been archived or deleted
data[].companiesarrayAssociated company records linked to this contact
data[].createdAtstringTimestamp indicating when the contact was first created in the system
data[].idstringUnique identifier for the contact record
data[].propertiesobjectKey-value object storing all contact properties and their values.
data[].properties.associatedcompanyidstringID of the associated company
data[].properties.createdatestringDate the contact was created
data[].properties.emailstringContact email address
data[].properties.firstnamestringContact first name
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hubspot_owner_idstringID of the HubSpot owner assigned to this contact
data[].properties.lastmodifieddatestringLast modified date of the contact
data[].properties.lastnamestringContact last name
data[].updatedAtstringTimestamp indicating when the contact record was last modified

Companies

Companies List

Retrieve all companies, using query parameters to control the information that gets returned.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "list"
}'

Python SDK

await hubspot.companies.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars").
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Companies Create

Create a new company in HubSpot CRM with the provided properties.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "create",
"params": {
"properties": {
"name": "<str>"
}
}
}'

Python SDK

await hubspot.companies.create(
properties={
"name": "<str>"
}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "create",
"params": {
"properties": {
"name": "<str>"
}
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesCompany properties to set
properties.namestringYesCompany name (required)
properties.domainstringNoCompany domain name (e.g., example.com)
properties.descriptionstringNoCompany description
properties.phonestringNoCompany phone number
properties.industrystringNoCompany industry (e.g., COMPUTER_SOFTWARE, INFORMATION_TECHNOLOGY_AND_SERVICES, INTERNET, FINANCIAL_SERVICES, MARKETING_AND_ADVERTISING, EDUCATION_MANAGEMENT)
properties.citystringNoCompany city
properties.statestringNoCompany state/region
properties.countrystringNoCompany country
properties.zipstringNoCompany postal/zip code
properties.numberofemployeesstringNoNumber of employees
properties.annualrevenuestringNoAnnual revenue
properties.lifecyclestagestringNoLifecycle stage (e.g., subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other)
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this company
properties.websitestringNoCompany website URL
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Companies Get

Get a single company by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "get",
"params": {
"companyId": "<str>"
}
}'

Python SDK

await hubspot.companies.get(
company_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "get",
"params": {
"companyId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
companyIdstringYesCompany ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Companies Update

Update an existing company's properties by ID. Only the specified properties will be updated.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "update",
"params": {
"properties": {},
"companyId": "<str>"
}
}'

Python SDK

await hubspot.companies.update(
properties={},
company_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "update",
"params": {
"properties": {},
"companyId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesCompany properties to update
properties.namestringNoCompany name
properties.domainstringNoCompany domain name (e.g., example.com)
properties.descriptionstringNoCompany description
properties.phonestringNoCompany phone number
properties.industrystringNoCompany industry (e.g., COMPUTER_SOFTWARE, INFORMATION_TECHNOLOGY_AND_SERVICES, INTERNET, FINANCIAL_SERVICES, MARKETING_AND_ADVERTISING, EDUCATION_MANAGEMENT)
properties.citystringNoCompany city
properties.statestringNoCompany state/region
properties.countrystringNoCompany country
properties.zipstringNoCompany postal/zip code
properties.numberofemployeesstringNoNumber of employees
properties.annualrevenuestringNoAnnual revenue
properties.lifecyclestagestringNoLifecycle stage (e.g., subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other)
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this company
properties.websitestringNoCompany website URL
companyIdstringYesCompany ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Search for companies by filtering on properties, searching through associations, and sorting results.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "api_search"
}'

Python SDK

await hubspot.companies.api_search()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "api_search"
}'

Parameters

Parameter NameTypeRequiredDescription
filterGroupsarray<object>NoUp to 6 groups of filters defining additional query criteria.
filterGroups.filtersarray<object>No
filterGroups.filters.operator"BETWEEN" | "CONTAINS_TOKEN" | "EQ" | "GT" | "GTE" | "HAS_PROPERTY" | "IN" | "LT" | "LTE" | "NEQ" | "NOT_CONTAINS_TOKEN" | "NOT_HAS_PROPERTY" | "NOT_IN"No
filterGroups.filters.propertyNamestringNoThe name of the property to apply the filter on.
filterGroups.filters.valuestringNoThe value to match against the property.
filterGroups.filters.valuesarray<string>NoThe values to match against the property.
propertiesarray<string>NoA list of property names to include in the response.
limitintegerNoMaximum number of results to return
afterstringNoA paging cursor token for retrieving subsequent pages.
sortsarray<object>NoSort criteria
sorts.propertyNamestringNo
sorts.direction"ASCENDING" | "DESCENDING"No
querystringNoThe search query string, up to 3000 characters.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
totalinteger
next_cursorstring
next_linkstring

Search and filter companies records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "companies",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.companies.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the company has been deleted and moved to the recycling bin
contactsarrayAssociated contact records linked to this company
createdAtstringTimestamp when the company record was created
idstringUnique identifier for the company record
propertiesobjectObject containing all property values for the company
properties.createdatestringDate the company was created
properties.domainstringCompany domain name
properties.hs_lastmodifieddatestringLast modified date of the company
properties.hs_object_idstringHubSpot object ID
properties.hubspot_owner_idstringID of the HubSpot owner assigned to this company
properties.namestringCompany name
updatedAtstringTimestamp when the company record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the company has been deleted and moved to the recycling bin
data[].contactsarrayAssociated contact records linked to this company
data[].createdAtstringTimestamp when the company record was created
data[].idstringUnique identifier for the company record
data[].propertiesobjectObject containing all property values for the company
data[].properties.createdatestringDate the company was created
data[].properties.domainstringCompany domain name
data[].properties.hs_lastmodifieddatestringLast modified date of the company
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hubspot_owner_idstringID of the HubSpot owner assigned to this company
data[].properties.namestringCompany name
data[].updatedAtstringTimestamp when the company record was last modified

Deals

Deals List

Returns a paginated list of deals

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "list"
}'

Python SDK

await hubspot.deals.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars").
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Deals Create

Create a new deal in HubSpot CRM with the provided properties.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "create",
"params": {
"properties": {
"dealname": "<str>"
}
}
}'

Python SDK

await hubspot.deals.create(
properties={
"dealname": "<str>"
}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "create",
"params": {
"properties": {
"dealname": "<str>"
}
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesDeal properties to set
properties.dealnamestringYesDeal name (required)
properties.amountstringNoDeal amount
properties.dealstagestringNoDeal stage ID (e.g., appointmentscheduled, qualifiedtobuy, presentationscheduled, decisionmakerboughtin, contractsent, closedwon, closedlost)
properties.pipelinestringNoDeal pipeline ID (defaults to the default pipeline)
properties.closedatestringNoExpected close date (ISO 8601 format, e.g., 2024-12-31T00:00:00.000Z)
properties.dealtypestringNoDeal type (e.g., newbusiness, existingbusiness)
properties.descriptionstringNoDeal description
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this deal
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Deals Get

Get a single deal by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "get",
"params": {
"dealId": "<str>"
}
}'

Python SDK

await hubspot.deals.get(
deal_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "get",
"params": {
"dealId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dealIdstringYesDeal ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Deals Update

Update an existing deal's properties by ID. Only the specified properties will be updated.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "update",
"params": {
"properties": {},
"dealId": "<str>"
}
}'

Python SDK

await hubspot.deals.update(
properties={},
deal_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "update",
"params": {
"properties": {},
"dealId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesDeal properties to update
properties.dealnamestringNoDeal name
properties.amountstringNoDeal amount
properties.dealstagestringNoDeal stage ID (e.g., appointmentscheduled, qualifiedtobuy, presentationscheduled, decisionmakerboughtin, contractsent, closedwon, closedlost)
properties.pipelinestringNoDeal pipeline ID
properties.closedatestringNoExpected close date (ISO 8601 format, e.g., 2024-12-31T00:00:00.000Z)
properties.dealtypestringNoDeal type (e.g., newbusiness, existingbusiness)
properties.descriptionstringNoDeal description
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this deal
dealIdstringYesDeal ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Search deals with filters and sorting

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "api_search"
}'

Python SDK

await hubspot.deals.api_search()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "api_search"
}'

Parameters

Parameter NameTypeRequiredDescription
filterGroupsarray<object>NoUp to 6 groups of filters defining additional query criteria.
filterGroups.filtersarray<object>No
filterGroups.filters.operator"BETWEEN" | "CONTAINS_TOKEN" | "EQ" | "GT" | "GTE" | "HAS_PROPERTY" | "IN" | "LT" | "LTE" | "NEQ" | "NOT_CONTAINS_TOKEN" | "NOT_HAS_PROPERTY" | "NOT_IN"No
filterGroups.filters.propertyNamestringNoThe name of the property to apply the filter on.
filterGroups.filters.valuestringNoThe value to match against the property.
filterGroups.filters.valuesarray<string>NoThe values to match against the property.
propertiesarray<string>NoA list of property names to include in the response.
limitintegerNoMaximum number of results to return
afterstringNoA paging cursor token for retrieving subsequent pages.
sortsarray<object>NoSort criteria
sorts.propertyNamestringNo
sorts.direction"ASCENDING" | "DESCENDING"No
querystringNoThe search query string, up to 3000 characters.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
totalinteger
next_cursorstring
next_linkstring

Search and filter deals records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "deals",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.deals.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the deal has been deleted and moved to the recycling bin
companiesarrayCollection of company records associated with the deal
contactsarrayCollection of contact records associated with the deal
createdAtstringTimestamp when the deal record was originally created
idstringUnique identifier for the deal record
line_itemsarrayCollection of product line items associated with the deal
propertiesobjectKey-value object containing all deal properties and custom fields
properties.amountstringDeal amount
properties.closedatestringExpected close date of the deal
properties.createdatestringDate the deal was created
properties.dealnamestringDeal name
properties.dealstagestringCurrent deal stage
properties.hs_lastmodifieddatestringLast modified date of the deal
properties.hs_object_idstringHubSpot object ID
properties.hubspot_owner_idstringID of the HubSpot owner assigned to this deal
properties.pipelinestringDeal pipeline
updatedAtstringTimestamp when the deal record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the deal has been deleted and moved to the recycling bin
data[].companiesarrayCollection of company records associated with the deal
data[].contactsarrayCollection of contact records associated with the deal
data[].createdAtstringTimestamp when the deal record was originally created
data[].idstringUnique identifier for the deal record
data[].line_itemsarrayCollection of product line items associated with the deal
data[].propertiesobjectKey-value object containing all deal properties and custom fields
data[].properties.amountstringDeal amount
data[].properties.closedatestringExpected close date of the deal
data[].properties.createdatestringDate the deal was created
data[].properties.dealnamestringDeal name
data[].properties.dealstagestringCurrent deal stage
data[].properties.hs_lastmodifieddatestringLast modified date of the deal
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hubspot_owner_idstringID of the HubSpot owner assigned to this deal
data[].properties.pipelinestringDeal pipeline
data[].updatedAtstringTimestamp when the deal record was last modified

Tickets

Tickets List

Returns a paginated list of tickets

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "list"
}'

Python SDK

await hubspot.tickets.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars").
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Tickets Create

Create a new support ticket in HubSpot CRM with the provided properties.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "create",
"params": {
"properties": {
"subject": "<str>",
"hs_pipeline": "<str>",
"hs_pipeline_stage": "<str>"
}
}
}'

Python SDK

await hubspot.tickets.create(
properties={
"subject": "<str>",
"hs_pipeline": "<str>",
"hs_pipeline_stage": "<str>"
}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "create",
"params": {
"properties": {
"subject": "<str>",
"hs_pipeline": "<str>",
"hs_pipeline_stage": "<str>"
}
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesTicket properties to set
properties.subjectstringYesTicket subject line (required)
properties.contentstringNoTicket description/content
properties.hs_pipelinestringYesTicket pipeline ID (required, use '0' for default pipeline)
properties.hs_pipeline_stagestringYesPipeline stage ID (required, e.g., '1' for New in the default pipeline)
properties.hs_ticket_prioritystringNoTicket priority (e.g., LOW, MEDIUM, HIGH)
properties.hs_ticket_categorystringNoTicket category
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this ticket
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Tickets Get

Get a single ticket by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "get",
"params": {
"ticketId": "<str>"
}
}'

Python SDK

await hubspot.tickets.get(
ticket_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "get",
"params": {
"ticketId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ticketIdstringYesTicket ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Tickets Update

Update an existing ticket's properties by ID. Only the specified properties will be updated.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "update",
"params": {
"properties": {},
"ticketId": "<str>"
}
}'

Python SDK

await hubspot.tickets.update(
properties={},
ticket_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "update",
"params": {
"properties": {},
"ticketId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesTicket properties to update
properties.subjectstringNoTicket subject line
properties.contentstringNoTicket description/content
properties.hs_pipelinestringNoTicket pipeline ID
properties.hs_pipeline_stagestringNoPipeline stage ID
properties.hs_ticket_prioritystringNoTicket priority (e.g., LOW, MEDIUM, HIGH)
properties.hs_ticket_categorystringNoTicket category
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this ticket
ticketIdstringYesTicket ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Search for tickets by filtering on properties, searching through associations, and sorting results.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "api_search"
}'

Python SDK

await hubspot.tickets.api_search()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "api_search"
}'

Parameters

Parameter NameTypeRequiredDescription
filterGroupsarray<object>NoUp to 6 groups of filters defining additional query criteria.
filterGroups.filtersarray<object>No
filterGroups.filters.operator"BETWEEN" | "CONTAINS_TOKEN" | "EQ" | "GT" | "GTE" | "HAS_PROPERTY" | "IN" | "LT" | "LTE" | "NEQ" | "NOT_CONTAINS_TOKEN" | "NOT_HAS_PROPERTY" | "NOT_IN"No
filterGroups.filters.propertyNamestringNoThe name of the property to apply the filter on.
filterGroups.filters.valuestringNoThe value to match against the property.
filterGroups.filters.valuesarray<string>NoThe values to match against the property.
propertiesarray<string>NoA list of property names to include in the response.
limitintegerNoMaximum number of results to return
afterstringNoA paging cursor token for retrieving subsequent pages.
sortsarray<object>NoSort criteria
sorts.propertyNamestringNo
sorts.direction"ASCENDING" | "DESCENDING"No
querystringNoThe search query string, up to 3000 characters.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
totalinteger
next_cursorstring
next_linkstring

Search and filter tickets records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tickets",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.tickets.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tickets",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the ticket has been deleted and moved to the recycling bin
companiesarrayCollection of company records associated with the ticket
contactsarrayCollection of contact records associated with the ticket
createdAtstringTimestamp when the ticket record was originally created
idstringUnique identifier for the ticket record
propertiesobjectObject containing all property values for the ticket
properties.contentstringTicket content/description
properties.createdatestringDate the ticket was created
properties.hs_lastmodifieddatestringLast modified date of the ticket
properties.hs_object_idstringHubSpot object ID
properties.hs_pipelinestringTicket pipeline
properties.hs_pipeline_stagestringCurrent pipeline stage of the ticket
properties.hs_ticket_categorystringTicket category
properties.hs_ticket_prioritystringTicket priority level
properties.subjectstringTicket subject line
updatedAtstringTimestamp when the ticket record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the ticket has been deleted and moved to the recycling bin
data[].companiesarrayCollection of company records associated with the ticket
data[].contactsarrayCollection of contact records associated with the ticket
data[].createdAtstringTimestamp when the ticket record was originally created
data[].idstringUnique identifier for the ticket record
data[].propertiesobjectObject containing all property values for the ticket
data[].properties.contentstringTicket content/description
data[].properties.createdatestringDate the ticket was created
data[].properties.hs_lastmodifieddatestringLast modified date of the ticket
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_pipelinestringTicket pipeline
data[].properties.hs_pipeline_stagestringCurrent pipeline stage of the ticket
data[].properties.hs_ticket_categorystringTicket category
data[].properties.hs_ticket_prioritystringTicket priority level
data[].properties.subjectstringTicket subject line
data[].updatedAtstringTimestamp when the ticket record was last modified

Notes

Notes List

Returns a paginated list of notes

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "list"
}'

Python SDK

await hubspot.notes.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, companies, deals, tickets, and custom object type IDs or fully qualified names.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Notes Create

Create a new note in HubSpot CRM. Notes can be associated with contacts, companies, deals, or tickets by using the associations parameter. The hs_timestamp property sets when the note activity occurred.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "create",
"params": {
"properties": {
"hs_note_body": "<str>",
"hs_timestamp": "<str>"
},
"associations": []
}
}'

Python SDK

await hubspot.notes.create(
properties={
"hs_note_body": "<str>",
"hs_timestamp": "<str>"
},
associations=[]
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "create",
"params": {
"properties": {
"hs_note_body": "<str>",
"hs_timestamp": "<str>"
},
"associations": []
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesNote properties to set
properties.hs_note_bodystringYesThe body content of the note (supports HTML)
properties.hs_timestampstringYesRequired. Timestamp when the note activity occurred (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z). Use the current time if the user does not specify one.
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this note
associationsarray<object>NoAssociate the note with other CRM records (contacts, companies, deals, tickets)
associations.toobjectNo
associations.to.idstringNoID of the record to associate with
associations.typesarray<object>No
associations.types.associationCategorystringNoAssociation category (e.g., HUBSPOT_DEFINED)
associations.types.associationTypeIdintegerNoAssociation type ID (e.g., 202 for note-to-contact, 190 for note-to-company, 214 for note-to-deal, 18 for note-to-ticket)
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Notes Get

Get a single note by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "get",
"params": {
"noteId": "<str>"
}
}'

Python SDK

await hubspot.notes.get(
note_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "get",
"params": {
"noteId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
noteIdstringYesNote ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Notes Update

Update an existing note's properties by ID.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "update",
"params": {
"properties": {},
"noteId": "<str>"
}
}'

Python SDK

await hubspot.notes.update(
properties={},
note_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "update",
"params": {
"properties": {},
"noteId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesNote properties to update
properties.hs_note_bodystringNoThe body content of the note (supports HTML)
properties.hs_timestampstringNoTimestamp when the note activity occurred
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this note
noteIdstringYesNote ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Notes Delete

Archive a note by ID. This is a soft delete — the note is moved to the recycle bin and can be restored for approximately 90 days. No public hard-delete endpoint exists.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "delete",
"params": {
"noteId": "<str>"
}
}'

Python SDK

await hubspot.notes.delete(
note_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "delete",
"params": {
"noteId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
noteIdstringYesNote ID

Search and filter notes records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "notes",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.notes.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the note has been archived
createdAtstringTimestamp when the note was created
idstringUnique identifier for the note record
propertiesobjectObject containing all property values for the note
properties.hs_createdatestringDate the note was created
properties.hs_lastmodifieddatestringLast modified date of the note
properties.hs_note_bodystringThe body content of the note (supports HTML)
properties.hs_object_idstringHubSpot object ID
properties.hs_timestampstringTimestamp when the note activity occurred
properties.hubspot_owner_idstringID of the note owner
updatedAtstringTimestamp when the note record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the note has been archived
data[].createdAtstringTimestamp when the note was created
data[].idstringUnique identifier for the note record
data[].propertiesobjectObject containing all property values for the note
data[].properties.hs_createdatestringDate the note was created
data[].properties.hs_lastmodifieddatestringLast modified date of the note
data[].properties.hs_note_bodystringThe body content of the note (supports HTML)
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_timestampstringTimestamp when the note activity occurred
data[].properties.hubspot_owner_idstringID of the note owner
data[].updatedAtstringTimestamp when the note record was last modified

Calls

Calls List

Returns a paginated list of calls

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "list"
}'

Python SDK

await hubspot.calls.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, companies, deals, tickets, and custom object type IDs or fully qualified names.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Calls Create

Create a new call engagement in HubSpot CRM. Calls can be associated with contacts, companies, deals, or tickets by using the associations parameter. The hs_timestamp property sets when the call activity occurred.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>"
},
"associations": []
}
}'

Python SDK

await hubspot.calls.create(
properties={
"hs_timestamp": "<str>"
},
associations=[]
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>"
},
"associations": []
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesCall properties to set
properties.hs_call_bodystringNoDescription or notes about the call
properties.hs_call_directionstringNoDirection of the call (INBOUND or OUTBOUND)
properties.hs_call_dispositionstringNoThe outcome of the call (e.g., connected, no answer, busy, left voicemail)
properties.hs_call_durationstringNoDuration of the call in milliseconds
properties.hs_call_from_numberstringNoPhone number the call was made from
properties.hs_call_to_numberstringNoPhone number the call was made to
properties.hs_call_statusstringNoStatus of the call (e.g., COMPLETED, BUSY, NO_ANSWER, FAILED, CANCELED)
properties.hs_call_titlestringNoTitle or subject of the call
properties.hs_timestampstringYesRequired. Timestamp when the call activity occurred (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z). Use the current time if the user does not specify one.
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this call
associationsarray<object>NoAssociate the call with other CRM records (contacts, companies, deals, tickets)
associations.toobjectNo
associations.to.idstringNoID of the record to associate with
associations.typesarray<object>No
associations.types.associationCategorystringNoAssociation category (e.g., HUBSPOT_DEFINED)
associations.types.associationTypeIdintegerNoAssociation type ID (e.g., 194 for call-to-contact, 182 for call-to-company, 206 for call-to-deal, 220 for call-to-ticket)
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Calls Get

Get a single call by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "get",
"params": {
"callId": "<str>"
}
}'

Python SDK

await hubspot.calls.get(
call_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "get",
"params": {
"callId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
callIdstringYesCall ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Calls Update

Update an existing call's properties by ID.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "update",
"params": {
"properties": {},
"callId": "<str>"
}
}'

Python SDK

await hubspot.calls.update(
properties={},
call_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "update",
"params": {
"properties": {},
"callId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesCall properties to update
properties.hs_call_bodystringNoDescription or notes about the call
properties.hs_call_directionstringNoDirection of the call (INBOUND or OUTBOUND)
properties.hs_call_dispositionstringNoThe outcome of the call
properties.hs_call_durationstringNoDuration of the call in milliseconds
properties.hs_call_from_numberstringNoPhone number the call was made from
properties.hs_call_to_numberstringNoPhone number the call was made to
properties.hs_call_statusstringNoStatus of the call (e.g., COMPLETED, BUSY, NO_ANSWER)
properties.hs_call_titlestringNoTitle or subject of the call
properties.hs_timestampstringNoTimestamp when the call activity occurred
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this call
callIdstringYesCall ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Calls Delete

Archive a call by ID. This is a soft delete — the call is moved to the recycle bin and can be restored for approximately 90 days. No public hard-delete endpoint exists.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "delete",
"params": {
"callId": "<str>"
}
}'

Python SDK

await hubspot.calls.delete(
call_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "delete",
"params": {
"callId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
callIdstringYesCall ID

Search and filter calls records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "calls",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.calls.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the call has been archived
createdAtstringTimestamp when the call was created
idstringUnique identifier for the call record
propertiesobjectObject containing all property values for the call
properties.hs_call_bodystringDescription or notes about the call
properties.hs_call_directionstringDirection of the call (INBOUND or OUTBOUND)
properties.hs_call_durationstringDuration of the call in milliseconds
properties.hs_call_statusstringStatus of the call (e.g., COMPLETED, BUSY, NO_ANSWER)
properties.hs_call_titlestringTitle or subject of the call
properties.hs_createdatestringDate the call was created
properties.hs_lastmodifieddatestringLast modified date of the call
properties.hs_object_idstringHubSpot object ID
properties.hs_timestampstringTimestamp when the call activity occurred
properties.hubspot_owner_idstringID of the call owner
updatedAtstringTimestamp when the call record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the call has been archived
data[].createdAtstringTimestamp when the call was created
data[].idstringUnique identifier for the call record
data[].propertiesobjectObject containing all property values for the call
data[].properties.hs_call_bodystringDescription or notes about the call
data[].properties.hs_call_directionstringDirection of the call (INBOUND or OUTBOUND)
data[].properties.hs_call_durationstringDuration of the call in milliseconds
data[].properties.hs_call_statusstringStatus of the call (e.g., COMPLETED, BUSY, NO_ANSWER)
data[].properties.hs_call_titlestringTitle or subject of the call
data[].properties.hs_createdatestringDate the call was created
data[].properties.hs_lastmodifieddatestringLast modified date of the call
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_timestampstringTimestamp when the call activity occurred
data[].properties.hubspot_owner_idstringID of the call owner
data[].updatedAtstringTimestamp when the call record was last modified

Emails

Emails List

Returns a paginated list of emails

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "list"
}'

Python SDK

await hubspot.emails.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, companies, deals, tickets, and custom object type IDs or fully qualified names.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Emails Create

Create a new email engagement in HubSpot CRM. Emails can be associated with contacts, companies, deals, or tickets by using the associations parameter. The hs_timestamp property sets when the email activity occurred.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_email_direction": "<str>"
},
"associations": []
}
}'

Python SDK

await hubspot.emails.create(
properties={
"hs_timestamp": "<str>",
"hs_email_direction": "<str>"
},
associations=[]
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_email_direction": "<str>"
},
"associations": []
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesEmail properties to set
properties.hs_email_subjectstringNoSubject line of the email
properties.hs_email_textstringNoPlain text body of the email
properties.hs_email_htmlstringNoHTML body of the email
properties.hs_email_directionstringYesRequired. Direction of the email (EMAIL for sent, INCOMING_EMAIL for received, FORWARDED_EMAIL for forwarded)
properties.hs_email_statusstringNoStatus of the email (BOUNCED, FAILED, SCHEDULED, SENDING, SENT, DRAFT)
properties.hs_email_sender_emailstringNoSender email address
properties.hs_email_to_emailstringNoRecipient email address(es)
properties.hs_timestampstringYesRequired. Timestamp when the email activity occurred (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z). Use the current time if the user does not specify one.
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this email
associationsarray<object>NoAssociate the email with other CRM records (contacts, companies, deals, tickets)
associations.toobjectNo
associations.to.idstringNoID of the record to associate with
associations.typesarray<object>No
associations.types.associationCategorystringNoAssociation category (e.g., HUBSPOT_DEFINED)
associations.types.associationTypeIdintegerNoAssociation type ID (e.g., 198 for email-to-contact, 186 for email-to-company, 210 for email-to-deal, 224 for email-to-ticket)
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Emails Get

Get a single email by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "get",
"params": {
"emailId": "<str>"
}
}'

Python SDK

await hubspot.emails.get(
email_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "get",
"params": {
"emailId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
emailIdstringYesEmail ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Emails Update

Update an existing email's properties by ID.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "update",
"params": {
"properties": {},
"emailId": "<str>"
}
}'

Python SDK

await hubspot.emails.update(
properties={},
email_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "update",
"params": {
"properties": {},
"emailId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesEmail properties to update
properties.hs_email_subjectstringNoSubject line of the email
properties.hs_email_textstringNoPlain text body of the email
properties.hs_email_htmlstringNoHTML body of the email
properties.hs_email_directionstringNoDirection of the email (EMAIL, INCOMING_EMAIL, FORWARDED_EMAIL)
properties.hs_email_statusstringNoStatus of the email (BOUNCED, FAILED, SCHEDULED, SENDING, SENT, DRAFT)
properties.hs_timestampstringNoTimestamp when the email activity occurred
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this email
emailIdstringYesEmail ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Emails Delete

Archive an email by ID. This is a soft delete — the email is moved to the recycle bin and can be restored for approximately 90 days. No public hard-delete endpoint exists.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "delete",
"params": {
"emailId": "<str>"
}
}'

Python SDK

await hubspot.emails.delete(
email_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "delete",
"params": {
"emailId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
emailIdstringYesEmail ID

Search and filter emails records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "emails",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.emails.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "emails",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the email has been archived
createdAtstringTimestamp when the email was created
idstringUnique identifier for the email record
propertiesobjectObject containing all property values for the email
properties.hs_createdatestringDate the email was created
properties.hs_email_directionstringDirection of the email (EMAIL, INCOMING_EMAIL, FORWARDED_EMAIL)
properties.hs_email_statusstringStatus of the email (BOUNCED, FAILED, SCHEDULED, SENDING, SENT, DRAFT)
properties.hs_email_subjectstringSubject line of the email
properties.hs_email_textstringPlain text body of the email
properties.hs_lastmodifieddatestringLast modified date of the email
properties.hs_object_idstringHubSpot object ID
properties.hs_timestampstringTimestamp when the email activity occurred
properties.hubspot_owner_idstringID of the email owner
updatedAtstringTimestamp when the email record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the email has been archived
data[].createdAtstringTimestamp when the email was created
data[].idstringUnique identifier for the email record
data[].propertiesobjectObject containing all property values for the email
data[].properties.hs_createdatestringDate the email was created
data[].properties.hs_email_directionstringDirection of the email (EMAIL, INCOMING_EMAIL, FORWARDED_EMAIL)
data[].properties.hs_email_statusstringStatus of the email (BOUNCED, FAILED, SCHEDULED, SENDING, SENT, DRAFT)
data[].properties.hs_email_subjectstringSubject line of the email
data[].properties.hs_email_textstringPlain text body of the email
data[].properties.hs_lastmodifieddatestringLast modified date of the email
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_timestampstringTimestamp when the email activity occurred
data[].properties.hubspot_owner_idstringID of the email owner
data[].updatedAtstringTimestamp when the email record was last modified

Meetings

Meetings List

Returns a paginated list of meetings

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "list"
}'

Python SDK

await hubspot.meetings.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, companies, deals, tickets, and custom object type IDs or fully qualified names.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Meetings Create

Create a new meeting engagement in HubSpot CRM. Meetings can be associated with contacts, companies, deals, or tickets by using the associations parameter. The hs_timestamp property sets when the meeting activity occurred.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_meeting_title": "<str>"
},
"associations": []
}
}'

Python SDK

await hubspot.meetings.create(
properties={
"hs_timestamp": "<str>",
"hs_meeting_title": "<str>"
},
associations=[]
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_meeting_title": "<str>"
},
"associations": []
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesMeeting properties to set
properties.hs_meeting_titlestringYesRequired. Title of the meeting
properties.hs_meeting_bodystringNoDescription or notes about the meeting (supports HTML)
properties.hs_meeting_start_timestringNoStart time of the meeting (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z)
properties.hs_meeting_end_timestringNoEnd time of the meeting (ISO 8601 format, e.g. 2025-01-15T11:30:00.000Z)
properties.hs_meeting_locationstringNoLocation of the meeting
properties.hs_meeting_outcomestringNoOutcome of the meeting (e.g., SCHEDULED, COMPLETED, RESCHEDULED, NO_SHOW, CANCELED)
properties.hs_internal_meeting_notesstringNoInternal notes about the meeting
properties.hs_timestampstringYesRequired. Timestamp when the meeting activity occurred (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z). Use the current time if the user does not specify one.
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this meeting
associationsarray<object>NoAssociate the meeting with other CRM records (contacts, companies, deals, tickets)
associations.toobjectNo
associations.to.idstringNoID of the record to associate with
associations.typesarray<object>No
associations.types.associationCategorystringNoAssociation category (e.g., HUBSPOT_DEFINED)
associations.types.associationTypeIdintegerNoAssociation type ID (e.g., 200 for meeting-to-contact, 188 for meeting-to-company, 212 for meeting-to-deal, 226 for meeting-to-ticket)
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meetings Get

Get a single meeting by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "get",
"params": {
"meetingId": "<str>"
}
}'

Python SDK

await hubspot.meetings.get(
meeting_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "get",
"params": {
"meetingId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
meetingIdstringYesMeeting ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meetings Update

Update an existing meeting's properties by ID.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "update",
"params": {
"properties": {},
"meetingId": "<str>"
}
}'

Python SDK

await hubspot.meetings.update(
properties={},
meeting_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "update",
"params": {
"properties": {},
"meetingId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesMeeting properties to update
properties.hs_meeting_titlestringNoTitle of the meeting
properties.hs_meeting_bodystringNoDescription or notes about the meeting (supports HTML)
properties.hs_meeting_start_timestringNoStart time of the meeting (ISO 8601 format)
properties.hs_meeting_end_timestringNoEnd time of the meeting (ISO 8601 format)
properties.hs_meeting_locationstringNoLocation of the meeting
properties.hs_meeting_outcomestringNoOutcome of the meeting (e.g., SCHEDULED, COMPLETED, RESCHEDULED, NO_SHOW, CANCELED)
properties.hs_internal_meeting_notesstringNoInternal notes about the meeting
properties.hs_timestampstringNoTimestamp when the meeting activity occurred
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this meeting
meetingIdstringYesMeeting ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meetings Delete

Archive a meeting by ID. This is a soft delete — the meeting is moved to the recycle bin and can be restored for approximately 90 days. No public hard-delete endpoint exists.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "delete",
"params": {
"meetingId": "<str>"
}
}'

Python SDK

await hubspot.meetings.delete(
meeting_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "delete",
"params": {
"meetingId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
meetingIdstringYesMeeting ID

Search and filter meetings records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "meetings",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.meetings.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "meetings",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the meeting has been archived
createdAtstringTimestamp when the meeting was created
idstringUnique identifier for the meeting record
propertiesobjectObject containing all property values for the meeting
properties.hs_createdatestringDate the meeting was created
properties.hs_lastmodifieddatestringLast modified date of the meeting
properties.hs_meeting_bodystringDescription or notes about the meeting
properties.hs_meeting_end_timestringEnd time of the meeting
properties.hs_meeting_locationstringLocation of the meeting
properties.hs_meeting_outcomestringOutcome of the meeting (e.g., SCHEDULED, COMPLETED, NO_SHOW, CANCELED)
properties.hs_meeting_start_timestringStart time of the meeting
properties.hs_meeting_titlestringTitle of the meeting
properties.hs_object_idstringHubSpot object ID
properties.hs_timestampstringTimestamp when the meeting activity occurred
properties.hubspot_owner_idstringID of the meeting owner
updatedAtstringTimestamp when the meeting record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the meeting has been archived
data[].createdAtstringTimestamp when the meeting was created
data[].idstringUnique identifier for the meeting record
data[].propertiesobjectObject containing all property values for the meeting
data[].properties.hs_createdatestringDate the meeting was created
data[].properties.hs_lastmodifieddatestringLast modified date of the meeting
data[].properties.hs_meeting_bodystringDescription or notes about the meeting
data[].properties.hs_meeting_end_timestringEnd time of the meeting
data[].properties.hs_meeting_locationstringLocation of the meeting
data[].properties.hs_meeting_outcomestringOutcome of the meeting (e.g., SCHEDULED, COMPLETED, NO_SHOW, CANCELED)
data[].properties.hs_meeting_start_timestringStart time of the meeting
data[].properties.hs_meeting_titlestringTitle of the meeting
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_timestampstringTimestamp when the meeting activity occurred
data[].properties.hubspot_owner_idstringID of the meeting owner
data[].updatedAtstringTimestamp when the meeting record was last modified

Tasks

Tasks List

Returns a paginated list of tasks

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "list"
}'

Python SDK

await hubspot.tasks.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
associationsstringNoA comma separated list of associated object types to include in the response. Valid values are contacts, companies, deals, tickets, and custom object type IDs or fully qualified names.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Tasks Create

Create a new task in HubSpot CRM. Tasks can be associated with contacts, companies, deals, or tickets by using the associations parameter. The hs_timestamp property sets when the task activity occurred.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_task_subject": "<str>"
},
"associations": []
}
}'

Python SDK

await hubspot.tasks.create(
properties={
"hs_timestamp": "<str>",
"hs_task_subject": "<str>"
},
associations=[]
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "create",
"params": {
"properties": {
"hs_timestamp": "<str>",
"hs_task_subject": "<str>"
},
"associations": []
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesTask properties to set
properties.hs_task_bodystringNoDescription or notes for the task (supports HTML)
properties.hs_task_subjectstringYesRequired. Subject or title of the task
properties.hs_task_statusstringNoStatus of the task (NOT_STARTED, IN_PROGRESS, WAITING, COMPLETED, DEFERRED). Defaults to NOT_STARTED.
properties.hs_task_prioritystringNoPriority of the task (LOW, MEDIUM, HIGH)
properties.hs_task_typestringNoType of the task (TODO, CALL, EMAIL). Defaults to TODO.
properties.hs_task_remindersstringNoReminder timestamp for the task (epoch milliseconds)
properties.hs_timestampstringYesRequired. Due date / timestamp for the task (ISO 8601 format, e.g. 2025-01-15T10:30:00.000Z). Use the current time if the user does not specify one.
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this task
associationsarray<object>NoAssociate the task with other CRM records (contacts, companies, deals, tickets)
associations.toobjectNo
associations.to.idstringNoID of the record to associate with
associations.typesarray<object>No
associations.types.associationCategorystringNoAssociation category (e.g., HUBSPOT_DEFINED)
associations.types.associationTypeIdintegerNoAssociation type ID (e.g., 204 for task-to-contact, 192 for task-to-company, 216 for task-to-deal, 228 for task-to-ticket)
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Tasks Get

Get a single task by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "get",
"params": {
"taskId": "<str>"
}
}'

Python SDK

await hubspot.tasks.get(
task_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "get",
"params": {
"taskId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
taskIdstringYesTask ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Tasks Update

Update an existing task's properties by ID.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "update",
"params": {
"properties": {},
"taskId": "<str>"
}
}'

Python SDK

await hubspot.tasks.update(
properties={},
task_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "update",
"params": {
"properties": {},
"taskId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
propertiesobjectYesTask properties to update
properties.hs_task_bodystringNoDescription or notes for the task (supports HTML)
properties.hs_task_subjectstringNoSubject or title of the task
properties.hs_task_statusstringNoStatus of the task (NOT_STARTED, IN_PROGRESS, WAITING, COMPLETED, DEFERRED)
properties.hs_task_prioritystringNoPriority of the task (LOW, MEDIUM, HIGH)
properties.hs_task_typestringNoType of the task (TODO, CALL, EMAIL)
properties.hs_task_remindersstringNoReminder timestamp for the task (epoch milliseconds)
properties.hs_timestampstringNoDue date / timestamp for the task
properties.hubspot_owner_idstringNoID of the HubSpot owner to assign to this task
taskIdstringYesTask ID
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
associationsobject | null

Tasks Delete

Archive a task by ID. This is a soft delete — the task is moved to the recycle bin and can be restored for approximately 90 days. No public hard-delete endpoint exists.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "delete",
"params": {
"taskId": "<str>"
}
}'

Python SDK

await hubspot.tasks.delete(
task_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "delete",
"params": {
"taskId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
taskIdstringYesTask ID

Search and filter tasks records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "tasks",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"archived": true
}
}
}
}
}'

Python SDK

await hubspot.tasks.context_store_search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the task has been archived
createdAtstringTimestamp when the task was created
idstringUnique identifier for the task record
propertiesobjectObject containing all property values for the task
properties.hs_createdatestringDate the task was created
properties.hs_lastmodifieddatestringLast modified date of the task
properties.hs_object_idstringHubSpot object ID
properties.hs_task_bodystringDescription or notes for the task
properties.hs_task_prioritystringPriority of the task (LOW, MEDIUM, HIGH)
properties.hs_task_statusstringStatus of the task (NOT_STARTED, IN_PROGRESS, WAITING, COMPLETED, DEFERRED)
properties.hs_task_subjectstringSubject or title of the task
properties.hs_task_typestringType of the task (TODO, CALL, EMAIL)
properties.hs_timestampstringDue date / timestamp for the task
properties.hubspot_owner_idstringID of the task owner
updatedAtstringTimestamp when the task record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the task has been archived
data[].createdAtstringTimestamp when the task was created
data[].idstringUnique identifier for the task record
data[].propertiesobjectObject containing all property values for the task
data[].properties.hs_createdatestringDate the task was created
data[].properties.hs_lastmodifieddatestringLast modified date of the task
data[].properties.hs_object_idstringHubSpot object ID
data[].properties.hs_task_bodystringDescription or notes for the task
data[].properties.hs_task_prioritystringPriority of the task (LOW, MEDIUM, HIGH)
data[].properties.hs_task_statusstringStatus of the task (NOT_STARTED, IN_PROGRESS, WAITING, COMPLETED, DEFERRED)
data[].properties.hs_task_subjectstringSubject or title of the task
data[].properties.hs_task_typestringType of the task (TODO, CALL, EMAIL)
data[].properties.hs_timestampstringDue date / timestamp for the task
data[].properties.hubspot_owner_idstringID of the task owner
data[].updatedAtstringTimestamp when the task record was last modified

Schemas

Schemas List

Returns all custom object schemas to discover available custom objects

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "schemas",
"action": "list"
}'

Python SDK

await hubspot.schemas.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "schemas",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
archivedbooleanNoWhether to return only results that have been archived.
Response Schema

Records

Field NameTypeDescription
idstring
namestring
labelsobject
objectTypeIdstring
fullyQualifiedNamestring
requiredPropertiesarray<string>
searchablePropertiesarray<string>
primaryDisplayPropertystring
secondaryDisplayPropertiesarray<string>
descriptionstring | null
allowsSensitivePropertiesboolean
archivedboolean
restorableboolean
metaTypestring
createdByUserIdinteger
updatedByUserIdinteger
propertiesarray<object>
associationsarray<object>
createdAtstring
updatedAtstring

Schemas Get

Get the schema for a specific custom object type

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "schemas",
"action": "get",
"params": {
"objectType": "<str>"
}
}'

Python SDK

await hubspot.schemas.get(
object_type="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "schemas",
"action": "get",
"params": {
"objectType": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
objectTypestringYesFully qualified name or object type ID of your schema.
Response Schema

Records

Field NameTypeDescription
idstring
namestring
labelsobject
objectTypeIdstring
fullyQualifiedNamestring
requiredPropertiesarray<string>
searchablePropertiesarray<string>
primaryDisplayPropertystring
secondaryDisplayPropertiesarray<string>
descriptionstring | null
allowsSensitivePropertiesboolean
archivedboolean
restorableboolean
metaTypestring
createdByUserIdinteger
updatedByUserIdinteger
propertiesarray<object>
associationsarray<object>
createdAtstring
updatedAtstring

Objects

Objects List

Read a page of objects. Control what is returned via the properties query param.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "objects",
"action": "list",
"params": {
"objectType": "<str>"
}
}'

Python SDK

await hubspot.objects.list(
object_type="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "objects",
"action": "list",
"params": {
"objectType": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
objectTypestringYesObject type ID or fully qualified name (e.g., "cars" or "p12345_cars")
limitintegerNoThe maximum number of results to display per page.
afterstringNoThe paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Objects Get

Read an Object identified by {objectId}. {objectId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "objects",
"action": "get",
"params": {
"objectType": "<str>",
"objectId": "<str>"
}
}'

Python SDK

await hubspot.objects.get(
object_type="<str>",
object_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "objects",
"action": "get",
"params": {
"objectType": "<str>",
"objectId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
objectTypestringYesObject type ID or fully qualified name
objectIdstringYesObject record ID
propertiesstringNoA comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.
archivedbooleanNoWhether to return only results that have been archived.
associationsstringNoA comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.
idPropertystringNoThe name of a property whose values are unique for this object.
propertiesWithHistorystringNoA comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.
Response Schema

Records

Field NameTypeDescription
idstring
propertiesobject
createdAtstring
updatedAtstring
archivedboolean
archivedAtstring | null
propertiesWithHistoryobject | null
associationsobject | null
objectWriteTraceIdstring | null
urlstring | null

Associations

Associations List

Retrieve all associations between a specific CRM record and a target object type using the v4 associations API. Returns up to 500 associations per call. Use the after cursor for pagination when there are more results. For example, retrieve all companies associated with a contact, or all deals associated with a company.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "associations",
"action": "list",
"params": {
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>"
}
}'

Python SDK

await hubspot.associations.list(
from_object_type="<str>",
from_object_id="<str>",
to_object_type="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "associations",
"action": "list",
"params": {
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
fromObjectTypestringYesObject type of the source record (e.g., contacts, companies, deals, tickets, or a custom object type ID)
fromObjectIdstringYesID of the source record to retrieve associations for
toObjectTypestringYesObject type of the target records to retrieve (e.g., contacts, companies, deals, tickets, or a custom object type ID)
afterstringNoPaging cursor token from a previous response for retrieving subsequent pages of results
limitintegerNoMaximum number of results to return per page (default 500, max 500)
Response Schema

Records

Field NameTypeDescription
resultsarray<object>
pagingobject

Meta

Field NameTypeDescription
next_cursorstring
next_linkstring

Associations Create

Create a labeled association between two CRM records using the v4 associations API. Labeled associations carry an association type ID and category that describe the relationship (e.g., "Primary Company", "Billing Contact"). This is idempotent — calling it again with the same IDs and label has no effect. Use the association type ID and category from the HubSpot association definitions for the relevant object pair. Common association type IDs include:

  • Contact to Company: 279 (HUBSPOT_DEFINED) for default, 1 (HUBSPOT_DEFINED) for Primary
  • Company to Contact: 280 (HUBSPOT_DEFINED) for default, 2 (HUBSPOT_DEFINED) for Primary
  • Contact to Deal: 4 (HUBSPOT_DEFINED) for default
  • Deal to Contact: 3 (HUBSPOT_DEFINED) for default
  • Deal to Company: 341 (HUBSPOT_DEFINED) for default, 5 (HUBSPOT_DEFINED) for Primary
  • Company to Deal: 342 (HUBSPOT_DEFINED) for default, 6 (HUBSPOT_DEFINED) for Primary
  • Contact to Ticket: 15 (HUBSPOT_DEFINED) for default
  • Ticket to Contact: 16 (HUBSPOT_DEFINED) for default
  • Ticket to Company: 339 (HUBSPOT_DEFINED) for default, 26 (HUBSPOT_DEFINED) for Primary
  • Company to Ticket: 340 (HUBSPOT_DEFINED) for default, 25 (HUBSPOT_DEFINED) for Primary

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "associations",
"action": "create",
"params": {
"associationCategory": "<str>",
"associationTypeId": 0,
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>",
"toObjectId": "<str>"
}
}'

Python SDK

await hubspot.associations.create(
association_category="<str>",
association_type_id=0,
from_object_type="<str>",
from_object_id="<str>",
to_object_type="<str>",
to_object_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "associations",
"action": "create",
"params": {
"associationCategory": "<str>",
"associationTypeId": 0,
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>",
"toObjectId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
associationCategory"HUBSPOT_DEFINED" | "USER_DEFINED"YesCategory of the association type. Use HUBSPOT_DEFINED for standard HubSpot association
types (e.g., primary company, default contact-to-deal) or USER_DEFINED for custom
association labels created in your HubSpot portal.
associationTypeIdintegerYesNumeric identifier for the association type. Common IDs include:
279 = Contact to Company (default), 280 = Company to Contact (default),
4 = Contact to Deal (default), 3 = Deal to Contact (default),
341 = Deal to Company (default), 342 = Company to Deal (default),
1 = Contact to Primary Company, 2 = Company to Primary Contact,
5 = Deal to Primary Company, 6 = Primary Company to Deal,
15 = Contact to Ticket (default), 16 = Ticket to Contact (default),
339 = Ticket to Company (default), 340 = Company to Ticket (default),
26 = Ticket to Primary Company, 25 = Primary Company to Ticket.
Use the association definitions API to discover additional type IDs.
fromObjectTypestringYesObject type of the source record (e.g., contacts, companies, deals, tickets, or a custom object type ID)
fromObjectIdstringYesID of the source record to associate from
toObjectTypestringYesObject type of the target record (e.g., contacts, companies, deals, tickets, or a custom object type ID)
toObjectIdstringYesID of the target record to associate to
Response Schema

Records

Field NameTypeDescription
statusstring
resultsarray<object>
startedAtstring
completedAtstring
requestedAtstring | null

Associations Delete

Delete all associations between two specific CRM records using the v4 associations API. This removes every association (both default and labeled) between the two specified records. This operation is irreversible — deleted associations must be recreated manually.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "hubspot",
"entity": "associations",
"action": "delete",
"params": {
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>",
"toObjectId": "<str>"
}
}'

Python SDK

await hubspot.associations.delete(
from_object_type="<str>",
from_object_id="<str>",
to_object_type="<str>",
to_object_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "associations",
"action": "delete",
"params": {
"fromObjectType": "<str>",
"fromObjectId": "<str>",
"toObjectType": "<str>",
"toObjectId": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
fromObjectTypestringYesObject type of the source record (e.g., contacts, companies, deals, tickets, or a custom object type ID)
fromObjectIdstringYesID of the source record
toObjectTypestringYesObject type of the target record (e.g., contacts, companies, deals, tickets, or a custom object type ID)
toObjectIdstringYesID of the target record