# HubSpot (/integrations/hubspot)





{/* MANUAL-CONTENT-START:intro */}

[HubSpot](https://www.hubspot.com/) stores CRM contacts, companies, deals, tickets, and related records. Use this integration to read and update those records and trigger workflows from HubSpot events. Follow the [HubSpot setup guide](/integrations/hubspot-setup) to connect your account.

{/* MANUAL-CONTENT-END */}

Connection guides: [Private app tokens](/integrations/hubspot-service-account) · [Setup guide](/integrations/hubspot-setup).

## OAuth scopes [#oauth-scopes]

Sim requests these scopes when someone connects a HubSpot account. For a self-hosted deployment, register your own app with the provider using the settings below. See [Integrations and OAuth](/platform/self-hosting/integrations-oauth) for setup.

| Setting | Value |
| - | - |
| Redirect URI | `<NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/hubspot` |
| Environment variables | `HUBSPOT_CLIENT_ID`, `HUBSPOT_CLIENT_SECRET` |

| Scope | Description |
| - | - |
| `crm.objects.contacts.read` | Read HubSpot contacts |
| `crm.objects.contacts.write` | Create, update, and delete HubSpot contacts |
| `crm.objects.companies.read` | Read HubSpot companies |
| `crm.objects.companies.write` | Create, update, and delete HubSpot companies |
| `crm.objects.deals.read` | Read HubSpot deals |
| `crm.objects.deals.write` | Create, update, and delete HubSpot deals |
| `crm.objects.owners.read` | Read HubSpot object owners |
| `crm.objects.users.read` | Read HubSpot users |
| `crm.objects.marketing_events.read` | Read HubSpot marketing events |
| `crm.objects.line_items.read` | Read HubSpot line items |
| `crm.objects.line_items.write` | Create, update, and delete HubSpot line items |
| `crm.objects.quotes.read` | Read HubSpot quotes |
| `crm.objects.appointments.read` | Read HubSpot appointments |
| `crm.objects.appointments.write` | Create and update HubSpot appointments |
| `crm.objects.carts.read` | Read HubSpot shopping carts |
| `sales-email-read` | Read the content of HubSpot email engagements |
| `crm.lists.read` | Read HubSpot lists |
| `crm.lists.write` | Create and update HubSpot lists |
| `tickets` | Create, read, update, and delete HubSpot tickets |
| `oauth` | Authenticate with HubSpot OAuth |

## Use the block [#usage-instructions]

Manage contacts, companies, deals, tickets, and other CRM objects. Use trigger mode to start workflows when records are created, updated, a specific property changes, or a contact joins a list.

## Actions [#actions]

### Get Users from HubSpot [#get-users-from-hubspot]

Retrieve all users from HubSpot account

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Number of results to return (default: 10, max: 100) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot user property names to return (e.g., "hs\_email,hs\_given\_name,hs\_family\_name") |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `users` | array | Array of HubSpot CRM records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Record properties |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `totalItems` | number | Total number of users returned |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Contacts from HubSpot [#list-contacts-from-hubspot]

Retrieve all contacts from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "email,firstname,lastname,phone") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "companies,deals") |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `contacts` | array | Array of HubSpot contact records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Contact properties |
  | ↳ `email` | string | Contact email address |
  | ↳ `firstname` | string | Contact first name |
  | ↳ `lastname` | string | Contact last name |
  | ↳ `phone` | string | Contact phone number |
  | ↳ `mobilephone` | string | Contact mobile phone number |
  | ↳ `company` | string | Associated company name |
  | ↳ `website` | string | Contact website URL |
  | ↳ `jobtitle` | string | Contact job title |
  | ↳ `lifecyclestage` | string | Lifecycle stage (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Contact creation date (ISO 8601) |
  | ↳ `lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `address` | string | Street address |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `fax` | string | Fax number |
  | ↳ `hs_timezone` | string | Contact timezone |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Contact from HubSpot [#get-contact-from-hubspot]

Retrieve a single contact by ID or email from HubSpot

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contactId` | string | Yes | The HubSpot contact ID (numeric string) or email address to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier (e.g., "email"). If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "email,firstname,lastname,phone") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "companies,deals") |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `contact` | object | HubSpot contact record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Contact properties |
  | ↳ `email` | string | Contact email address |
  | ↳ `firstname` | string | Contact first name |
  | ↳ `lastname` | string | Contact last name |
  | ↳ `phone` | string | Contact phone number |
  | ↳ `mobilephone` | string | Contact mobile phone number |
  | ↳ `company` | string | Associated company name |
  | ↳ `website` | string | Contact website URL |
  | ↳ `jobtitle` | string | Contact job title |
  | ↳ `lifecyclestage` | string | Lifecycle stage (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Contact creation date (ISO 8601) |
  | ↳ `lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `address` | string | Street address |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `fax` | string | Fax number |
  | ↳ `hs_timezone` | string | Contact timezone |
  | ↳ `associations` | object | Associated records (companies, deals, etc.) |
  | `contactId` | string | The retrieved contact ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Contact in HubSpot [#create-contact-in-hubspot]

Create a new contact in HubSpot. Requires at least one of: email, firstname, or lastname

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Contact properties as JSON object. Must include at least one of: email, firstname, or lastname (e.g., \{"email": "[john@example.com](mailto:john@example.com)", "firstname": "John", "lastname": "Doe"}) |
  | `associations` | array | No | Array of associations to create with the contact as JSON. Each object should have "to.id" (company/deal ID) and "types" array with "associationCategory" and "associationTypeId" |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `contact` | object | HubSpot contact record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Contact properties |
  | ↳ `email` | string | Contact email address |
  | ↳ `firstname` | string | Contact first name |
  | ↳ `lastname` | string | Contact last name |
  | ↳ `phone` | string | Contact phone number |
  | ↳ `mobilephone` | string | Contact mobile phone number |
  | ↳ `company` | string | Associated company name |
  | ↳ `website` | string | Contact website URL |
  | ↳ `jobtitle` | string | Contact job title |
  | ↳ `lifecyclestage` | string | Lifecycle stage (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Contact creation date (ISO 8601) |
  | ↳ `lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `address` | string | Street address |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `fax` | string | Fax number |
  | ↳ `hs_timezone` | string | Contact timezone |
  | ↳ `associations` | object | Associated records (companies, deals, etc.) |
  | `contactId` | string | The created contact ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Contact in HubSpot [#update-contact-in-hubspot]

Update an existing contact in HubSpot by ID or email

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contactId` | string | Yes | The HubSpot contact ID (numeric string) or email of the contact to update |
  | `idProperty` | string | No | Property to use as unique identifier (e.g., "email"). If not specified, uses record ID |
  | `properties` | object | Yes | Contact properties to update as JSON object (e.g., \{"firstname": "John", "phone": "+1234567890"}) |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `contact` | object | HubSpot contact record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Contact properties |
  | ↳ `email` | string | Contact email address |
  | ↳ `firstname` | string | Contact first name |
  | ↳ `lastname` | string | Contact last name |
  | ↳ `phone` | string | Contact phone number |
  | ↳ `mobilephone` | string | Contact mobile phone number |
  | ↳ `company` | string | Associated company name |
  | ↳ `website` | string | Contact website URL |
  | ↳ `jobtitle` | string | Contact job title |
  | ↳ `lifecyclestage` | string | Lifecycle stage (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Contact creation date (ISO 8601) |
  | ↳ `lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `address` | string | Street address |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `fax` | string | Fax number |
  | ↳ `hs_timezone` | string | Contact timezone |
  | ↳ `associations` | object | Associated records (companies, deals, etc.) |
  | `contactId` | string | The updated contact ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Contacts in HubSpot [#search-contacts-in-hubspot]

Search for contacts in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "CONTAINS\_TOKEN", "GT"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against contact name, email, and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["email", "firstname", "lastname", "phone"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `contacts` | array | Array of HubSpot contact records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Contact properties |
  | ↳ `email` | string | Contact email address |
  | ↳ `firstname` | string | Contact first name |
  | ↳ `lastname` | string | Contact last name |
  | ↳ `phone` | string | Contact phone number |
  | ↳ `mobilephone` | string | Contact mobile phone number |
  | ↳ `company` | string | Associated company name |
  | ↳ `website` | string | Contact website URL |
  | ↳ `jobtitle` | string | Contact job title |
  | ↳ `lifecyclestage` | string | Lifecycle stage (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Contact creation date (ISO 8601) |
  | ↳ `lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `address` | string | Street address |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `fax` | string | Fax number |
  | ↳ `hs_timezone` | string | Contact timezone |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching contacts |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Companies from HubSpot [#list-companies-from-hubspot]

Retrieve all companies from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "name,domain,industry") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,deals") |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `companies` | array | Array of HubSpot company records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Company properties |
  | ↳ `name` | string | Company name |
  | ↳ `domain` | string | Company website domain (unique identifier) |
  | ↳ `description` | string | Company description |
  | ↳ `industry` | string | Industry type (e.g., Airlines/Aviation) |
  | ↳ `phone` | string | Company phone number |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `address` | string | Street address |
  | ↳ `numberofemployees` | string | Total number of employees |
  | ↳ `annualrevenue` | string | Annual revenue estimate |
  | ↳ `lifecyclestage` | string | Lifecycle stage |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Company creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `hs_additional_domains` | string | Additional domains (semicolon-separated) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts (auto-updated) |
  | ↳ `num_associated_deals` | string | Number of associated deals (auto-updated) |
  | ↳ `website` | string | Company website URL |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Company from HubSpot [#get-company-from-hubspot]

Retrieve a single company by ID or domain from HubSpot

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `companyId` | string | Yes | The HubSpot company ID (numeric string) or domain to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier (e.g., "domain"). If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "name,domain,industry") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,deals") |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `company` | object | HubSpot company record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Company properties |
  | ↳ `name` | string | Company name |
  | ↳ `domain` | string | Company website domain (unique identifier) |
  | ↳ `description` | string | Company description |
  | ↳ `industry` | string | Industry type (e.g., Airlines/Aviation) |
  | ↳ `phone` | string | Company phone number |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `address` | string | Street address |
  | ↳ `numberofemployees` | string | Total number of employees |
  | ↳ `annualrevenue` | string | Annual revenue estimate |
  | ↳ `lifecyclestage` | string | Lifecycle stage |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Company creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `hs_additional_domains` | string | Additional domains (semicolon-separated) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts (auto-updated) |
  | ↳ `num_associated_deals` | string | Number of associated deals (auto-updated) |
  | ↳ `website` | string | Company website URL |
  | ↳ `associations` | object | Associated records (contacts, deals, etc.) |
  | `companyId` | string | The retrieved company ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Company in HubSpot [#create-company-in-hubspot]

Create a new company in HubSpot

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Company properties as JSON object (e.g., \{"name": "Acme Inc", "domain": "acme.com", "industry": "Technology"}) |
  | `associations` | array | No | Array of associations to create with the company as JSON (each with "to.id" and "types" containing "associationCategory" and "associationTypeId") |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `company` | object | HubSpot company record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Company properties |
  | ↳ `name` | string | Company name |
  | ↳ `domain` | string | Company website domain (unique identifier) |
  | ↳ `description` | string | Company description |
  | ↳ `industry` | string | Industry type (e.g., Airlines/Aviation) |
  | ↳ `phone` | string | Company phone number |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `address` | string | Street address |
  | ↳ `numberofemployees` | string | Total number of employees |
  | ↳ `annualrevenue` | string | Annual revenue estimate |
  | ↳ `lifecyclestage` | string | Lifecycle stage |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Company creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `hs_additional_domains` | string | Additional domains (semicolon-separated) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts (auto-updated) |
  | ↳ `num_associated_deals` | string | Number of associated deals (auto-updated) |
  | ↳ `website` | string | Company website URL |
  | ↳ `associations` | object | Associated records (contacts, deals, etc.) |
  | `companyId` | string | The created company ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Company in HubSpot [#update-company-in-hubspot]

Update an existing company in HubSpot by ID or domain

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `companyId` | string | Yes | The HubSpot company ID (numeric string) or domain of the company to update |
  | `idProperty` | string | No | Property to use as unique identifier (e.g., "domain"). If not specified, uses record ID |
  | `properties` | object | Yes | Company properties to update as JSON object (e.g., \{"name": "New Name", "industry": "Finance"}) |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `company` | object | HubSpot company record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Company properties |
  | ↳ `name` | string | Company name |
  | ↳ `domain` | string | Company website domain (unique identifier) |
  | ↳ `description` | string | Company description |
  | ↳ `industry` | string | Industry type (e.g., Airlines/Aviation) |
  | ↳ `phone` | string | Company phone number |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `address` | string | Street address |
  | ↳ `numberofemployees` | string | Total number of employees |
  | ↳ `annualrevenue` | string | Annual revenue estimate |
  | ↳ `lifecyclestage` | string | Lifecycle stage |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Company creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `hs_additional_domains` | string | Additional domains (semicolon-separated) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts (auto-updated) |
  | ↳ `num_associated_deals` | string | Number of associated deals (auto-updated) |
  | ↳ `website` | string | Company website URL |
  | ↳ `associations` | object | Associated records (contacts, deals, etc.) |
  | `companyId` | string | The updated company ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Companies in HubSpot [#search-companies-in-hubspot]

Search for companies in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "CONTAINS\_TOKEN", "GT"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against company name, domain, and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["name", "domain", "industry"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `companies` | array | Array of HubSpot company records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Company properties |
  | ↳ `name` | string | Company name |
  | ↳ `domain` | string | Company website domain (unique identifier) |
  | ↳ `description` | string | Company description |
  | ↳ `industry` | string | Industry type (e.g., Airlines/Aviation) |
  | ↳ `phone` | string | Company phone number |
  | ↳ `city` | string | City |
  | ↳ `state` | string | State/Region |
  | ↳ `zip` | string | Postal/ZIP code |
  | ↳ `country` | string | Country |
  | ↳ `address` | string | Street address |
  | ↳ `numberofemployees` | string | Total number of employees |
  | ↳ `annualrevenue` | string | Annual revenue estimate |
  | ↳ `lifecyclestage` | string | Lifecycle stage |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Company creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `hs_additional_domains` | string | Additional domains (semicolon-separated) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts (auto-updated) |
  | ↳ `num_associated_deals` | string | Number of associated deals (auto-updated) |
  | ↳ `website` | string | Company website URL |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching companies |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Deals from HubSpot [#list-deals-from-hubspot]

Retrieve all deals from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "dealname,amount,dealstage") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `deals` | array | Array of HubSpot deal records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Deal properties |
  | ↳ `dealname` | string | Deal name |
  | ↳ `amount` | string | Deal amount |
  | ↳ `dealstage` | string | Current deal stage |
  | ↳ `pipeline` | string | Pipeline the deal is in |
  | ↳ `closedate` | string | Expected close date (ISO 8601) |
  | ↳ `dealtype` | string | Deal type (New Business, Existing Business, etc.) |
  | ↳ `description` | string | Deal description |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Deal creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Deal from HubSpot [#get-deal-from-hubspot]

Retrieve a single deal by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `dealId` | string | Yes | The HubSpot deal ID to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "dealname,amount,dealstage") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `deal` | object | HubSpot deal record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Deal properties |
  | ↳ `dealname` | string | Deal name |
  | ↳ `amount` | string | Deal amount |
  | ↳ `dealstage` | string | Current deal stage |
  | ↳ `pipeline` | string | Pipeline the deal is in |
  | ↳ `closedate` | string | Expected close date (ISO 8601) |
  | ↳ `dealtype` | string | Deal type (New Business, Existing Business, etc.) |
  | ↳ `description` | string | Deal description |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Deal creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts |
  | ↳ `associations` | object | Associated records (contacts, companies, line items, etc.) |
  | `dealId` | string | The retrieved deal ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Deal in HubSpot [#create-deal-in-hubspot]

Create a new deal in HubSpot with the given properties (e.g., dealname, amount, dealstage)

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Deal properties as JSON object. Should include dealname and dealstage, plus pipeline when the account has multiple pipelines (e.g., \{"dealname": "New Deal", "amount": "5000", "dealstage": "appointmentscheduled"}) |
  | `associations` | array | No | Array of associations to create with the deal as JSON. Each object should have "to.id" and "types" array with "associationCategory" and "associationTypeId" |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `deal` | object | HubSpot deal record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Deal properties |
  | ↳ `dealname` | string | Deal name |
  | ↳ `amount` | string | Deal amount |
  | ↳ `dealstage` | string | Current deal stage |
  | ↳ `pipeline` | string | Pipeline the deal is in |
  | ↳ `closedate` | string | Expected close date (ISO 8601) |
  | ↳ `dealtype` | string | Deal type (New Business, Existing Business, etc.) |
  | ↳ `description` | string | Deal description |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Deal creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts |
  | ↳ `associations` | object | Associated records (contacts, companies, line items, etc.) |
  | `dealId` | string | The created deal ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Deal in HubSpot [#update-deal-in-hubspot]

Update an existing deal in HubSpot by ID

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `dealId` | string | Yes | The HubSpot deal ID to update |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | object | Yes | Deal properties to update as JSON object (e.g., \{"amount": "10000", "dealstage": "closedwon"}) |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `deal` | object | HubSpot deal record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Deal properties |
  | ↳ `dealname` | string | Deal name |
  | ↳ `amount` | string | Deal amount |
  | ↳ `dealstage` | string | Current deal stage |
  | ↳ `pipeline` | string | Pipeline the deal is in |
  | ↳ `closedate` | string | Expected close date (ISO 8601) |
  | ↳ `dealtype` | string | Deal type (New Business, Existing Business, etc.) |
  | ↳ `description` | string | Deal description |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Deal creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts |
  | ↳ `associations` | object | Associated records (contacts, companies, line items, etc.) |
  | `dealId` | string | The updated deal ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Deals in HubSpot [#search-deals-in-hubspot]

Search for deals in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "NEQ", "CONTAINS\_TOKEN", "NOT\_CONTAINS\_TOKEN"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against deal name and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["dealname", "amount", "dealstage"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `deals` | array | Array of HubSpot deal records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Deal properties |
  | ↳ `dealname` | string | Deal name |
  | ↳ `amount` | string | Deal amount |
  | ↳ `dealstage` | string | Current deal stage |
  | ↳ `pipeline` | string | Pipeline the deal is in |
  | ↳ `closedate` | string | Expected close date (ISO 8601) |
  | ↳ `dealtype` | string | Deal type (New Business, Existing Business, etc.) |
  | ↳ `description` | string | Deal description |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Deal creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `num_associated_contacts` | string | Number of associated contacts |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching deals |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Tickets from HubSpot [#list-tickets-from-hubspot]

Retrieve all tickets from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "subject,content,hs\_ticket\_priority") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `tickets` | array | Array of HubSpot ticket records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Ticket properties |
  | ↳ `subject` | string | Ticket subject/name |
  | ↳ `content` | string | Ticket content/description |
  | ↳ `hs_pipeline` | string | Pipeline the ticket is in |
  | ↳ `hs_pipeline_stage` | string | Current pipeline stage |
  | ↳ `hs_ticket_priority` | string | Ticket priority (LOW, MEDIUM, HIGH) |
  | ↳ `hs_ticket_category` | string | Ticket category |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Ticket creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Ticket from HubSpot [#get-ticket-from-hubspot]

Retrieve a single ticket by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `ticketId` | string | Yes | The HubSpot ticket ID to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "subject,content,hs\_ticket\_priority") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | HubSpot ticket record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Ticket properties |
  | ↳ `subject` | string | Ticket subject/name |
  | ↳ `content` | string | Ticket content/description |
  | ↳ `hs_pipeline` | string | Pipeline the ticket is in |
  | ↳ `hs_pipeline_stage` | string | Current pipeline stage |
  | ↳ `hs_ticket_priority` | string | Ticket priority (LOW, MEDIUM, HIGH) |
  | ↳ `hs_ticket_category` | string | Ticket category |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Ticket creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `ticketId` | string | The retrieved ticket ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Ticket in HubSpot [#create-ticket-in-hubspot]

Create a new ticket in HubSpot. Requires subject and hs\_pipeline\_stage properties

<ReferenceDetails>
  #### Input [#input-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Ticket properties as JSON object. Must include subject and hs\_pipeline\_stage (e.g., \{"subject": "Support request", "hs\_pipeline\_stage": "1", "hs\_ticket\_priority": "HIGH"}) |
  | `associations` | array | No | Array of associations to create with the ticket as JSON. Each object should have "to.id" and "types" array with "associationCategory" and "associationTypeId" |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | HubSpot ticket record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Ticket properties |
  | ↳ `subject` | string | Ticket subject/name |
  | ↳ `content` | string | Ticket content/description |
  | ↳ `hs_pipeline` | string | Pipeline the ticket is in |
  | ↳ `hs_pipeline_stage` | string | Current pipeline stage |
  | ↳ `hs_ticket_priority` | string | Ticket priority (LOW, MEDIUM, HIGH) |
  | ↳ `hs_ticket_category` | string | Ticket category |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Ticket creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `ticketId` | string | The created ticket ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Ticket in HubSpot [#update-ticket-in-hubspot]

Update an existing ticket in HubSpot by ID

<ReferenceDetails>
  #### Input [#input-19]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `ticketId` | string | Yes | The HubSpot ticket ID to update |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | object | Yes | Ticket properties to update as JSON object (e.g., \{"subject": "Updated subject", "hs\_ticket\_priority": "HIGH"}) |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticket` | object | HubSpot ticket record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Ticket properties |
  | ↳ `subject` | string | Ticket subject/name |
  | ↳ `content` | string | Ticket content/description |
  | ↳ `hs_pipeline` | string | Pipeline the ticket is in |
  | ↳ `hs_pipeline_stage` | string | Current pipeline stage |
  | ↳ `hs_ticket_priority` | string | Ticket priority (LOW, MEDIUM, HIGH) |
  | ↳ `hs_ticket_category` | string | Ticket category |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Ticket creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `ticketId` | string | The updated ticket ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Tickets in HubSpot [#search-tickets-in-hubspot]

Search for tickets in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-20]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "NEQ", "CONTAINS\_TOKEN", "NOT\_CONTAINS\_TOKEN"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against ticket subject and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["subject", "content", "hs\_ticket\_priority"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `tickets` | array | Array of HubSpot ticket records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Ticket properties |
  | ↳ `subject` | string | Ticket subject/name |
  | ↳ `content` | string | Ticket content/description |
  | ↳ `hs_pipeline` | string | Pipeline the ticket is in |
  | ↳ `hs_pipeline_stage` | string | Current pipeline stage |
  | ↳ `hs_ticket_priority` | string | Ticket priority (LOW, MEDIUM, HIGH) |
  | ↳ `hs_ticket_category` | string | Ticket category |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Ticket creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching tickets |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Notes from HubSpot [#list-notes-from-hubspot]

Retrieve all notes from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-21]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_note\_body,hs\_timestamp,hubspot\_owner\_id") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies,deals") |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `notes` | array | Array of HubSpot note records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Note properties |
  | ↳ `hs_note_body` | string | Note text/body (supports rich text/HTML) |
  | ↳ `hs_timestamp` | string | Note activity time (ISO 8601) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_attachment_ids` | string | Semicolon-separated IDs of files attached to the note |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Note creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Note from HubSpot [#get-note-from-hubspot]

Retrieve a single note by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-22]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `noteId` | string | Yes | The HubSpot note ID to retrieve |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_note\_body,hs\_timestamp,hubspot\_owner\_id") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies,deals") |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `note` | object | HubSpot note record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Note properties |
  | ↳ `hs_note_body` | string | Note text/body (supports rich text/HTML) |
  | ↳ `hs_timestamp` | string | Note activity time (ISO 8601) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_attachment_ids` | string | Semicolon-separated IDs of files attached to the note |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Note creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, deals, etc.) |
  | `noteId` | string | The retrieved note ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Note in HubSpot [#create-note-in-hubspot]

Log a note in HubSpot and optionally associate it with contacts, companies, or deals. Requires hs\_timestamp and hs\_note\_body properties

<ReferenceDetails>
  #### Input [#input-23]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Note properties as JSON object. Must include "hs\_timestamp" (ISO 8601 activity time) and "hs\_note\_body" (the note text). e.g., \{"hs\_timestamp": "2026-06-13T00:00:00Z", "hs\_note\_body": "Followed up via phone"} |
  | `associations` | array | No | Array of associations as JSON. Each object has "to.id" (record ID) and "types" array with "associationCategory" ("HUBSPOT\_DEFINED") and "associationTypeId" (202 = note→contact, 190 = note→company, 214 = note→deal) |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `note` | object | HubSpot note record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Note properties |
  | ↳ `hs_note_body` | string | Note text/body (supports rich text/HTML) |
  | ↳ `hs_timestamp` | string | Note activity time (ISO 8601) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_attachment_ids` | string | Semicolon-separated IDs of files attached to the note |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Note creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, deals, etc.) |
  | `noteId` | string | The created note ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Notes in HubSpot [#search-notes-in-hubspot]

Search for notes in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-24]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "CONTAINS\_TOKEN", "GT"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against note text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["hs\_note\_body", "hs\_timestamp", "hubspot\_owner\_id"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `notes` | array | Array of HubSpot note records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Note properties |
  | ↳ `hs_note_body` | string | Note text/body (supports rich text/HTML) |
  | ↳ `hs_timestamp` | string | Note activity time (ISO 8601) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_attachment_ids` | string | Semicolon-separated IDs of files attached to the note |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Note creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching notes |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Emails from HubSpot [#list-emails-from-hubspot]

Retrieve all email engagements from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-25]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_email\_subject,hs\_email\_text,hs\_timestamp") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies,deals") |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `emails` | array | Array of HubSpot email engagement records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Email properties |
  | ↳ `hs_timestamp` | string | Email activity time (ISO 8601) |
  | ↳ `hs_email_direction` | string | Direction (EMAIL = outgoing, INCOMING\_EMAIL, FORWARDED\_EMAIL) |
  | ↳ `hs_email_status` | string | Send status (SENT, SENDING, SCHEDULED, FAILED, BOUNCED) |
  | ↳ `hs_email_subject` | string | Email subject line |
  | ↳ `hs_email_text` | string | Plain-text email body |
  | ↳ `hs_email_html` | string | HTML email body |
  | ↳ `hs_email_headers` | string | JSON-encoded from/to/cc/bcc headers |
  | ↳ `hs_email_from_email` | string | Sender email address |
  | ↳ `hs_email_to_email` | string | Recipient email address(es) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Email creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Email from HubSpot [#get-email-from-hubspot]

Retrieve a single email engagement by ID from HubSpot (content requires the sales-email-read scope)

<ReferenceDetails>
  #### Input [#input-26]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `emailId` | string | Yes | The HubSpot email engagement ID to retrieve |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_email\_subject,hs\_email\_text,hs\_timestamp") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies,deals") |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `email` | object | HubSpot email engagement record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Email properties |
  | ↳ `hs_timestamp` | string | Email activity time (ISO 8601) |
  | ↳ `hs_email_direction` | string | Direction (EMAIL = outgoing, INCOMING\_EMAIL, FORWARDED\_EMAIL) |
  | ↳ `hs_email_status` | string | Send status (SENT, SENDING, SCHEDULED, FAILED, BOUNCED) |
  | ↳ `hs_email_subject` | string | Email subject line |
  | ↳ `hs_email_text` | string | Plain-text email body |
  | ↳ `hs_email_html` | string | HTML email body |
  | ↳ `hs_email_headers` | string | JSON-encoded from/to/cc/bcc headers |
  | ↳ `hs_email_from_email` | string | Sender email address |
  | ↳ `hs_email_to_email` | string | Recipient email address(es) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Email creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, deals, etc.) |
  | `emailId` | string | The retrieved email engagement ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Email in HubSpot [#create-email-in-hubspot]

Log an email engagement in HubSpot and optionally associate it with contacts. Requires the hs\_timestamp property

<ReferenceDetails>
  #### Input [#input-27]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Email properties as JSON object. Must include "hs\_timestamp" (ISO 8601). Common fields: "hs\_email\_direction" (EMAIL, INCOMING\_EMAIL, FORWARDED\_EMAIL), "hs\_email\_status" (SENT, SENDING, SCHEDULED, FAILED, BOUNCED), "hs\_email\_subject", "hs\_email\_text", "hs\_email\_html", "hs\_email\_headers" (JSON string) |
  | `associations` | array | No | Array of associations as JSON. Each object has "to.id" (record ID) and "types" array with "associationCategory" ("HUBSPOT\_DEFINED") and "associationTypeId" (198 = email→contact) |

  #### Output [#output-27]

  | Parameter | Type | Description |
  | - | - | - |
  | `email` | object | HubSpot email engagement record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Email properties |
  | ↳ `hs_timestamp` | string | Email activity time (ISO 8601) |
  | ↳ `hs_email_direction` | string | Direction (EMAIL = outgoing, INCOMING\_EMAIL, FORWARDED\_EMAIL) |
  | ↳ `hs_email_status` | string | Send status (SENT, SENDING, SCHEDULED, FAILED, BOUNCED) |
  | ↳ `hs_email_subject` | string | Email subject line |
  | ↳ `hs_email_text` | string | Plain-text email body |
  | ↳ `hs_email_html` | string | HTML email body |
  | ↳ `hs_email_headers` | string | JSON-encoded from/to/cc/bcc headers |
  | ↳ `hs_email_from_email` | string | Sender email address |
  | ↳ `hs_email_to_email` | string | Recipient email address(es) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Email creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, deals, etc.) |
  | `emailId` | string | The created email engagement ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Emails in HubSpot [#search-emails-in-hubspot]

Search for email engagements in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-28]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "CONTAINS\_TOKEN", "GT"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against email text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["hs\_email\_subject", "hs\_email\_text", "hs\_timestamp"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-28]

  | Parameter | Type | Description |
  | - | - | - |
  | `emails` | array | Array of HubSpot email engagement records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Email properties |
  | ↳ `hs_timestamp` | string | Email activity time (ISO 8601) |
  | ↳ `hs_email_direction` | string | Direction (EMAIL = outgoing, INCOMING\_EMAIL, FORWARDED\_EMAIL) |
  | ↳ `hs_email_status` | string | Send status (SENT, SENDING, SCHEDULED, FAILED, BOUNCED) |
  | ↳ `hs_email_subject` | string | Email subject line |
  | ↳ `hs_email_text` | string | Plain-text email body |
  | ↳ `hs_email_html` | string | HTML email body |
  | ↳ `hs_email_headers` | string | JSON-encoded from/to/cc/bcc headers |
  | ↳ `hs_email_from_email` | string | Sender email address |
  | ↳ `hs_email_to_email` | string | Recipient email address(es) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Email creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching emails |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Properties from HubSpot [#get-properties-from-hubspot]

Read property definitions and their enumeration (picklist) options for a HubSpot object type, e.g. the values for lifecyclestage or hs\_lead\_status on contacts

<ReferenceDetails>
  #### Input [#input-29]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `objectType` | string | Yes | Object type to read properties for (e.g., "contacts", "companies", "deals", "tickets", "line\_items", "quotes") |
  | `propertyName` | string | No | Internal name of a single property to retrieve (e.g., "hs\_lead\_status"). Omit to return all properties for the object type |
  | `archived` | boolean | No | Whether to return only archived properties (default false) |

  #### Output [#output-29]

  | Parameter | Type | Description |
  | - | - | - |
  | `properties` | array | Array of HubSpot property definitions |
  | ↳ `name` | string | Internal property name |
  | ↳ `label` | string | Human-readable label |
  | ↳ `type` | string | Property data type (string, number, enumeration, bool, datetime, etc.) |
  | ↳ `fieldType` | string | Field type controlling HubSpot UI rendering |
  | ↳ `description` | string | Property help text |
  | ↳ `groupName` | string | Property group the property belongs to |
  | ↳ `options` | array | Enumeration/picklist options (empty for non-enumerated properties) |
  | ↳ `label` | string | Human-readable option label |
  | ↳ `value` | string | Internal value used when setting the property |
  | ↳ `displayOrder` | number | Display order (-1 sorts last) |
  | ↳ `hidden` | boolean | Whether the option is hidden in the HubSpot UI |
  | ↳ `description` | string | Option description |
  | ↳ `displayOrder` | number | Display order |
  | ↳ `calculated` | boolean | Whether the property is calculated by HubSpot |
  | ↳ `hidden` | boolean | Whether the property is hidden |
  | ↳ `hubspotDefined` | boolean | Whether the property is a HubSpot default property |
  | ↳ `archived` | boolean | Whether the property is archived |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of property definitions returned |
  | ↳ `objectType` | string | Object type the properties belong to |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Associations in HubSpot [#list-associations-in-hubspot]

List records of one object type associated with a given record, e.g. all emails or notes logged on a contact

<ReferenceDetails>
  #### Input [#input-30]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `objectType` | string | Yes | Source object type (e.g., "contacts", "companies", "deals") |
  | `objectId` | string | Yes | ID of the source record |
  | `toObjectType` | string | Yes | Target object type to list associations to (e.g., "emails", "notes", "deals") |
  | `limit` | string | No | Maximum number of associated records per page (default 500) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-30]

  | Parameter | Type | Description |
  | - | - | - |
  | `results` | array | Array of associated records |
  | ↳ `toObjectId` | string | ID of the associated (target) record |
  | ↳ `associationTypes` | array | Association types linking the two records |
  | ↳ `category` | string | Association category (HUBSPOT\_DEFINED, USER\_DEFINED, INTEGRATOR\_DEFINED) |
  | ↳ `typeId` | number | Association type ID |
  | ↳ `label` | string | Association label |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Association in HubSpot [#create-association-in-hubspot]

Associate two HubSpot records. Creates the default (unlabeled) association unless an association type ID is provided

<ReferenceDetails>
  #### Input [#input-31]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `objectType` | string | Yes | Source object type (e.g., "emails", "notes", "contacts") |
  | `objectId` | string | Yes | ID of the source record |
  | `toObjectType` | string | Yes | Target object type to associate to (e.g., "contacts", "companies", "deals") |
  | `toObjectId` | string | Yes | ID of the target record |
  | `associationCategory` | string | No | Association category for a labeled association (HUBSPOT\_DEFINED, USER\_DEFINED, INTEGRATOR\_DEFINED). Defaults to HUBSPOT\_DEFINED when an association type ID is provided |
  | `associationTypeId` | number | No | Specific association type ID for a labeled association. Omit to create the default association for the object pair |

  #### Output [#output-31]

  | Parameter | Type | Description |
  | - | - | - |
  | `fromObjectId` | string | ID of the source record |
  | `toObjectId` | string | ID of the associated target record |
  | `labels` | array | Association labels (empty for default associations) |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Association in HubSpot [#delete-association-in-hubspot]

Remove all associations between two HubSpot records

<ReferenceDetails>
  #### Input [#input-32]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `objectType` | string | Yes | The source object type (e.g., "contacts", "companies", "deals") |
  | `objectId` | string | Yes | The ID of the source record |
  | `toObjectType` | string | Yes | The target object type (e.g., "emails", "notes", "contacts") |
  | `toObjectId` | string | Yes | The ID of the target record |

  #### Output [#output-32]

  | Parameter | Type | Description |
  | - | - | - |
  | `fromObjectId` | string | Source record ID |
  | `toObjectId` | string | Target record ID |
  | `deleted` | boolean | Whether the associations were removed |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Association Labels from HubSpot [#get-association-labels-from-hubspot]

Retrieve the association types (category, typeId, label) defined between two HubSpot object types

<ReferenceDetails>
  #### Input [#input-33]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `objectType` | string | Yes | The source object type (e.g., "contacts", "companies", "deals") |
  | `toObjectType` | string | Yes | The target object type (e.g., "emails", "notes", "contacts") |

  #### Output [#output-33]

  | Parameter | Type | Description |
  | - | - | - |
  | `labels` | array | Association types defined between the two object types |
  | ↳ `category` | string | Association category (HUBSPOT\_DEFINED or USER\_DEFINED) |
  | ↳ `typeId` | number | Association type ID |
  | ↳ `label` | string | Human-readable label (null for unlabeled defaults) |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Contact from HubSpot [#delete-contact-from-hubspot]

Archive a contact in HubSpot by ID (moves it to the recycling bin)

<ReferenceDetails>
  #### Input [#input-34]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contactId` | string | Yes | The numeric ID of the contact to delete |

  #### Output [#output-34]

  | Parameter | Type | Description |
  | - | - | - |
  | `contactId` | string | ID of the deleted contact |
  | `deleted` | boolean | Whether the contact was archived |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Company from HubSpot [#delete-company-from-hubspot]

Archive a company in HubSpot by ID (moves it to the recycling bin)

<ReferenceDetails>
  #### Input [#input-35]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `companyId` | string | Yes | The numeric ID of the company to delete |

  #### Output [#output-35]

  | Parameter | Type | Description |
  | - | - | - |
  | `companyId` | string | ID of the deleted company |
  | `deleted` | boolean | Whether the company was archived |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Deal from HubSpot [#delete-deal-from-hubspot]

Archive a deal in HubSpot by ID (moves it to the recycling bin)

<ReferenceDetails>
  #### Input [#input-36]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `dealId` | string | Yes | The numeric ID of the deal to delete |

  #### Output [#output-36]

  | Parameter | Type | Description |
  | - | - | - |
  | `dealId` | string | ID of the deleted deal |
  | `deleted` | boolean | Whether the deal was archived |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Ticket from HubSpot [#delete-ticket-from-hubspot]

Archive a ticket in HubSpot by ID (moves it to the recycling bin)

<ReferenceDetails>
  #### Input [#input-37]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `ticketId` | string | Yes | The numeric ID of the ticket to delete |

  #### Output [#output-37]

  | Parameter | Type | Description |
  | - | - | - |
  | `ticketId` | string | ID of the deleted ticket |
  | `deleted` | boolean | Whether the ticket was archived |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Delete Line Item from HubSpot [#delete-line-item-from-hubspot]

Archive a line item in HubSpot by ID (moves it to the recycling bin)

<ReferenceDetails>
  #### Input [#input-38]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `lineItemId` | string | Yes | The numeric ID of the line item to delete |

  #### Output [#output-38]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItemId` | string | ID of the deleted line item |
  | `deleted` | boolean | Whether the line item was archived |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Line Items in HubSpot [#search-line-items-in-hubspot]

Search for line items in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-39]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "NEQ", "CONTAINS\_TOKEN", "NOT\_CONTAINS\_TOKEN"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against line item name and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["name", "quantity", "price"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-39]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItems` | array | Array of HubSpot line item records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Line item properties |
  | ↳ `name` | string | Line item name |
  | ↳ `description` | string | Full description of the product |
  | ↳ `hs_sku` | string | Unique product identifier (SKU) |
  | ↳ `quantity` | string | Number of units included |
  | ↳ `price` | string | Unit price |
  | ↳ `amount` | string | Total cost (quantity \* unit price) |
  | ↳ `hs_line_item_currency_code` | string | Currency code |
  | ↳ `recurringbillingfrequency` | string | Recurring billing frequency |
  | ↳ `hs_recurring_billing_start_date` | string | Recurring billing start date |
  | ↳ `hs_recurring_billing_end_date` | string | Recurring billing end date |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching line items |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Search Quotes in HubSpot [#search-quotes-in-hubspot]

Search for quotes in HubSpot using filters, sorting, and queries

<ReferenceDetails>
  #### Input [#input-40]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `filterGroups` | array | No | Array of filter groups as JSON. Each group contains "filters" array with objects having "propertyName", "operator" (e.g., "EQ", "NEQ", "CONTAINS\_TOKEN", "NOT\_CONTAINS\_TOKEN"), and "value" |
  | `sorts` | array | No | Array of sort objects as JSON with "propertyName" and "direction" ("ASCENDING" or "DESCENDING") |
  | `query` | string | No | Search query string to match against quote title and other text fields |
  | `properties` | array | No | Array of HubSpot property names to return (e.g., \["hs\_title", "hs\_expiration\_date"]) |
  | `limit` | number | No | Maximum number of results to return (max 200, default 10) |
  | `after` | string | No | Pagination cursor for next page (from previous response) |

  #### Output [#output-40]

  | Parameter | Type | Description |
  | - | - | - |
  | `quotes` | array | Array of HubSpot quote records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Quote properties |
  | ↳ `hs_title` | string | Quote name/title |
  | ↳ `hs_expiration_date` | string | Expiration date |
  | ↳ `hs_status` | string | Quote status |
  | ↳ `hs_esign_enabled` | string | Whether e-signatures are enabled |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `total` | number | Total number of matching quotes |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get List Members from HubSpot [#get-list-members-from-hubspot]

Retrieve the record IDs that are members of a HubSpot list, ordered by record ID

<ReferenceDetails>
  #### Input [#input-41]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `listId` | string | Yes | The ID of the list to read members from |
  | `limit` | string | No | Maximum number of results per page (max 250, default 100) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |

  #### Output [#output-41]

  | Parameter | Type | Description |
  | - | - | - |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `memberships` | array | Records that are members of the list |
  | ↳ `recordId` | string | ID of the member record |
  | ↳ `membershipTimestamp` | string | When the record was added to the list |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Add List Members in HubSpot [#add-list-members-in-hubspot]

Add records to a manual (static) HubSpot list by record ID

<ReferenceDetails>
  #### Input [#input-42]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `listId` | string | Yes | The ID of the list to add records to (MANUAL or SNAPSHOT lists only) |
  | `recordIds` | array | Yes | Record IDs to add to the list, as a JSON array (e.g., \["123","456"]) or comma-separated string |

  #### Output [#output-42]

  | Parameter | Type | Description |
  | - | - | - |
  | `recordIdsAdded` | array | IDs of the records that were added to the list |
  | `recordIdsMissing` | array | IDs of the requested records that were not found |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Remove List Members in HubSpot [#remove-list-members-in-hubspot]

Remove records from a manual (static) HubSpot list by record ID

<ReferenceDetails>
  #### Input [#input-43]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `listId` | string | Yes | The ID of the list to remove records from (MANUAL or SNAPSHOT lists only) |
  | `recordIds` | array | Yes | Record IDs to remove from the list, as a JSON array (e.g., \["123","456"]) or comma-separated string |

  #### Output [#output-43]

  | Parameter | Type | Description |
  | - | - | - |
  | `recordIdsRemoved` | array | IDs of the records that were removed from the list |
  | `recordIdsMissing` | array | IDs of the requested records that were not found |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Line Items from HubSpot [#list-line-items-from-hubspot]

Retrieve all line items from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-44]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "name,quantity,price,amount") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "deals,quotes") |

  #### Output [#output-44]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItems` | array | Array of HubSpot line item records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Line item properties |
  | ↳ `name` | string | Line item name |
  | ↳ `description` | string | Full description of the product |
  | ↳ `hs_sku` | string | Unique product identifier (SKU) |
  | ↳ `quantity` | string | Number of units included |
  | ↳ `price` | string | Unit price |
  | ↳ `amount` | string | Total cost (quantity \* unit price) |
  | ↳ `hs_line_item_currency_code` | string | Currency code |
  | ↳ `recurringbillingfrequency` | string | Recurring billing frequency |
  | ↳ `hs_recurring_billing_start_date` | string | Recurring billing start date |
  | ↳ `hs_recurring_billing_end_date` | string | Recurring billing end date |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Line Item from HubSpot [#get-line-item-from-hubspot]

Retrieve a single line item by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-45]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `lineItemId` | string | Yes | The HubSpot line item ID to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "name,quantity,price,amount") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "deals,quotes") |

  #### Output [#output-45]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItem` | object | HubSpot line item record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Line item properties |
  | ↳ `name` | string | Line item name |
  | ↳ `description` | string | Full description of the product |
  | ↳ `hs_sku` | string | Unique product identifier (SKU) |
  | ↳ `quantity` | string | Number of units included |
  | ↳ `price` | string | Unit price |
  | ↳ `amount` | string | Total cost (quantity \* unit price) |
  | ↳ `hs_line_item_currency_code` | string | Currency code |
  | ↳ `recurringbillingfrequency` | string | Recurring billing frequency |
  | ↳ `hs_recurring_billing_start_date` | string | Recurring billing start date |
  | ↳ `hs_recurring_billing_end_date` | string | Recurring billing end date |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (deals, quotes, etc.) |
  | `lineItemId` | string | The retrieved line item ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Line Item in HubSpot [#create-line-item-in-hubspot]

Create a new line item in HubSpot. Requires at least a name property

<ReferenceDetails>
  #### Input [#input-46]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Line item properties as JSON object (e.g., \{"name": "Product A", "quantity": "2", "price": "50.00", "hs\_sku": "SKU-001"}) |
  | `associations` | array | No | Array of associations to create with the line item as JSON. Each object should have "to.id" and "types" array with "associationCategory" and "associationTypeId" |

  #### Output [#output-46]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItem` | object | HubSpot line item record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Line item properties |
  | ↳ `name` | string | Line item name |
  | ↳ `description` | string | Full description of the product |
  | ↳ `hs_sku` | string | Unique product identifier (SKU) |
  | ↳ `quantity` | string | Number of units included |
  | ↳ `price` | string | Unit price |
  | ↳ `amount` | string | Total cost (quantity \* unit price) |
  | ↳ `hs_line_item_currency_code` | string | Currency code |
  | ↳ `recurringbillingfrequency` | string | Recurring billing frequency |
  | ↳ `hs_recurring_billing_start_date` | string | Recurring billing start date |
  | ↳ `hs_recurring_billing_end_date` | string | Recurring billing end date |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (deals, quotes, etc.) |
  | `lineItemId` | string | The created line item ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Line Item in HubSpot [#update-line-item-in-hubspot]

Update an existing line item in HubSpot by ID

<ReferenceDetails>
  #### Input [#input-47]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `lineItemId` | string | Yes | The HubSpot line item ID to update |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | object | Yes | Line item properties to update as JSON object (e.g., \{"quantity": "5", "price": "25.00"}) |

  #### Output [#output-47]

  | Parameter | Type | Description |
  | - | - | - |
  | `lineItem` | object | HubSpot line item record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Line item properties |
  | ↳ `name` | string | Line item name |
  | ↳ `description` | string | Full description of the product |
  | ↳ `hs_sku` | string | Unique product identifier (SKU) |
  | ↳ `quantity` | string | Number of units included |
  | ↳ `price` | string | Unit price |
  | ↳ `amount` | string | Total cost (quantity \* unit price) |
  | ↳ `hs_line_item_currency_code` | string | Currency code |
  | ↳ `recurringbillingfrequency` | string | Recurring billing frequency |
  | ↳ `hs_recurring_billing_start_date` | string | Recurring billing start date |
  | ↳ `hs_recurring_billing_end_date` | string | Recurring billing end date |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (deals, quotes, etc.) |
  | `lineItemId` | string | The updated line item ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Quotes from HubSpot [#list-quotes-from-hubspot]

Retrieve all quotes from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-48]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_title,hs\_expiration\_date,hs\_status") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "deals,line\_items") |

  #### Output [#output-48]

  | Parameter | Type | Description |
  | - | - | - |
  | `quotes` | array | Array of HubSpot quote records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Quote properties |
  | ↳ `hs_title` | string | Quote name/title |
  | ↳ `hs_expiration_date` | string | Expiration date |
  | ↳ `hs_status` | string | Quote status |
  | ↳ `hs_esign_enabled` | string | Whether e-signatures are enabled |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Quote from HubSpot [#get-quote-from-hubspot]

Retrieve a single quote by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-49]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `quoteId` | string | Yes | The HubSpot quote ID to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_title,hs\_expiration\_date,hs\_status") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "deals,line\_items") |

  #### Output [#output-49]

  | Parameter | Type | Description |
  | - | - | - |
  | `quote` | object | HubSpot quote record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Quote properties |
  | ↳ `hs_title` | string | Quote name/title |
  | ↳ `hs_expiration_date` | string | Expiration date |
  | ↳ `hs_status` | string | Quote status |
  | ↳ `hs_esign_enabled` | string | Whether e-signatures are enabled |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (deals, line items, etc.) |
  | `quoteId` | string | The retrieved quote ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Appointments from HubSpot [#list-appointments-from-hubspot]

Retrieve all appointments from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-50]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_appointment\_name,hs\_appointment\_start") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-50]

  | Parameter | Type | Description |
  | - | - | - |
  | `appointments` | array | Array of HubSpot appointment records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Appointment properties |
  | ↳ `hs_appointment_name` | string | Appointment title/name |
  | ↳ `hs_appointment_start` | string | Start time (ISO 8601) |
  | ↳ `hs_appointment_end` | string | End time (ISO 8601) |
  | ↳ `hs_appointment_status` | string | Appointment status (e.g., SCHEDULED) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Appointment from HubSpot [#get-appointment-from-hubspot]

Retrieve a single appointment by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-51]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `appointmentId` | string | Yes | The HubSpot appointment ID to retrieve |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return (e.g., "hs\_appointment\_name,hs\_appointment\_start") |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for (e.g., "contacts,companies") |

  #### Output [#output-51]

  | Parameter | Type | Description |
  | - | - | - |
  | `appointment` | object | HubSpot appointment record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Appointment properties |
  | ↳ `hs_appointment_name` | string | Appointment title/name |
  | ↳ `hs_appointment_start` | string | Start time (ISO 8601) |
  | ↳ `hs_appointment_end` | string | End time (ISO 8601) |
  | ↳ `hs_appointment_status` | string | Appointment status (e.g., SCHEDULED) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `appointmentId` | string | The retrieved appointment ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create Appointment in HubSpot [#create-appointment-in-hubspot]

Create a new appointment in HubSpot

<ReferenceDetails>
  #### Input [#input-52]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `properties` | object | Yes | Appointment properties as JSON object. Must include hs\_appointment\_start (e.g., \{"hs\_appointment\_name": "Discovery Call", "hs\_appointment\_start": "2024-01-15T10:00:00Z", "hs\_appointment\_end": "2024-01-15T11:00:00Z"}) |
  | `associations` | array | No | Array of associations to create with the appointment as JSON. Each object should have "to.id" and "types" array with "associationCategory" and "associationTypeId" |

  #### Output [#output-52]

  | Parameter | Type | Description |
  | - | - | - |
  | `appointment` | object | HubSpot appointment record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Appointment properties |
  | ↳ `hs_appointment_name` | string | Appointment title/name |
  | ↳ `hs_appointment_start` | string | Start time (ISO 8601) |
  | ↳ `hs_appointment_end` | string | End time (ISO 8601) |
  | ↳ `hs_appointment_status` | string | Appointment status (e.g., SCHEDULED) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `appointmentId` | string | The created appointment ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Update Appointment in HubSpot [#update-appointment-in-hubspot]

Update an existing appointment in HubSpot by ID

<ReferenceDetails>
  #### Input [#input-53]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `appointmentId` | string | Yes | The HubSpot appointment ID to update |
  | `idProperty` | string | No | Property to use as unique identifier. If not specified, uses record ID |
  | `properties` | object | Yes | Appointment properties to update as JSON object (e.g., \{"hs\_appointment\_name": "Updated Call", "hs\_appointment\_start": "2024-01-15T10:00:00Z"}) |

  #### Output [#output-53]

  | Parameter | Type | Description |
  | - | - | - |
  | `appointment` | object | HubSpot appointment record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Appointment properties |
  | ↳ `hs_appointment_name` | string | Appointment title/name |
  | ↳ `hs_appointment_start` | string | Start time (ISO 8601) |
  | ↳ `hs_appointment_end` | string | End time (ISO 8601) |
  | ↳ `hs_appointment_status` | string | Appointment status (e.g., SCHEDULED) |
  | ↳ `hubspot_owner_id` | string | HubSpot owner ID |
  | ↳ `hs_object_id` | string | HubSpot object ID (same as record ID) |
  | ↳ `hs_createdate` | string | Creation date (ISO 8601) |
  | ↳ `hs_lastmodifieddate` | string | Last modified date (ISO 8601) |
  | ↳ `associations` | object | Associated records (contacts, companies, etc.) |
  | `appointmentId` | string | The updated appointment ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Carts from HubSpot [#list-carts-from-hubspot]

Retrieve all carts from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-54]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for |

  #### Output [#output-54]

  | Parameter | Type | Description |
  | - | - | - |
  | `carts` | array | Array of HubSpot CRM records |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Record properties |
  | ↳ `associations` | object | Associated records |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Cart from HubSpot [#get-cart-from-hubspot]

Retrieve a single cart by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-55]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `cartId` | string | Yes | The HubSpot cart ID to retrieve |
  | `properties` | string | No | Comma-separated list of HubSpot property names to return |
  | `associations` | string | No | Comma-separated list of object types to retrieve associated IDs for |

  #### Output [#output-55]

  | Parameter | Type | Description |
  | - | - | - |
  | `cart` | object | HubSpot CRM record |
  | ↳ `id` | string | Unique record ID (hs\_object\_id) |
  | ↳ `createdAt` | string | Record creation timestamp (ISO 8601) |
  | ↳ `updatedAt` | string | Record last updated timestamp (ISO 8601) |
  | ↳ `archived` | boolean | Whether the record is archived |
  | ↳ `properties` | object | Record properties |
  | ↳ `associations` | object | Associated records |
  | `cartId` | string | The retrieved cart ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Owners from HubSpot [#list-owners-from-hubspot]

Retrieve all owners from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-56]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 100) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |
  | `email` | string | No | Filter owners by email address |

  #### Output [#output-56]

  | Parameter | Type | Description |
  | - | - | - |
  | `owners` | array | Array of HubSpot owner objects |
  | ↳ `id` | string | Owner ID |
  | ↳ `email` | string | Owner email address |
  | ↳ `firstName` | string | Owner first name |
  | ↳ `lastName` | string | Owner last name |
  | ↳ `userId` | number | Associated user ID |
  | ↳ `teams` | array | Teams the owner belongs to |
  | ↳ `id` | string | Team ID |
  | ↳ `name` | string | Team name |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | ↳ `archived` | boolean | Whether the owner is archived |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Marketing Events from HubSpot [#list-marketing-events-from-hubspot]

Retrieve all marketing events from HubSpot account with pagination support

<ReferenceDetails>
  #### Input [#input-57]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `limit` | string | No | Maximum number of results per page (max 100, default 10) |
  | `after` | string | No | Pagination cursor for next page of results (from previous response) |

  #### Output [#output-57]

  | Parameter | Type | Description |
  | - | - | - |
  | `events` | array | Array of HubSpot marketing event objects |
  | ↳ `objectId` | string | Unique event ID (HubSpot internal) |
  | ↳ `eventName` | string | Event name |
  | ↳ `eventType` | string | Event type |
  | ↳ `eventStatus` | string | Event status |
  | ↳ `eventDescription` | string | Event description |
  | ↳ `eventUrl` | string | Event URL |
  | ↳ `eventOrganizer` | string | Event organizer |
  | ↳ `startDateTime` | string | Start date/time (ISO 8601) |
  | ↳ `endDateTime` | string | End date/time (ISO 8601) |
  | ↳ `eventCancelled` | boolean | Whether event is cancelled |
  | ↳ `eventCompleted` | boolean | Whether event is completed |
  | ↳ `registrants` | number | Number of registrants |
  | ↳ `attendees` | number | Number of attendees |
  | ↳ `cancellations` | number | Number of cancellations |
  | ↳ `noShows` | number | Number of no-shows |
  | ↳ `externalEventId` | string | External event ID |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get Marketing Event from HubSpot [#get-marketing-event-from-hubspot]

Retrieve a single marketing event by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-58]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `eventId` | string | Yes | The HubSpot marketing event objectId to retrieve |

  #### Output [#output-58]

  | Parameter | Type | Description |
  | - | - | - |
  | `event` | object | HubSpot marketing event |
  | ↳ `objectId` | string | Unique event ID (HubSpot internal) |
  | ↳ `eventName` | string | Event name |
  | ↳ `eventType` | string | Event type |
  | ↳ `eventStatus` | string | Event status |
  | ↳ `eventDescription` | string | Event description |
  | ↳ `eventUrl` | string | Event URL |
  | ↳ `eventOrganizer` | string | Event organizer |
  | ↳ `startDateTime` | string | Start date/time (ISO 8601) |
  | ↳ `endDateTime` | string | End date/time (ISO 8601) |
  | ↳ `eventCancelled` | boolean | Whether event is cancelled |
  | ↳ `eventCompleted` | boolean | Whether event is completed |
  | ↳ `registrants` | number | Number of registrants |
  | ↳ `attendees` | number | Number of attendees |
  | ↳ `cancellations` | number | Number of cancellations |
  | ↳ `noShows` | number | Number of no-shows |
  | ↳ `externalEventId` | string | External event ID |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | `eventId` | string | The retrieved marketing event ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### List Lists from HubSpot [#list-lists-from-hubspot]

Search and retrieve lists from HubSpot account

<ReferenceDetails>
  #### Input [#input-59]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `query` | string | No | Search query to filter lists by name. Leave empty to return all lists. |
  | `count` | string | No | Maximum number of results to return (default 20, max 500) |
  | `offset` | string | No | Pagination offset for next page of results (use the offset value from previous response) |

  #### Output [#output-59]

  | Parameter | Type | Description |
  | - | - | - |
  | `lists` | array | Array of HubSpot list objects |
  | ↳ `listId` | string | List ID |
  | ↳ `name` | string | List name |
  | ↳ `objectTypeId` | string | Object type ID (e.g., 0-1 for contacts) |
  | ↳ `processingType` | string | Processing type (MANUAL, DYNAMIC, SNAPSHOT) |
  | ↳ `processingStatus` | string | Processing status (COMPLETE, PROCESSING) |
  | ↳ `listVersion` | number | List version number |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | `paging` | object | Pagination information for fetching more results |
  | ↳ `next` | object | Next page cursor information |
  | ↳ `after` | string | Cursor for next page of results |
  | ↳ `link` | string | Link to next page |
  | `metadata` | object | Response metadata |
  | ↳ `totalReturned` | number | Number of records returned in this response |
  | ↳ `hasMore` | boolean | Whether more records are available |
  | ↳ `total` | number | Total number of lists matching the query |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Get List from HubSpot [#get-list-from-hubspot]

Retrieve a single list by ID from HubSpot

<ReferenceDetails>
  #### Input [#input-60]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `listId` | string | Yes | The HubSpot list ID to retrieve |

  #### Output [#output-60]

  | Parameter | Type | Description |
  | - | - | - |
  | `list` | object | HubSpot list |
  | ↳ `listId` | string | List ID |
  | ↳ `name` | string | List name |
  | ↳ `objectTypeId` | string | Object type ID (e.g., 0-1 for contacts) |
  | ↳ `processingType` | string | Processing type (MANUAL, DYNAMIC, SNAPSHOT) |
  | ↳ `processingStatus` | string | Processing status (COMPLETE, PROCESSING) |
  | ↳ `listVersion` | number | List version number |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | `listId` | string | The retrieved list ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

### Create List in HubSpot [#create-list-in-hubspot]

Create a new list in HubSpot. Specify the object type and processing type (MANUAL or DYNAMIC)

<ReferenceDetails>
  #### Input [#input-61]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `name` | string | Yes | Name of the list |
  | `objectTypeId` | string | Yes | Object type ID (e.g., "0-1" for contacts, "0-2" for companies) |
  | `processingType` | string | Yes | Processing type: "MANUAL" for static lists or "DYNAMIC" for active lists |

  #### Output [#output-61]

  | Parameter | Type | Description |
  | - | - | - |
  | `list` | object | HubSpot list |
  | ↳ `listId` | string | List ID |
  | ↳ `name` | string | List name |
  | ↳ `objectTypeId` | string | Object type ID (e.g., 0-1 for contacts) |
  | ↳ `processingType` | string | Processing type (MANUAL, DYNAMIC, SNAPSHOT) |
  | ↳ `processingStatus` | string | Processing status (COMPLETE, PROCESSING) |
  | ↳ `listVersion` | number | List version number |
  | ↳ `createdAt` | string | Creation date (ISO 8601) |
  | ↳ `updatedAt` | string | Last updated date (ISO 8601) |
  | `listId` | string | The created list ID |
  | `success` | boolean | Operation success status |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

These triggers poll for new data on a schedule.

### HubSpot CRM Trigger [#hubspot-crm-trigger]

Triggers when HubSpot CRM records (contacts, companies, deals, tickets, custom objects) are created or updated, or when contacts join a list

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `triggerCredentials` | string | Yes | Connect a HubSpot account so Sim can poll your CRM on your behalf. |
  | `objectType` | string | Yes | What you want to watch. |
  | `customObjectTypeId` | string | No | HubSpot custom object type ID (e.g. "2-12345"). Find it in HubSpot Settings → Objects → Custom Objects. |
  | `listId` | string | No | The HubSpot list to watch for new members. |
  | `eventType` | string | No | Created fires once per new record. Updated fires on any modification. Property Changed fires only when the chosen property changes value. |
  | `targetPropertyName` | string | No | Fires only when this specific property changes value on a record. |
  | `properties` | string | No | Properties to include on each record. Leave empty to use sensible defaults. Sim always includes the timestamps it needs internally. |
  | `pipelineId` | string | No | Restrict to a single pipeline. |
  | `stageId` | string | No | Restrict to a single stage within the selected pipeline. |
  | `ownerId` | string | No | Restrict to records owned by a specific HubSpot user. |
  | `filters` | string | No | JSON array of HubSpot search filters, AND-combined. Each item: \{"propertyName":"...","operator":"EQ","value":"..."}. Operators: EQ, NEQ, CONTAINS\_TOKEN, NOT\_CONTAINS\_TOKEN, GT, GTE, LT, LTE, BETWEEN, IN, NOT\_IN, HAS\_PROPERTY, NOT\_HAS\_PROPERTY. |
  | `maxRecordsPerPoll` | string | No | Soft cap on records emitted per poll (default 50, max 1000). Excess rolls over to the next poll. |

  #### Output [#output-62]

  | Parameter | Type | Description |
  | - | - | - |
  | `objectType` | string | HubSpot object type (contact, company, deal, ticket, custom object id, or list\_membership) |
  | `eventType` | string | Event type (created, updated, property\_changed, or joined) |
  | `objectId` | string | HubSpot ID of the affected record (or contact id for list memberships) |
  | `occurredAt` | string | ISO timestamp of when the change happened in HubSpot |
  | `properties` | json | HubSpot properties on the record as a key-value object (property internal name → value). Default keys per object type (override via "Properties to Fetch"): Contact → firstname, lastname, email, phone, company, lifecyclestage, hs\_lead\_status, hubspot\_owner\_id, createdate, lastmodifieddate. Company → name, domain, industry, lifecyclestage, hubspot\_owner\_id, createdate, hs\_lastmodifieddate. Deal → dealname, amount, dealstage, pipeline, closedate, hubspot\_owner\_id, createdate, hs\_lastmodifieddate. Ticket → subject, content, hs\_pipeline, hs\_pipeline\_stage, hs\_ticket\_priority, hubspot\_owner\_id, createdate, hs\_lastmodifieddate. Custom and user-requested properties appear keyed by their HubSpot internal name. |
  | `createdAt` | string | ISO timestamp when the record was created in HubSpot |
  | `updatedAt` | string | ISO timestamp when the record was last updated in HubSpot |
  | `archived` | boolean | Whether the record is archived |
  | `propertyName` | string | Name of the property that changed (property\_changed events only) |
  | `propertyValue` | string | New value of the changed property (property\_changed events only) |
  | `previousValue` | string | Previous value before the change (property\_changed events only) |
  | `listId` | string | HubSpot list ID (list\_membership events only) |
  | `timestamp` | string | ISO timestamp when Sim emitted the event |
</ReferenceDetails>
