Skip to main content

HubSpot Connector

HubSpot HubSpot is a Customer Relationship Management software for inbound marketing, sales, and customer service. Manage contacts, companies, deals, products, engagements, and custom objects in HubSpot.

API Documentation​

This component was built using the HubSpot API Documentation currently utilizing v3

Connections​

OAuth 2.0​

Authenticate requests to HubSpot using OAuth 2.0.

To connect to HubSpot using OAuth 2.0, create an app in the HubSpot developer platform using the HubSpot CLI. An existing legacy app created through the web interface can also be used, though legacy public apps can no longer be created.

Refer to the HubSpot app creation guide and quick reference guide for detailed information.

Creating an App via the CLI​

The CLI-based approach is recommended for new HubSpot OAuth integrations as it provides access to the latest features and platform improvements.

Prerequisites​

  • A HubSpot developer account is required
  • Node.js v20 or higher and npm installed (for CLI-based app creation)
  • HubSpot CLI version 7.6.0 or higher (installing the latest version is recommended)

Setup Steps​

  1. Install the HubSpot CLI:

    npm install -g @hubspot/cli
  2. Authenticate the CLI with a HubSpot developer account:

    hs account auth
  3. Create a new app project:

    hs project create
    • Select App as the project template
    • Choose the distribution type (marketplace or private/specific accounts)
    • Select OAuth as the authentication method
    • Optionally select app features (Card, App Function, Settings, Webhooks, Custom Workflow Action)
  4. Configure the app by editing the generated app-hsmeta.json file (located at src/app/app-hsmeta.json within the project directory):

    • Update the name and description fields
    • In the auth section, add https://oauth2.integrations.acme.com/callback to the redirectUrls array
    • Update the requiredScopes array with the OAuth permissions the integration needs. Permissions a user may decline belong in optionalScopes, and those required only for particular features belong in conditionallyRequiredScopes
  5. Upload the app project to HubSpot:

    hs project upload
    Directory Error

    If the error [ERROR] Unable to locate a project configuration file appears, change to the project folder where the app was created and run the command again.

  6. Open the project in the HubSpot developer portal:

    hs project open
  7. Navigate to the Auth tab in the developer portal

  8. Copy the Client ID and Client Secret from the Auth page

Configure the Connection​

  • Enter the Client ID and Client Secret from the app's Auth page
  • For Scopes, choose from the available scopes based on integration needs
Recommended Scopes

The following scopes provide comprehensive access to HubSpot CRM functionality that this component supports:

CategoryScopeDescription
EssentialoauthRequired for all OAuth apps (cannot be removed)
Essentialcrm.objects.owners.readRead owner information
CRM Objectscrm.objects.contacts.readRead contacts
CRM Objectscrm.objects.contacts.writeCreate/update contacts
CRM Objectscrm.objects.companies.readRead companies
CRM Objectscrm.objects.companies.writeCreate/update companies
CRM Objectscrm.objects.deals.readRead deals
CRM Objectscrm.objects.deals.writeCreate/update deals
CRM Objectscrm.objects.custom.readRead custom objects
CRM Objectscrm.objects.custom.writeCreate/update custom objects
Additional Objectscrm.objects.line_items.readRead line items
Additional Objectscrm.objects.line_items.writeCreate/update line items
Additional Objectscrm.objects.quotes.readRead quotes
Additional Objectscrm.objects.quotes.writeCreate/update quotes
Additional ObjectsticketsTicket management
Schemascrm.schemas.contacts.readContact property definitions
Schemascrm.schemas.companies.readCompany property definitions
Schemascrm.schemas.deals.readDeal property definitions

Example minimal scope configuration:

crm.objects.contacts.read crm.objects.contacts.write crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read

For a complete list of available scopes, refer to the HubSpot OAuth scopes documentation.

Using an Existing Legacy App​

Legacy App Creation Has Ended

As of June 23, 2026, legacy public apps can no longer be created. HubSpot disabled creation for developer accounts created on or after May 26, 2026 first, then for all remaining accounts on June 23, 2026. See the legacy public app creation sunset announcement.

Existing legacy public apps continue to be supported and can still be used with this connection. New apps must be created with the CLI-based approach described above.

An app created before HubSpot's 2025.2 platform release is a legacy app. To use one with this connection:

  1. In the HubSpot developer account, navigate to Apps, then click the name of the app
  2. Navigate to the app's Auth tab
  3. Under Redirect URLs, add https://oauth2.integrations.acme.com/callback
  4. Configure the required scopes for the integration in the Scopes section
  5. Copy the Client ID, Client Secret, and App ID from the Auth page

Configure the Connection​

  • Enter the Client ID and Client Secret from the app's Auth page
  • Configure scopes as needed (see Recommended Scopes above)

Webhook Support​

The App ID and Developer API Key fields are optional and are used only by the webhook actions and the Event Type Subscription trigger. Leave them empty for an integration that does not manage webhook subscriptions.

  • App ID appears below the app name in the developer account's Apps dashboard, and on the app's Auth tab
  • Developer API Key is available in the developer overview of the HubSpot developer account
Webhook subscription management requires a legacy public app

The webhook actions and the Event Type Subscription trigger call HubSpot's webhooks v3 subscription API, which HubSpot supports only for legacy public apps. Since legacy public apps can no longer be created, an app created with the CLI cannot use them.

A CLI-created app configures webhooks declaratively in the project, or through the webhooks journal and management APIs, which authenticate with a client credentials token rather than a developer API key. This component does not use either mechanism.

The Webhook trigger is unaffected, because it only receives and verifies incoming requests rather than creating subscriptions. It pairs with the Webhook Authentication connection and works with any app that can deliver webhooks to a URL. The New and Updated Records and New and Updated Custom Records polling triggers are also unaffected and need no app-level webhook configuration.

App Distribution​

HubSpot OAuth apps declare a distribution type that determines who can install the integration and whether a formal HubSpot review is required. Choosing the right one before building the app avoids reworking its configuration and, for a marketplace app, a second review.

The distribution type selected during hs project create determines who can install the app and whether a review process applies.

Private or specific accounts (no review required): The app is accessible only to HubSpot accounts explicitly added. Users from other HubSpot accounts cannot install it. To add accounts, navigate to the app's Distribution settings in the developer portal and enter each account's hub ID. This is the appropriate option for single-customer integrations or internal tools.

HubSpot App Marketplace (HubSpot review required): The app is publicly listed in the HubSpot App Marketplace and any HubSpot customer can install it. HubSpot reviews marketplace submissions for quality, security, and functionality before listing.

For integrations deployed to multiple customers, each with their own HubSpot account, the marketplace path is the scalable option. For single-organization deployments, the private/specific accounts path avoids the review process entirely.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Authorize URLThe OAuth 2.0 Authorization URL for HubSpot. Optional scopes can be appended to the URL.https://app.hubspot.com/oauth/authorize
ScopesOAuth permission scopes. See HubSpot scopes for available scopes.
Client IDThe Client ID from the HubSpot app. Found in HubSpot Developer Account > Apps > Auth.
Client SecretThe Client Secret from the HubSpot app. Keep this value secure.
App IDThe App ID from the HubSpot Developer Console. Required for Webhooks.
Developer API KeyThe Developer API Key from the HubSpot Developer Console. Required for Webhooks.

Private App Access Token or Service Key​

Authenticate requests to HubSpot using a private app access token or an account service key.

This connection authenticates with either a private app access token or an account service key. Both are entered in the same field and are sent as bearer tokens, so either credential works for every action in this component.

Service keys are HubSpot's recommended credential for new system-to-system integrations. Private app access tokens remain supported for integrations already built against them.

Webhook Triggers Require OAuth 2.0

Neither credential can configure webhook subscriptions over the API. The Event Type Subscription trigger needs the App ID and Developer API Key carried by the OAuth 2.0 connection, and will fail at runtime if given this connection instead.

Neither credential expires. A private app access token can be revoked at any time from the HubSpot account settings, and a service key can be rotated or deleted from its details page.

Legacy Private App Creation Is Ending

HubSpot is retiring the ability to create new legacy private apps. Which deadline applies depends on when the HubSpot account was created:

  • Accounts created before September 28, 2026 can still create a legacy private app, but only until October 26, 2026.
  • Accounts created on or after September 28, 2026 cannot create one at all.

Existing legacy private apps and their access tokens keep working. See the legacy private app creation sunset announcement.

Use a service key for new integrations, following the steps below.

Prerequisites​

  • Access to a HubSpot account
  • A super admin user, which HubSpot requires for access to private apps. A service key can also be created by a user with the Developer tools access permission.

Setup Steps​

Follow whichever set of steps matches the credential being used.

Create a Service Key​
  1. Navigate to HubSpot and log in
  2. Navigate to Development, then click Keys, then Service keys in the left sidebar menu
  3. In the top right, click Create service key
  4. Enter a name for the key
  5. Click Add new scope, select each scope the integration requires, then click Update
  6. Click Create in the top right, then confirm
  7. Click the name of the new service key, click Show, then click Copy
Create a Legacy Private App Access Token​

To generate a private app access token:

  1. Navigate to HubSpot and log in
  2. Navigate to Development, then click Legacy apps in the left sidebar menu
  3. In the top right, click Create legacy app, then select Private in the dialog box
  4. On the Basic Info tab, enter a name for the app
  5. Click the Scopes tab, click Add new scope, then select each scope the integration requires
  6. Click Create app in the top right, then click Continue creating
  7. On the app details page, click the Auth tab, click Show token, then click Copy

Configure the Connection​

Enter the copied service key or private app access token into Access Token or Service Key.

InputCommentsDefault
Access Token or Service KeyA private app access token or an account service key. Service keys are HubSpot's recommended credential for new system-to-system integrations. Neither credential can configure webhook subscriptions over the API, so the Event Type Subscription trigger requires the OAuth 2.0 connection instead.

Webhook Authentication​

Authenticate HubSpot webhooks using Client Secret for signature verification only.

The Webhook Authentication connection is used specifically for verifying HubSpot webhook signatures to ensure webhook requests are legitimate.

This connection is only used for webhook triggers and does not grant API access. It solely validates that incoming webhooks are from HubSpot by verifying the request signature.

Prerequisites​

  • Access to a HubSpot account
  • A super admin user, which HubSpot requires for access to private apps
  • A HubSpot app configured to deliver webhooks

Both private apps and public apps have a client secret, and HubSpot signs each app's webhook requests with that app's own secret. Use the secret belonging to whichever app delivers the webhooks.

Setup Steps​

To copy the client secret from a legacy private app:

  1. Navigate to HubSpot and log in
  2. Navigate to Development, then click Legacy apps in the left sidebar menu
  3. Click the name of the app, or click Create legacy app in the top right and select Private to create one
  4. Click the Auth tab
  5. Next to Client secret, click Show secret, then copy the value

For a legacy public app, open the app from the Apps dashboard in the HubSpot developer account and copy the Client Secret from its Auth tab.

Configure the Connection​

  • Enter the Client Secret from the HubSpot app into the connection configuration
  • The client secret is used to verify webhook signatures
  • Ensure the trigger is configured to use the Webhook Authentication connection

Webhook Subscriptions​

After configuring the connection, webhook subscriptions must be set up. In a legacy private app, subscriptions are managed in the app settings and cannot be edited through an API:

  1. On the app details page, click the Webhooks tab
  2. Under Target URL, enter the URL that HubSpot will send webhook events to (found in the Test Configuration > Trigger Payload section of the integration)
  3. Click Create subscription
  4. In the right panel, select the object types to subscribe to, then select the events for those objects (for example created, merged, or deleted)
  5. If Property changed is selected, also select the properties to watch for changes
  6. Click Subscribe

Selecting an object type that needs a scope the app has not authorized prompts for that scope to be added.

InputCommentsDefault
Client SecretThe Client Secret from the HubSpot app, used to verify webhook signatures.

Triggers​

Event Type Subscription​

Receive CRM event notifications from HubSpot. Automatically creates and manages a webhook subscription for selected event types when the instance is deployed, and removes the subscription when the instance is deleted.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Event TypesEvents to listen for. Make sure to have the right permissions.
Property Change PropertiesAdd one key-value pair per property change event type. The key is the event type (e.g. contact.propertyChange) and the value is a comma-separated list of the property names to monitor (e.g. email,firstname).
Overwrite Webhook SettingsWhen true, overwrites existing webhook settings. HubSpot only permits one Target URL per App ID.false

New and Updated Custom Records​

Retrieves existing and ongoing records for a specified HubSpot custom object type. Load history once, check for changes on a schedule, or both.

InputCommentsDefault
Look-back DateThe date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record created on or after this date once, ignoring the visibility toggles.
Show New RecordsWhen true, includes new records in the results.true
Show Updated RecordsWhen true, includes updated records in the results.true
ConnectionThe connection to use for authenticating requests to HubSpot.
Object TypeThe type of custom object to search for.
Search PropertiesInclude properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. On the polling triggers, sorts is ignored (they sort by the object's last-modified property ascending so polling can resume) and filters/filterGroups are combined with the recurrence's date window using AND. For more information, see HubSpot CRM Search API.

New and Updated Records​

Retrieves existing and ongoing records for a specified HubSpot object type. Load history once, check for changes on a schedule, or both.

InputCommentsDefault
Look-back DateThe date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record created on or after this date once, ignoring the visibility toggles.
Show New RecordsWhen true, includes new records in the results.true
Show Updated RecordsWhen true, includes updated records in the results.true
ConnectionThe connection to use for authenticating requests to HubSpot.
Search EndpointThe endpoint to search for objects or engagements. For Custom objects don't forget to fill the Object Type input.
Search PropertiesInclude properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. On the polling triggers, sorts is ignored (they sort by the object's last-modified property ascending so polling can resume) and filters/filterGroups are combined with the recurrence's date window using AND. For more information, see HubSpot CRM Search API.

Webhook​

Receive and validate webhook requests from HubSpot for manually configured webhook subscriptions.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.

Actions​

Archive Association​

Remove the associations between two provided objects.

InputCommentsDefault
From Object TypeThe type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
To Object TypeThe type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
From IDThe unique identifier of the first object
To IDThe unique identifier of the second object
Type Of AssociationProvide a value for the type of association to perform. You can get the set of available values for this input by making a step using the "List Association Types"
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Archive Batch Contacts​

Archive a batch of contacts by ID.

InputCommentsDefault
Contact IdsA list of contact IDs.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Archive Batch Engagement​

Archives a batch of selected engagements by their IDs.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Engagement IdsA list of engagement IDs.
TimeoutThe maximum time a client will await a request

Cancel Import​

Cancels an active import.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Import IDThe unique identifier of the import.
TimeoutThe maximum time a client will await a request

Create Association​

Create an association between the objects identified in the step.

InputCommentsDefault
From Object TypeThe type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
To Object TypeThe type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
From IDThe unique identifier of the first object
To IDThe unique identifier of the second object
Type Of AssociationProvide a value for the type of association to perform. You can get the set of available values for this input by making a step using the "List Association Types"
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Batch Contacts​

Create a batch of contacts.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Batch ContactsAn array of contact objects to create. See HubSpot Contacts API for properties.
TimeoutThe maximum time a client will await a request

Create Batch Engagement​

Creates a batch of selected engagements.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Batch EngagementsAn array of engagements.
TimeoutThe maximum time a client will await a request

Create Company​

Create a new company.

InputCommentsDefault
Company NameThe display name for the company record.
IndustryThe company's industry classification, such as Software or Manufacturing.
PhoneThe primary contact phone number for the company.
DescriptionAn optional text description providing additional detail about the record.
DomainThe company's web domain, used for deduplication and enrichment (e.g. example.com).
CityThe city where the company is headquartered.
StateThe state or region where the company is located.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Contact​

Create a new contact.

InputCommentsDefault
First NameThe contact's given name, mapped to the firstname property.
Last NameThe contact's family name, mapped to the lastname property.
CompanyThe name of the company the contact is associated with.
Contact InformationOptional contact channel fields: email, phone, and website.
PhoneThe primary phone number for the contact.
EmailThe email of the contact. Getting contacts by email performs a search function and will return a successful output even when no results are found.
WebsiteThe contact's website, such as a company or personal homepage.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Custom Object​

Creates new custom object schema.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
NameA unique name for this object. For internal use only.
Singular LabelThe word for one object. (There's no way to change this later.)
PropertiesProperties defined for this object type.
Plural LabelThe word for multiple objects. (There's no way to change this later.)
Required PropertiesThe names of properties that should be required when creating an object of this type.["000xxx"]
Searchable PropertiesNames of properties that will be indexed for this object type in by HubSpot's product search.["000xxx"]
Secondary Display PropertiesThe names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type.["000xxx"]
Associated ObjectsAssociations defined for this object type.["000xxx"]
TimeoutThe maximum time a client will await a request
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Create Deal​

Create a new deal.

InputCommentsDefault
AmountThe amount value for the deal.
Close DateThe date when the sale will close.
Deal NameThe display name for the deal, visible in the deals pipeline.
Owner IDThe HubSpot user ID of the record owner, used to assign responsibility.
PipelineThe pipeline to interact with.
Deal StageThe stage of the deal. Deal stages categorize deals and track their progress.
PriorityThe priority level assigned to the deal: low, medium, or high.
Deal TypeThe type of deal. By default, a deal is categorized as either New Business or Existing Business. The picklist of values for this property is configurable through HubSpot.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Engagement​

Create a communication, email, call, meeting, note, postal mail or task engagement in HubSpot CRM.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
AssociationsTo create and associate a task with existing records.
PropertiesA properties object, attributes depend on the engagement type. For possible properties for each engagement type refer to HubSpot Engagements API.
TimeoutThe maximum time a client will await a request

Create Line Item​

Create a new line item.

InputCommentsDefault
NameA descriptive name for the line item, displayed on quotes and invoices.
Product IDThe unique identifier of the product.
Recurring Billing FrequencyProvide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M
Recurring Billing Monthly RateHow often the line item is billed: monthly, quarterly, semi-annually, annually, or every two or three years.
QuantityThe quantity of product in the line item.
PriceThe unit price of the product, in the account's default currency.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Product​

Create a new product.

InputCommentsDefault
Product NameThe display name for the product in the product library.
DescriptionAn optional text description providing additional detail about the record.
Product SKUThe stock-keeping unit code used to track the product in inventory systems.
PriceThe unit price of the product, in the account's default currency.
Recurring Billing FrequencyProvide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M
Unit CostThe cost per unit used to calculate margin and profitability.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Create Webhook​

Create a webhook in HubSpot.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Event TypeType of event to listen for. Can be one of create, delete, deletedForPrivacy, or propertyChange.
Property NameThe internal name of the property to monitor for changes. Only applies when eventType is propertyChange.
ActiveWhen true, the subscription is active. When false, the subscription is paused.false
TimeoutThe maximum time a client will await a request

Delete All Instanced Webhooks​

Delete all webhooks created by this instance in HubSpot.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
TimeoutThe maximum time a client will await a request

Delete Company​

Delete an existing company by Id.

InputCommentsDefault
Company IDThe unique identifier of the company.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Delete Contact​

Delete a contact by Id.

InputCommentsDefault
Contact IDThe unique identifier of the contact.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Delete Custom Object​

Removes custom object schema.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Object TypeThe type of object.
TimeoutThe maximum time a client will await a request
Return Archived ResultsWhen true, returns only results that have been archived.false

Delete Deal​

Delete a deal by its Id.

InputCommentsDefault
Deal IDThe unique identifier of the deal.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Delete Engagement​

Deletes an engagement by its ID.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Engagement IDThe unique identifier of the engagement. A taskId, meetingId, etc.
TimeoutThe maximum time a client will await a request

Delete Line Item​

Delete an existing line item by Id.

InputCommentsDefault
Line Item IDThe unique identifier of the line item.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Delete Product​

Delete a product by Id.

InputCommentsDefault
Product IDThe unique identifier of the product.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Delete Webhook​

Delete a webhook by ID in HubSpot.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Subscription IDThe unique identifier of the webhook subscription.
TimeoutThe maximum time a client will await a request

Export CRM Data​

Begins exporting CRM data for the portal as specified in the request body.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Schema TypeThe export schema to use: VIEW for filtered exports, or LIST for list-based exports.VIEW
FormatThe file format for the exported data: CSV, XLSX, or XLS.CSV
Export NameA descriptive name used to identify the export in the HubSpot UI.
Object PropertiesA list of the properties to include in the export.
Object TypeThe name or ID of the object you're exporting. For standard objects, you can use the object's name (e.g., CONTACT), but for custom objects, you must use the objectTypeId value, you can find this value in the response of the List Custom Objects action.
LanguageThe language code for header labels and system-generated text in the export.
List Id (Only and required for PublicExportListRequest)The ILS List ID of the list to export.
Public CRM Search Request (Only for PublicExportViewRequest)Indicates which data should be exported based on certain property values and search queries.
Associated Object TypeThe name or ID of an associated object to include in the export. When an associated object is included, the export contains the associated record IDs of that object and the records' primary display property value.
TimeoutThe maximum time a client will await a request

Get Batch Contacts​

Read a batch of contacts by internal ID, or unique property values.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Properties With HistoryA list of properties to read by.
PropertyA list of properties to read by.
ID PropertyAn ID property to search by
Contact IdsA list of contact IDs.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request

Get Company​

Retrieve the information or metadata of a company by Id, domain, or name.

InputCommentsDefault
Company IDThe unique identifier of the company.
Company NameThe display name for the company record.
DomainThe company's web domain, used for deduplication and enrichment (e.g. example.com).
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Get Contact​

Get the information and metadata of a contact by Id or Email.

InputCommentsDefault
Contact IDThe unique identifier of the contact.
EmailThe email of the contact. Getting contacts by email performs a search function and will return a successful output even when no results are found.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Get Current User​

Return information about the current session's user.

InputCommentsDefault
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Get Custom Object​

Retrieves a specific custom object.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
TimeoutThe maximum time a client will await a request
Object TypeThe type of object.

Get Deal​

Retrieve information and metadata about a deal by its Id or name.

InputCommentsDefault
Deal IDThe unique identifier of the deal.
Deal NameThe display name for the deal, visible in the deals pipeline.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Get Engagement​

Get a communication, email, call, meeting, note, postal mail or task engagement object from HubSpot CRM.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Engagement IDThe unique identifier of the engagement. A taskId, meetingId, etc.
Properties To ReturnProperties to be returned in the response. If the specified property is not present on the requested object, it will be ignored.
Property With History To ReturnA property to be returned along with it's history of previous values. If the specified property is not present on the requested object, it will be ignored.
AssociationsList of object types to retrieve associated IDs for. If the specified association do not exist, it will be ignored.
Return Archived ResultsWhen true, returns only results that have been archived.false
ID PropertyThe name of a property whose values are unique for this object type.
TimeoutThe maximum time a client will await a request

Get Import​

Get a complete summary of an import record, including any updates.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Import IDThe unique identifier of the import.
TimeoutThe maximum time a client will await a request

Get Line Item​

Retrieve the information and metadata of a line item by Id.

InputCommentsDefault
Line Item IDThe unique identifier of the line item.
NameA descriptive name for the line item, displayed on quotes and invoices.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Get Product​

Retrieve the information and metadata of a product by Id or name.

InputCommentsDefault
Product IDThe unique identifier of the product.
Product NameThe display name for the product in the product library.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Import CRM Data​

Import CRM records and activities into the HubSpot account, such as contacts, companies, and notes.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
NameThe name of the import.
FilesAn array containing the import file information. For more information, see HubSpot CRM Imports API.
Data CSV FileThe CSV file to import, this should be binary data from a previous step. Key name should be the file name and the value should be the binary data.
Import OperationsIndicates whether the import should create and update, only create, or only update records for a certain object or activity. Include the objectTypeId for the object/activity and whether to UPSERT (create and update), CREATE, or UPDATE records. For objectTypeId's, check HubSpot CRM Object Type IDs.
Date FormatThe format for dates included in the file. Defaults to MONTH_DAY_YEAR; DAY_MONTH_YEAR and YEAR_MONTH_DAY are also accepted.MONTH_DAY_YEAR
Marketable Contact ImportWhen true, the contacts being imported are marketable.true
Create Contact List From ImportWhen true, creates a static list of the contacts from the import.false
TimeoutThe maximum time a client will await a request

List Active Imports​

Returns a paged list of active imports for this account.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
TimeoutThe maximum time a client will await a request

List Association Types​

Retrieve a list of all association types available between two objects.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
From Object TypeThe type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
To Object TypeThe type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
TimeoutThe maximum time a client will await a request

List Companies​

Retrieve a list of all companies.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results

List Contacts​

Retrieve a list of all contacts.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results

List Custom Objects​

Retrieve all custom objects.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
TimeoutThe maximum time a client will await a request
Return Archived ResultsWhen true, returns only results that have been archived.false
Additional Properties To ReturnFor each item, provide a property to return in the response.

List Deals​

Retrieve a list of all deals.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Return Archived ResultsWhen true, returns only results that have been archived.false
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
TimeoutThe maximum time a client will await a request
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results

List Engagements​

List engagement objects from HubSpot CRM, including communications, emails, calls, meetings, notes, postal mail, and tasks.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Properties To ReturnProperties to be returned in the response. If the specified property is not present on the requested object, it will be ignored.
TimeoutThe maximum time a client will await a request

List Line Items​

Retrieve a list of all line items.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Return Archived ResultsWhen true, returns only results that have been archived.false
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
TimeoutThe maximum time a client will await a request
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results

List Products​

Retrieve a list of all products.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Additional Properties To ReturnFor each item, provide a property to return in the response.
Associations ListFor each item, provide an object type to retrieve the associated Ids for.
Return Archived ResultsWhen true, returns only results that have been archived.false
TimeoutThe maximum time a client will await a request
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results

List Properties​

Retrieve a list of all configured object properties.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Object TypeThe type of object.
TimeoutThe maximum time a client will await a request

List Webhooks​

Retrieve a list of all webhook subscriptions for the HubSpot app.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
TimeoutThe maximum time a client will await a request

Raw Request​

Send raw HTTP request to HubSpot.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
URLInput the path only (/crm/v3/objects/deals). The base URL is already included (https://api.hubapi.com). For example, to connect to https://api.hubapi.com/crm/v3/objects/deals, only /crm/v3/objects/deals is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Read Association​

Get the Ids of the objects associated with those specified in the step.

InputCommentsDefault
From Object TypeThe type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
To Object TypeThe type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object defined in the account.
From IDThe unique identifier of the first object
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Search Deals​

Returns a list of deals that match the given properties.

InputCommentsDefault
Property NameThe property to search on. Ensure the spelling and capitalization match the property exactly.
ValueThe value corresponding to the given property name.
OperatorThe comparison operator applied to the property value in the search filter.
PaginationCursor-based pagination: page size and cursor token.
LimitThe maximum number of items that will be returned by the search.100
Start AfterSpecify the pagination token that's returned by a previous request to retrieve the next page of results
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Filter, sort, and search objects, records, and engagements across the CRM.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Search EndpointThe endpoint to search for objects or engagements. For Custom objects don't forget to fill the Object Type input.
Search PropertiesInclude properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. On the polling triggers, sorts is ignored (they sort by the object's last-modified property ascending so polling can resume) and filters/filterGroups are combined with the recurrence's date window using AND. For more information, see HubSpot CRM Search API.
Object TypeThe type of custom object to search for. Required for the Custom objects search endpoint.
Search LimitThe number of records to return. The maximum value is 200.10
Fetch AllTurn this ON to get more than 200 results. Note that this can be a large amount of data.false
TimeoutThe maximum time a client will await a request

Update Batch Contacts​

Update a batch of contacts.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Batch ContactsAn array of contact objects to update. See HubSpot Contacts API for properties.
TimeoutThe maximum time a client will await a request

Update Batch Engagement​

Updates a batch of selected engagements.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Batch EngagementsAn array of engagement objects to update. Each engagement object must contain the required properties for the specified engagement type. See HubSpot Engagements API for more information.
TimeoutThe maximum time a client will await a request

Update Company​

Update the information and metadata of an existing company.

InputCommentsDefault
Company IDThe unique identifier of the company.
Company NameThe updated display name for the company.
IndustryThe company's industry classification, such as Software or Manufacturing.
DescriptionAn optional text description providing additional detail about the record.
PhoneThe primary contact phone number for the company.
DomainThe updated web domain for the company.
CityThe city where the company is headquartered.
StateThe state or region where the company is located.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Update Contact​

Update the information and metadata of an existing contact.

InputCommentsDefault
Contact IDThe unique identifier of the contact.
First NameThe updated given name for the contact.
Last NameThe updated family name for the contact.
CompanyThe updated company association for the contact.
Contact InformationUpdated contact channel fields: email, phone, and website.
EmailThe updated email address for the contact.
PhoneThe updated primary phone number for the contact.
WebsiteThe updated website URL for the contact.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Update Custom Object​

Updates an object's schema.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Fully qualified name or object type ID of your schema.The type of object.
Singular LabelThe word for one object. (There's no way to change this later.)
Plural LabelThe word for multiple objects. (There's no way to change this later.)
Required PropertiesThe names of properties that should be required when creating an object of this type.["000xxx"]
Searchable PropertiesNames of properties that will be indexed for this object type in by HubSpot's product search.["000xxx"]
TimeoutThe maximum time a client will await a request
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Update Deal​

Update the information or metadata of an existing deal.

InputCommentsDefault
Deal IDThe unique identifier of the deal.
AmountThe amount value for the deal.
Close DateThe date when the sale will close.
Deal NameThe updated display name for the deal.
Owner IDThe HubSpot user ID of the record owner, used to assign responsibility.
PipelineThe pipeline to interact with.
Deal StageThe stage of the deal. Deal stages categorize deals and track their progress.
PriorityThe priority level assigned to the deal: low, medium, or high.
Deal TypeThe type of deal. By default, a deal is categorized as either New Business or Existing Business. The picklist of values for this property is configurable through HubSpot.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Update Engagement​

Update a communication, email, call, meeting, note, postal mail or task engagement in HubSpot CRM.

InputCommentsDefault
ConnectionThe connection to use for authenticating requests to HubSpot.
Engagement ObjectSelect an engagement object.
Engagement IDThe unique identifier of the engagement. A taskId, meetingId, etc.
PropertiesA properties object to update, attributes depend on the engagement type. For possible properties for each engagement type refer to HubSpot Engagements API.
ID PropertyThe name of a property whose values are unique for this object type.
TimeoutThe maximum time a client will await a request

Update Line Item​

Update the information and metadata of an existing line item.

InputCommentsDefault
Line Item IDThe unique identifier of the line item.
NameThe updated name for the line item.
Product IDThe unique identifier of the product.
Recurring Billing FrequencyProvide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M
Recurring Billing Monthly RateHow often the line item is billed: monthly, quarterly, semi-annually, annually, or every two or three years.
QuantityThe quantity of product in the line item.
PriceThe updated unit price for the product.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Update Product​

Update the information and metadata of an existing product.

InputCommentsDefault
Product IDThe unique identifier of the product.
Product NameThe updated display name for the product.
DescriptionAn optional text description providing additional detail about the record.
Product SKUThe updated stock-keeping unit code for the product.
PriceThe updated unit price for the product.
Recurring Billing FrequencyProvide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M
Unit CostThe cost per unit used to calculate margin and profitability.
ValuesThe names of the fields and their values to use when creating/updating a record.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.

Validate Connection​

Returns a boolean value that specifies whether the provided Connection is valid.

InputCommentsDefault
TimeoutThe maximum time a client will await a request
ConnectionThe connection to use for authenticating requests to HubSpot.