Skip to main content

HubSpot Component

Manage records and associations in the HubSpot CRM platform

Component key: hubspot

Changelog ↓

Description

HubSpot is a Customer Relationship Management software for inbound marketing, sales, and customer service. This component allows you to 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

Documentation for HubSpot's REST API used in this component can be found at https://developers.hubspot.com/docs/api/overview.

tip

If a HubSpot API endpoint doesn't have a corresponding action within this component, you can leverage the Raw Request action to make a request to any HubSpot API endpoint.

Processing HubSpot events in real-time

HubSpot requires that you provide only one webhook URL for your app, and HubSpot will send all customers' events to that URL. If you would like to detect and process changes to your customers' HubSpot accounts in real-time, see the Single-Endpoint Webhook Integrations guide on handling webhook requests from apps that require you to specify a single webhook endpoint.

Connections

Webhook Authentication

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
  • Appropriate permissions to create private apps or manage existing apps
  • A configured HubSpot app with webhook capabilities

Setup Steps

  1. Navigate to HubSpot and log in
  2. Navigate to Settings > Integrations > Private Apps
  3. To create a new app:
    • Click Create a private app or Create an app
    • Configure the required webhook subscriptions
  4. Navigate to the Auth or App Credentials section
  5. Copy the Client Secret value

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:

  1. In the app settings, navigate to the Webhooks section
  2. Click Configure or Set up webhooks
  3. Provide the following:
    • Target URL: The webhook endpoint URL where HubSpot will send webhook events (found in Test Configuration > Trigger Payload section of the integration)
    • Events to subscribe to: Select the specific events to monitor (e.g., contact created, deal updated, company deleted)
InputNotesExample
Client Secret

The Client Secret from your HubSpot app, used to verify webhook signatures.

OAuth 2.0

Creating an App via the CLI

To connect to HubSpot using OAuth 2.0, create an app in the HubSpot developer platform. HubSpot offers two approaches: the latest app creation via CLI (recommended), or creating a legacy app through the web interface.

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

Prerequisites

  • A HubSpot developer account
  • Node.js and npm installed (for CLI-based app creation)
  • HubSpot CLI version 7.6.0 or higher (for CLI-based app creation)

Setup Steps

  1. Install the HubSpot CLI:

    npm install -g @hubspot/cli
  2. Authenticate the CLI with the 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:

    • Update app name, description, and required scopes
    • Add redirect URLs for OAuth authentication
  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
  • Under Redirect URLs, ensure https://oauth2.prismatic.io/callback has been added to the app configuration

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

Essential Scopes:

  • oauth - Required for all OAuth apps (cannot be removed)
  • crm.objects.owners.read - Read owner information

CRM Objects:

  • crm.objects.contacts.read crm.objects.contacts.write - Contacts management
  • crm.objects.companies.read crm.objects.companies.write - Companies management
  • crm.objects.deals.read crm.objects.deals.write - Deals management
  • crm.objects.custom.read crm.objects.custom.write - Custom objects management

Additional CRM Objects:

  • crm.objects.line_items.read crm.objects.line_items.write - Line items management
  • crm.objects.quotes.read crm.objects.quotes.write - Quotes management
  • tickets - Ticket management (legacy scope covers read/write)

Engagement Types:

  • crm.schemas.contacts.read - Contact property definitions
  • crm.schemas.companies.read - Company property definitions
  • crm.schemas.deals.read - Deal property definitions

Webhooks:

  • webhooks - Create and manage webhook subscriptions (requires App ID and Developer API Key)

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.

Creating a Legacy App

Legacy Apps

Legacy apps will continue to work, but they won't receive new features or platform improvements from HubSpot. The CLI-based approach is recommended for new integrations.

Setup Steps

  1. Navigate to the HubSpot developer account portal
  2. Click Create app to create a new public app
  3. Fill in the app details (name, description, etc.)
  4. Navigate to the Auth tab of the newly created app
  5. Copy the Client ID and Client Secret from this page
  6. Under Redirect URLs, add https://oauth2.prismatic.io/callback
  7. Configure the required scopes for the integration in the Scopes section
InputNotesExample
App ID

The App ID from the HubSpot Developer Console. Required for Webhooks.

123456
Authorize URL

The OAuth 2.0 Authorization URL for HubSpot. You can include optional scopes here.

https://app.hubspot.com/oauth/authorize?optional_scope=crm.lists.read content
Client ID

The Client ID from your HubSpot app. Find this in HubSpot Developer Account > Apps > Auth.

12345678-1234-1234-1234-123456789abc
Client Secret

The Client Secret from your HubSpot app. Keep this value secure.

Developer API Key

The Developer API Key from the HubSpot Developer Console. Required for Webhooks.

Scopes

OAuth permission scopes. See HubSpot scopes for available scopes.

crm.objects.contacts.read crm.objects.deals.read
Token URL

The OAuth 2.0 Token URL for HubSpot.

https://api.hubapi.com/oauth/v1/token

Private App Access Token

Private app access tokens are recommended for testing purposes only. For production integrations, OAuth 2.0 should be used to allow users to authenticate with their own credentials.

Private app access tokens do not expire but can be revoked at any time from the HubSpot account settings.

Prerequisites

  • Access to a HubSpot account
  • Appropriate permissions to create private apps

Setup Steps

To generate a private app access token:

  1. Navigate to HubSpot and log in
  2. Navigate to Settings > Integrations > Private Apps
  3. Click Create a private app
  4. Enter a name for the app
  5. Configure the required scopes for the integration
  6. After creating the app, navigate to the Auth tab
  7. Copy the Access Token displayed

Configure the Connection

  • Enter the Access Token from the HubSpot private app settings into the connection configuration
InputNotesExample
Access Token

An access token generated when you create a private app. For testing purposes only - use OAuth 2.0 for production integrations.

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. | key: eventTypeSubscription

InputNotesExample
Event Types

Events to listen for. Make sure to have the right permissions.

Connection

The connection to use for authenticating requests to HubSpot.

Overwrite Webhook Settings

When true, overwrites existing webhook settings. HubSpot only permits one Target URL per App ID.

false

The Event Type Subscription trigger can manage HubSpot webhook subscriptions for an instance. Unlike the Webhook trigger that requires manual configuration in the HubSpot Developer Console, this trigger handles the entire webhook lifecycle automatically.

When the trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates webhook subscription configurations in the HubSpot app for the selected event types (contact creation, deal updates, etc.). The webhook target URL is set to the instance's unique webhook URL. If webhook settings already exist for the app and the overwrite option is disabled, the trigger will throw an error to prevent accidental changes. If overwrite is enabled, existing settings are replaced with the new configuration.
  • On Instance Deletion: The trigger automatically removes webhook subscriptions and settings from the HubSpot app if the webhook URL matches the instance being deleted. This ensures no orphaned webhook configurations remain after instance cleanup.

Configuration Requirements

This trigger requires a HubSpot OAuth 2.0 connection with the following values from the HubSpot Developer Console:

  • Client ID and Client Secret - OAuth credentials for authentication
  • App ID - The numeric application ID from the developer console
  • Developer API Key - The developer API key for managing webhook subscriptions
  • OAuth Scopes - Required scopes for the events being subscribed to (e.g., crm.objects.contacts.read for contact events)

Event Types Configuration

When configuring the trigger, select which HubSpot events should trigger the flow. Available event types include:

CRM Object Events:

  • Contact events: contact.creation, contact.deletion, contact.propertyChange, contact.associationChange
  • Company events: company.creation, company.deletion, company.propertyChange, company.associationChange
  • Deal events: deal.creation, deal.deletion, deal.propertyChange, deal.associationChange
  • Ticket, product, and line item events follow the same patterns

Property-Specific Events: For propertyChange events, you can optionally specify individual property names to monitor (e.g., only trigger when the email or phone property changes).

A full list of available webhook events and required OAuth scopes is available in the HubSpot Webhooks API documentation.

Overwrite Settings

HubSpot limits webhooks to a single URL per app. Therefore, the Overwrite Webhook Settings input controls behavior when webhook configurations already exist for the HubSpot app. This is disabled by default, but when enabled, existing webhook settings are deleted and replaced with the new configuration from this trigger.

tip

When multiple instances use the same HubSpot app, coordinate the overwrite setting carefully. Enabling overwrite in one instance will affect webhook configurations for all instances using the app.


New and Updated Custom Records

Checks for new and updated records in a specified custom object type on a configured schedule. | key: pollChangesCustomObjectsTrigger

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of custom object to search for.

deal
Search Properties

Include properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. For more information, see HubSpot CRM Search API.

Show New Records

When true, includes new records in the results.

true
Show Updated Records

When true, includes updated records in the results.

true

See New and Updated Records for complete instructions.

This trigger works identically to New and Updated Records, with the difference being it monitors custom HubSpot objects instead of standard objects.


New and Updated Records

Checks for new and updated records in a selected HubSpot object type on a configured schedule. | key: pollChangesTrigger

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Search Endpoint

The endpoint to search for objects or engagements. For Custom objects don't forget to fill the Object Type input.

Search Properties

Include properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. For more information, see HubSpot CRM Search API.

Show New Records

When true, includes new records in the results.

true
Show Updated Records

When true, includes updated records in the results.

true

HubSpot provides two polling triggers to monitor changes to CRM records. Both check for new and updated records on a scheduled basis and work identically. The main difference is which types of objects they monitor.

New and Updated Records - Use for standard HubSpot objects:

  • Companies, Contacts, Deals, Tickets, Products, Line Items, Quotes, Feedback Submissions
  • Calls, Emails, Meetings, Notes, Tasks

New and Updated Custom Records - Use for custom objects:

  • Custom object types created in HubSpot
  • Requires specifying the custom object type name

How It Works

Both triggers operate the same way:

  1. Run on the configured schedule (e.g., every 5 minutes)
  2. Search HubSpot using the Search API for records modified since the last poll
  3. Categorize records as "new" or "updated" based on created date last modified date timestamps
  4. Maintain state to track the last poll time automatically

Configuration

Inputs common to both triggers:

  • Show New Records: Include newly created records
  • Show Updated Records: Include modified records
  • Search Properties: Optional JSON for additional filters, sorts, or specific properties to return. See HubSpot Search API docs.

Returned Data

Both triggers return the same structure with separate arrays for new and updated records:

{
"data": {
"newRecords": [
{
"id": "12345678",
"properties": {
"createdate": "2024-11-10T10:30:00.000Z",
"lastmodifieddate": "2024-11-10T10:30:00.000Z"
/* additional properties */
}
}
],
"updatedRecords": [
{
"id": "87654321",
"properties": {
"createdate": "2024-11-08T09:00:00.000Z",
"lastmodifieddate": "2024-11-10T14:22:00.000Z"
/* additional properties */
}
}
]
}
}

Properties returned depend on the Search Properties configuration. If not specified, HubSpot returns default properties for the object type.

Best Practices

  • Polling Frequency: Use 5-15 minute intervals to balance timeliness with API limits
  • Filter Results: Use Search Properties to request only needed properties and add filters
  • Monitor Limits: Both triggers fetch up to 20,000 records per poll

Webhook

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

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

A HubSpot Webhook can be configured to send information to a flow's webhook URL under certain conditions (a contact is created, a deal is updated, a company property changes, etc.).

This trigger is designed for manually configured webhook subscriptions that are set up through the HubSpot Developer Console. When a webhook is configured externally in HubSpot, this trigger receives the webhook requests and validates them using signature verification.

For automated webhook subscription management that creates and removes webhook subscriptions automatically when an instance is deployed or deleted, use the Event Type Subscription trigger instead.

Configuration

To use this trigger:

  1. Create a public app in the HubSpot Developer Console
  2. Configure webhook settings in the app's Webhooks section:
    • Set the Target URL to the flow's webhook URL
    • Configure the event subscriptions (contact creation, deal updates, etc.)
    • Adjust throttling settings if needed
  3. When configuring the trigger connection, provide the Client Secret from the HubSpot app for signature verification

A full list of available webhook events is available in the HubSpot Webhooks API documentation.

{
"payload": {
"headers": {
"Accept": "*/*",
"Content-Type": "application/json",
"Host": "hooks.example.com",
"User-Agent": "HubSpot Connect 2.0 (http://dev.hubspot.com/) (namespace: webhooks-nio-http-client) - WebhooksExecutorDaemon-executor",
"X-Amz-Cf-Id": "ABCDEFGHIJK1234567890",
"X-Amzn-Trace-Id": "Root=1-65dd10e7-527c83667c3d96380250fd05",
"X-Forwarded-For": "54.174.62.123, 15.158.50.45",
"X-HubSpot-Request-Timestamp": "1708986599647",
"X-HubSpot-Signature": "sha256=abc123def456",
"X-HubSpot-Signature-v3": "sha256=xyz789",
"X-HubSpot-Signature-Version": "v3",
"X-HubSpot-Timeout-Millis": "10000",
"X-Trace": ""
},
"queryParameters": null,
"rawBody": {
"data": ""
},
"body": {
"data": [
{
"eventId": 567890123,
"subscriptionId": 234567,
"portalId": 12345678,
"appId": 987654,
"occurredAt": 1708986598741,
"subscriptionType": "contact.creation",
"attemptNumber": 0,
"objectId": 65059681032,
"changeFlag": "CREATED",
"changeSource": "CRM_UI",
"sourceId": "userId:45678"
}
],
"contentType": "application/json"
},
"pathFragment": "",
"webhookUrls": {
"Webhook": "https://hooks.example.com/trigger/abc123=="
},
"webhookApiKeys": {
"Webhook": [
"sample-api-key"
]
},
"invokeUrl": "https://hooks.example.com/trigger/abc123==",
"executionId": "exec_789456",
"customer": {
"id": "cust_12345",
"name": "Example Customer",
"externalId": "ext_cust_98765"
},
"instance": {
"id": "inst_54321",
"name": "HubSpot - Webhook Integration"
},
"user": {
"id": "user_67890",
"email": "admin@example.com",
"name": "Admin User",
"externalId": "ext_user_12345"
},
"integration": {
"id": "intg_98765",
"name": "HubSpot - Webhook Integration",
"versionSequenceId": "v1.0.0"
},
"flow": {
"id": "flow_45678",
"name": "Contact Created Webhook"
}
}
}

Data Sources

Object Selection

A list of HubSpot objects. | key: getObjectSelection | type: objectSelection

InputNotesExample
HubSpot Connection
Include Custom Objectsfalse
Objects to Select

The objects to include in the selection list.


Select Company

Select a company from the list of companies. | key: selectCompany | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Contact

Select a contact from the list of contacts. | key: selectContact | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Deal

Select a deal from the list of deals. | key: selectDeal | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Engagement

Select an engagement from the list of engagements. | key: selectEngagement | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Line Item

Select a line item from the list of line items. | key: selectLineItem | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Product

Select a product from the list of products. | key: selectProduct | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Select Property

Select a property from the list of properties. | key: selectProperty | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of object.

deal

Select Webhook

Select a webhook from the list of webhooks. | key: selectWebhook | type: picklist

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.


Actions

Archive Association

Remove the associations between two provided objects | key: ArchiveAssociations

InputNotesExample
Type Of Association

Provide 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"

890435
From Id

The unique identifier of the first object

890435
From Object Type

The type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

contact
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000
To Id

The unique identifier of the second object

890435
To Object Type

The type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

deal

{
"data": {}
}

Archive Batch Contacts

Archive a batch of contacts by ID | key: archiveBatchContacts

InputNotesExample
Contact Ids

A list of contact IDs.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Archive Batch Engagement

Archives a batch of selected engagements by their IDs. | key: archiveBatchEngagement

InputNotesExample
Engagement Ids

A list of engagement IDs.

Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Cancel Import

Cancels an active import. | key: cancelImport

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Import Id

The unique identifier of the import.

43203123
Timeout

The maximum time a client will await a request

20000

{
"data": {
"completedAt": "2024-01-15T05:02:32.700Z",
"requestedAt": "2024-01-15T05:02:30.120Z",
"startedAt": "2024-01-15T05:02:30.450Z",
"links": {},
"status": "CANCELED"
}
}

Create Association

Create an association between the objects identified in the step | key: createAssociations

InputNotesExample
Type Of Association

Provide 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"

890435
From Id

The unique identifier of the first object

890435
From Object Type

The type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

contact
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000
To Id

The unique identifier of the second object

890435
To Object Type

The type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

deal

{
"data": {
"completedAt": "2024-01-15T23:59:28.273Z",
"requestedAt": "2024-01-15T23:59:28.120Z",
"startedAt": "2024-01-15T23:59:28.150Z",
"links": {},
"results": [
{
"from": {
"id": "65059681027"
},
"to": {
"id": "98765432101"
},
"type": "contact_to_company"
}
],
"status": "COMPLETE"
}
}

Create Batch Contacts

Create a batch of contacts | key: createBatchContacts

InputNotesExample
Batch Contacts

An array of contact objects to create. See HubSpot Contacts API for properties.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"completedAt": "2024-01-15T08:27:09.446Z",
"requestedAt": "2024-01-15T08:27:09.120Z",
"startedAt": "2024-01-15T08:27:09.150Z",
"links": {},
"results": [
{
"createdAt": "2024-01-15T08:27:09.446Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"email": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "alice.johnson@example.com",
"timestamp": "2024-01-15T08:27:09.446Z"
}
]
},
"id": "65059681030",
"properties": {
"email": "alice.johnson@example.com",
"firstname": "Alice",
"lastname": "Johnson",
"company": "Innovation Labs",
"jobtitle": "Product Manager"
},
"updatedAt": "2024-01-15T08:27:09.446Z"
}
],
"status": "COMPLETE"
}
}

Create Batch Engagement

Creates a batch of selected engagements. | key: createBatchEngagement

InputNotesExample
Batch Engagements

An array of engagements.

Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"status": "COMPLETE",
"results": [
{
"id": "47231018154",
"properties": {
"hs_body_preview": "Follow up with John Doe about the proposal",
"hs_body_preview_html": "<html>\n <head></head>\n <body>\n Follow up with John Doe about the proposal\n </body>\n</html>",
"hs_body_preview_is_truncated": "false",
"hs_createdate": "2024-01-15T14:09:49.695Z",
"hs_lastmodifieddate": "2024-01-15T14:09:49.695Z",
"hs_object_id": "47231018154",
"hs_object_source": "INTEGRATION",
"hs_object_source_id": "654321",
"hs_object_source_label": "INTEGRATION",
"hs_pipeline_stage": "dd5826e4-c976-4654-a527-b59ada512345",
"hs_task_body": "Follow up with John Doe about the proposal",
"hs_task_completion_count": "0",
"hs_task_family": "SALES",
"hs_task_for_object_type": "OWNER",
"hs_task_is_all_day": "false",
"hs_task_is_completed": "0",
"hs_task_is_completed_call": "0",
"hs_task_is_completed_email": "0",
"hs_task_is_completed_linked_in": "0",
"hs_task_is_completed_sequence": "0",
"hs_task_is_overdue": "false",
"hs_task_is_past_due_date": "false",
"hs_task_missed_due_date": "false",
"hs_task_missed_due_date_count": "0",
"hs_task_priority": "HIGH",
"hs_task_status": "WAITING",
"hs_task_subject": "Follow up: Q1 2024 Proposal",
"hs_task_type": "CALL",
"hs_timestamp": "2024-01-16T15:30:00.000Z"
},
"createdAt": "2024-01-15T14:09:49.695Z",
"updatedAt": "2024-01-15T14:09:49.695Z",
"archived": false
}
],
"startedAt": "2024-01-15T14:09:49.666Z",
"completedAt": "2024-01-15T14:09:49.903Z"
}
}

Create Company

Create a new company | key: createCompany

InputNotesExample
City

The city of the company

Atherton
Company Name

The name of the company

Acme Inc.
Phone

The phone number of the company.

(800) 555-1515
Description

The description of the object.

This is an example description.
Domain

The domain of the company

www.example.com
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Industry

The industry of the company

Software
State

The state of the company

California
Timeout

The maximum time a client will await a request

20000

{
"data": {
"createdAt": "2024-01-15T00:06:42.321Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"name": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "TechStart Industries",
"timestamp": "2024-01-15T00:06:42.321Z"
}
],
"domain": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "techstart.com",
"timestamp": "2024-01-15T00:06:42.321Z"
}
]
},
"id": "98765432103",
"properties": {
"name": "TechStart Industries",
"domain": "techstart.com",
"industry": "Software Development",
"city": "Austin",
"state": "Texas",
"country": "United States",
"phone": "5125551234",
"numberofemployees": "50",
"annualrevenue": "5000000"
},
"updatedAt": "2024-01-15T00:06:42.321Z"
}
}

Create Contact

Create a new contact | key: CreateContact

InputNotesExample
Company

The company of the contact.

Acme Inc.
Email

The email of the contact. Getting contacts by email performs a search function and will return a successful output even when no results are found.

john.doe@example.com
First Name

The first name of the contact.

John
Last Name

The last name of the contact.

Doe
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Phone

The phone number.

(877) 929-0687
Timeout

The maximum time a client will await a request

20000
Website

The website URL.

www.example.com

{
"data": {
"createdAt": "2024-01-15T00:20:24.825Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"email": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "jane.smith@example.com",
"timestamp": "2024-01-15T00:20:24.825Z"
}
],
"firstname": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "Jane",
"timestamp": "2024-01-15T00:20:24.825Z"
}
],
"lastname": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "Smith",
"timestamp": "2024-01-15T00:20:24.825Z"
}
]
},
"id": "65059681029",
"properties": {
"email": "jane.smith@example.com",
"firstname": "Jane",
"lastname": "Smith",
"phone": "5559876543",
"company": "TechStart Industries",
"jobtitle": "Marketing Director",
"lifecyclestage": "lead"
},
"updatedAt": "2024-01-15T00:20:24.825Z"
}
}

Create Custom Object

Creates new custom object schema | key: createCustomObject

InputNotesExample
Associated Objects

Associations defined for this object type.

my_object_property
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Name

A unique name for this object. For internal use only.

my_object
Plural Label

The word for multiple objects. (There's no way to change this later.)

My object
Properties

Properties defined for this object type.

Required Properties

The names of properties that should be required when creating an object of this type.

my_object_property
Searchable Properties

Names of properties that will be indexed for this object type in by HubSpot's product search.

my_object_property
Secondary Display Properties

The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type.

my_object_property
Singular Label

The word for one object. (There's no way to change this later.)

My object
Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "2116144016",
"createdAt": "2024-01-15T18:07:11.390Z",
"updatedAt": "2024-01-15T18:09:07.555Z",
"properties": [
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "inventory_number",
"label": "Inventory Number",
"type": "string",
"fieldType": "text",
"groupName": "equipment_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
},
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "purchase_date",
"label": "Purchase Date",
"type": "date",
"fieldType": "date",
"groupName": "equipment_information",
"displayOrder": 2,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": false
}
],
"associations": [
{
"id": "789",
"fromObjectTypeId": "2-116144016",
"toObjectTypeId": "0-1",
"name": "equipment_to_contact"
}
],
"labels": {
"singular": "Equipment",
"plural": "Equipment Items"
},
"requiredProperties": [
"inventory_number"
],
"searchableProperties": [
"inventory_number",
"purchase_date"
],
"primaryDisplayProperty": "inventory_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_equipment",
"name": "equipment"
}
}

Create Deal

Create a new deal | key: createDeal

InputNotesExample
Amount

The amount value for the deal.

34,000
Close Date

The date when the sale will close.

2019-12-07T16:50:06.678Z
Deal Name

The name of the deal.

My Example Deal
Deal Stage

The stage of the deal. Deal stages allow you to categorize and track the progress of the deals.

presentationscheduled
Deal Type

The type of deal. By default, categorize your deal as either New Business or Existing Business. The picklist of values for this property is configurable through HubSpot.

newbusiness
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Owner Id

The owner ID of the resource.

910901
Pipeline

The pipeline to interact with.

default
Priority

The priority of the deal.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"createdAt": "2024-01-15T00:24:54.526Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"dealname": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "Software License Renewal",
"timestamp": "2024-01-15T00:24:54.526Z"
}
],
"amount": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "15000.00",
"timestamp": "2024-01-15T00:24:54.526Z"
}
]
},
"id": "87654321101",
"properties": {
"dealname": "Software License Renewal",
"amount": "15000.00",
"closedate": "2024-04-15T00:00:00.000Z",
"dealstage": "appointmentscheduled",
"pipeline": "default"
},
"updatedAt": "2024-01-15T00:24:54.526Z"
}
}

Create Engagement

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

InputNotesExample
Associations

To create and associate a task with existing records.

Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Properties

A properties object, attributes depend on the engagement type. For possible properties for each engagement type refer to HubSpot Engagements API.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "47231018317",
"properties": {
"hs_body_preview": "Schedule demo for new product features",
"hs_body_preview_html": "<html>\n <head></head>\n <body>\n Schedule demo for new product features\n </body>\n</html>",
"hs_body_preview_is_truncated": "false",
"hs_createdate": "2024-01-15T21:27:23.876Z",
"hs_lastmodifieddate": "2024-01-15T21:27:23.876Z",
"hs_object_id": "47231018317",
"hs_object_source": "INTEGRATION",
"hs_object_source_id": "789012",
"hs_object_source_label": "INTEGRATION",
"hs_task_body": "Schedule demo for new product features",
"hs_task_completion_count": "0",
"hs_task_family": "SALES",
"hs_task_for_object_type": "OWNER",
"hs_task_is_all_day": "false",
"hs_task_is_completed": "0",
"hs_task_is_completed_call": "0",
"hs_task_is_completed_email": "0",
"hs_task_is_completed_linked_in": "0",
"hs_task_is_completed_sequence": "0",
"hs_task_is_overdue": "false",
"hs_task_is_past_due_date": "false",
"hs_task_missed_due_date": "false",
"hs_task_missed_due_date_count": "0",
"hs_task_priority": "MEDIUM",
"hs_task_status": "NOT_STARTED",
"hs_task_subject": "Product Demo: Enterprise Plan",
"hs_task_type": "TODO",
"hs_timestamp": "2024-01-18T14:00:00.000Z"
},
"createdAt": "2024-01-15T21:27:23.876Z",
"updatedAt": "2024-01-15T21:27:23.876Z",
"archived": false
}
}

Create Line Item

Create a new line item | key: createLineItem

InputNotesExample
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Name

The name of the line item.

My Line Item
Price

The price of the product.

80400
Product Id

The unique identifier of the product.

804874
Quantity

The quantity of product in the line item.

80
Recurring Billing Monthly Rate

The quantity of product in the line item.

Recurring Billing Frequency

Provide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M

P12M
Timeout

The maximum time a client will await a request

20000

{
"data": {
"createdAt": "2024-01-15T00:31:42.469Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"name": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "1 Year Implementation Consultation",
"timestamp": "2024-01-15T00:31:42.469Z"
}
]
},
"id": "54321098767",
"properties": {
"name": "1 Year Implementation Consultation",
"price": "12000.00",
"quantity": "1",
"hs_product_id": "76543210988",
"recurringbillingfrequency": "annually",
"hs_recurring_billing_period": "P12M",
"amount": "12000.00"
},
"updatedAt": "2024-01-15T00:31:42.469Z"
}
}

Create Product

Create a new product | key: createProduct

InputNotesExample
Description

The description of the object.

This is an example description.
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Price

The price of the product.

80400
Product Name

The name of the product.

myProduct
Recurring Billing Frequency

Provide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M

P12M
Product SKU

The SKU of the product.

804874
Timeout

The maximum time a client will await a request

20000
Unit Cost

The unit cost of the product.

800

{
"data": {
"createdAt": "2024-01-15T00:35:05.442Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"name": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "Professional Services - Implementation",
"timestamp": "2024-01-15T00:35:05.442Z"
}
]
},
"id": "76543210989",
"properties": {
"name": "Professional Services - Implementation",
"price": "8500.00",
"hs_sku": "PS-IMP-002",
"description": "Full implementation service including data migration and training",
"hs_cost_of_goods_sold": "2500.00",
"hs_recurring_billing_period": "P0M"
},
"updatedAt": "2024-01-15T00:35:05.442Z"
}
}

Create Webhook

Create a webhook in HubSpot | key: createWebhook

InputNotesExample
Active

When true, the subscription is active. When false, the subscription is paused.

false
Event Type

Type of event to listen for. Can be one of create, delete, deletedForPrivacy, or propertyChange.

Connection

The connection to use for authenticating requests to HubSpot.

Property Name

The internal name of the property to monitor for changes. Only applies when eventType is propertyChange.

email
Timeout

The maximum time a client will await a request

20000

{
"data": {
"createdAt": "2024-01-15T20:53:52.517Z",
"propertyName": "email",
"active": true,
"eventType": "contact.propertyChange",
"id": "webhook_98767",
"updatedAt": "2024-01-15T20:53:52.517Z"
}
}

Delete all Instanced Webhooks

Delete all webhooks created by this instance in HubSpot | key: deleteAllWebhooks

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"message": "All webhooks deleted successfully"
}
}

Delete Company

Delete an existing company by Id | key: deleteCompany

InputNotesExample
Company Id

The unique identifier of the company.

097829
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Contact

Delete a contact by Id | key: deleteContact

InputNotesExample
Contact Id

The unique identifier of the contact.

9989223
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Custom Object

Removes custom object schema | key: deleteCustomObject

InputNotesExample
Return Archived Results

When true, returns only results that have been archived.

false
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of object.

deal
Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "2116144016",
"createdAt": "2024-01-15T18:07:11.390Z",
"updatedAt": "2024-01-15T18:09:07.555Z",
"properties": [
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "inventory_number",
"label": "Inventory Number",
"type": "string",
"fieldType": "text",
"groupName": "equipment_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
},
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "purchase_date",
"label": "Purchase Date",
"type": "date",
"fieldType": "date",
"groupName": "equipment_information",
"displayOrder": 2,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": false
}
],
"associations": [
{
"id": "789",
"fromObjectTypeId": "2-116144016",
"toObjectTypeId": "0-1",
"name": "equipment_to_contact"
}
],
"labels": {
"singular": "Equipment",
"plural": "Equipment Items"
},
"requiredProperties": [
"inventory_number"
],
"searchableProperties": [
"inventory_number",
"purchase_date"
],
"primaryDisplayProperty": "inventory_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_equipment",
"name": "equipment"
}
}

Delete Deal

Delete a deal by its Id | key: deleteDeal

InputNotesExample
Deal Id

The unique identifier of the deal.

804874
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Engagement

Deletes an engagement by its ID. | key: deleteEngagement

InputNotesExample
Engagement Id

The unique identifier of the engagement. A taskId, meetingId, etc.

123456
Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Line Item

Delete an existing line item by Id | key: deleteLineItem

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Line Item Id

The unique identifier of the line item.

78349093
Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Product

Delete a product by Id | key: deleteProduct

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Product Id

The unique identifier of the product.

804874
Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Delete Webhook

Delete a webhook by ID in HubSpot | key: deleteWebhook

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Subscription ID

The ID of the subscription to delete

123456789
Timeout

The maximum time a client will await a request

20000

{
"data": {}
}

Export CRM Data

Begins exporting CRM data for the portal as specified in the request body. | key: exportCRMData

InputNotesExample
Associated Object Type

The name or ID of an associated object to include in the export. If you include an associated object, the export will contain the associated record IDs of that object and the records' primary display property value.

name
Export Name

The name of the export.

My Export
Format

The format of the export file.

CSV
Connection

The connection to use for authenticating requests to HubSpot.

Language

The language of the export file.

List Id (Only and required for PublicExportListRequest)

The ILS List ID of the list to export.

123456
Object Properties

A list of the properties you want included in your export.

email
Object Type

The 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.

deal
Public CRM Search Request (Only for PublicExportViewRequest)

Indicates which data should be exported based on certain property values and search queries.

Schema Type

Schema type for the export.

VIEW
Timeout

The maximum time a client will await a request

20000

{
"data": {
"links": {
"downloadUrl": "https://api.hubapi.com/crm/v3/exports/downloads/export_file_12345.csv"
},
"id": "export_12345"
}
}

Get an Import

Get a complete summary of an import record, including any updates. | key: getAnImport

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Import Id

The unique identifier of the import.

43203123
Timeout

The maximum time a client will await a request

20000

{
"data": {
"importTemplate": {
"templateType": "admin_defined",
"templateId": 12345
},
"createdAt": "2024-01-15T05:02:32.691Z",
"metadata": {
"counters": {
"TOTAL_ROWS": 250,
"CREATED_OBJECTS": 150,
"UPDATED_OBJECTS": 100,
"UNIQUE_OBJECTS_WRITTEN": 250,
"PROPERTY_VALUES_EMITTED": 1250
},
"fileIds": [
"8765432"
],
"objectLists": [
{
"listId": "1234",
"objectType": "contacts"
}
]
},
"importRequestJson": {},
"importSource": "API",
"importName": "Q1 2024 Contact Import",
"state": "DONE",
"id": "9876543",
"optOutImport": false,
"updatedAt": "2024-01-15T05:15:45.890Z"
}
}

Get Batch Contacts

Read a batch of contacts by internal ID, or unique property values. | key: getBatchContacts

InputNotesExample
Return Archived Results

When true, returns only results that have been archived.

false
Contact Ids

A list of contact IDs.

Connection

The connection to use for authenticating requests to HubSpot.

Id Property

An ID property to search by

Property

A list of properties to read by.

Properties With History

A list of properties to read by.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"completedAt": "2024-01-15T08:27:09.454Z",
"requestedAt": "2024-01-15T08:27:09.120Z",
"startedAt": "2024-01-15T08:27:09.150Z",
"links": {},
"results": [
{
"createdAt": "2024-01-15T08:27:09.454Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"email": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "bob.wilson@example.com",
"timestamp": "2024-01-15T08:27:09.454Z"
}
]
},
"id": "65059681031",
"properties": {
"email": "bob.wilson@example.com",
"firstname": "Bob",
"lastname": "Wilson",
"company": "Global Enterprises",
"jobtitle": "CTO"
},
"updatedAt": "2024-01-15T08:27:09.454Z"
}
],
"status": "COMPLETE"
}
}

Get Company

Retrieve the information or metadata of a company by Id, domain, or name | key: getCompany

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Company Id

The unique identifier of the company.

097829
Company Name

The name of the company

Acme Inc.
Domain

The domain of the company

www.example.com
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

Get Contact

Get the information and metadata of a contact by Id or Email | key: getContact

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Email

The email of the contact. Getting contacts by email performs a search function and will return a successful output even when no results are found.

john.doe@example.com
Contact Id

The unique identifier of the contact.

9989223
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

Get Current User

Return information about the current session's user. | key: getCurrentUser

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": {
"portalId": 12345678,
"timeZone": "US/Eastern",
"accountType": "PROFESSIONAL",
"currency": "USD",
"utcOffset": "-05:00",
"utcOffsetMilliseconds": -18000000,
"user_id": 98765432,
"user": "admin@example.com"
}
}
}

Get Custom Object

Retrieves a specific custom object | key: getCustomObject

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of object.

deal
Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "2116144016",
"createdAt": "2024-01-15T18:07:11.390Z",
"updatedAt": "2024-01-15T18:09:07.555Z",
"properties": [
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "inventory_number",
"label": "Inventory Number",
"type": "string",
"fieldType": "text",
"groupName": "equipment_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
},
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "purchase_date",
"label": "Purchase Date",
"type": "date",
"fieldType": "date",
"groupName": "equipment_information",
"displayOrder": 2,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": false
}
],
"associations": [
{
"id": "789",
"fromObjectTypeId": "2-116144016",
"toObjectTypeId": "0-1",
"name": "equipment_to_contact"
}
],
"labels": {
"singular": "Equipment",
"plural": "Equipment Items"
},
"requiredProperties": [
"inventory_number"
],
"searchableProperties": [
"inventory_number",
"purchase_date"
],
"primaryDisplayProperty": "inventory_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_equipment",
"name": "equipment"
}
}

Get Deal

Retrieve information and metadata about a deal by its Id or name | key: getDealById

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Deal Id

The unique identifier of the deal.

804874
Deal Name

The name of the deal.

My Example Deal
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

Get Engagement

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

InputNotesExample
Return Archived Results

When true, returns only results that have been archived.

false
Associations

List of object types to retrieve associated IDs for. If the specified association do not exist, it will be ignored.

contact
Engagement Id

The unique identifier of the engagement. A taskId, meetingId, etc.

123456
Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Id Property

The name of a property whose values are unique for this object type.

Properties To Return

Properties 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 Return

A 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.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "47231018154",
"properties": {
"hs_createdate": "2024-01-15T01:42:51.758Z",
"hs_lastmodifieddate": "2024-01-15T01:42:51.950Z",
"hs_object_id": "47231018154",
"hs_task_body": "<div style=\"\" dir=\"auto\" data-top-level=\"true\">Review contract terms and prepare questions for legal team.</div>",
"hs_task_subject": "Contract Review Meeting Prep",
"hs_task_type": "TODO",
"hs_task_status": "NOT_STARTED",
"hs_task_priority": "HIGH",
"hs_timestamp": "2024-01-16T14:00:00Z"
},
"propertiesWithHistory": {
"hs_task_body": [
{
"value": "<div style=\"\" dir=\"auto\" data-top-level=\"true\">Review contract terms and prepare questions for legal team.</div>",
"timestamp": "2024-01-15T01:42:51.758Z",
"sourceType": "CRM_UI",
"sourceId": "userId:45678",
"updatedByUserId": 45678
}
]
},
"createdAt": "2024-01-15T01:42:51.758Z",
"updatedAt": "2024-01-15T01:42:51.950Z",
"archived": false
}
}

Get Line Item

Retrieve the information and metadata of a line item by Id | key: getLineItem

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Connection

The connection to use for authenticating requests to HubSpot.

Line Item Id

The unique identifier of the line item.

78349093
Name

The name of the line item.

My Line Item
Timeout

The maximum time a client will await a request

20000

Get Product

Retrieve the information and metadata of a product by Id or name | key: getProduct

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Connection

The connection to use for authenticating requests to HubSpot.

Product Id

The unique identifier of the product.

804874
Product Name

The name of the product.

myProduct
Timeout

The maximum time a client will await a request

20000

Import CRM Data

Import CRM records and activities into your HubSpot account, such as contacts, companies, and notes. | key: importCRMData

InputNotesExample
Create Contact List From Import

When true, creates a static list of the contacts from your import.

false
Data CSV File

The 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.

key: 'contact-import-file.csv', value: 'binary data'
Date Format

The format for dates included in the file. By default, this is set to MONTH_DAY_YEAR, but you can also use DAY_MONTH_YEAR or YEAR_MONTH_DAY.

YEAR_MONTH_DAY
Files

An array containing the import file information. For more information, see HubSpot CRM Imports API.

Connection

The connection to use for authenticating requests to HubSpot.

Import Operations

Indicates 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 you want to UPSERT (create and update), CREATE, or UPDATE records. For objectTypeId's, check HubSpot CRM Object Type IDs.

Marketable Contact Import

When true, the contacts being imported are marketable.

true
Name

The name of the import.

Contact Company import
Timeout

The maximum time a client will await a request

20000

{
"data": {
"importTemplate": {
"templateType": "admin_defined",
"templateId": 12345
},
"createdAt": "2024-01-15T05:02:32.679Z",
"metadata": {
"counters": {
"TOTAL_ROWS": 250,
"CREATED_OBJECTS": 150,
"UPDATED_OBJECTS": 100,
"UNIQUE_OBJECTS_WRITTEN": 250,
"PROPERTY_VALUES_EMITTED": 1250
},
"fileIds": [
"8765432"
],
"objectLists": [
{
"listId": "1234",
"objectType": "contacts"
}
]
},
"importRequestJson": {},
"importSource": "API",
"importName": "Q1 2024 Contact Import",
"state": "PROCESSING",
"id": "9876543",
"optOutImport": false,
"updatedAt": "2024-01-15T05:02:32.679Z"
}
}

List Active Imports

Returns a paged list of active imports for this account. | key: listActiveImports

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": [
{
"importTemplate": {
"templateType": "admin_defined",
"templateId": 12345
},
"createdAt": "2024-01-15T05:02:32.668Z",
"metadata": {
"counters": {
"TOTAL_ROWS": 250,
"CREATED_OBJECTS": 150,
"UPDATED_OBJECTS": 100,
"UNIQUE_OBJECTS_WRITTEN": 250,
"PROPERTY_VALUES_EMITTED": 1250
},
"fileIds": [
"8765432"
],
"objectLists": [
{
"listId": "1234",
"objectType": "contacts"
}
]
},
"importRequestJson": {},
"importSource": "API",
"importName": "Q1 2024 Contact Import",
"state": "DONE",
"id": "9876543",
"optOutImport": false,
"updatedAt": "2024-01-15T05:15:45.890Z"
}
]
}

List Association Types

Retrieve a list of all association types available between two objects | key: listAssociationTypes

InputNotesExample
From Object Type

The type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

contact
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000
To Object Type

The type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

deal

{
"data": {
"results": [
{
"name": "contact_to_company",
"id": "1"
},
{
"name": "company_to_deal",
"id": "341"
},
{
"name": "deal_to_line_item",
"id": "19"
}
]
}
}

List Companies

Retrieve a list of all companies | key: listCompanies

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Fetch All

When true, fetches all pages of results using pagination.

false
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "98765432101",
"properties": {
"createdate": "2024-01-10T10:36:45.123Z",
"domain": "acmecorp.com",
"hs_lastmodifieddate": "2024-01-15T14:22:10.456Z",
"hs_object_id": "98765432101",
"name": "Acme Corporation",
"industry": "Technology",
"city": "San Francisco",
"state": "California",
"country": "United States"
},
"createdAt": "2024-01-10T10:36:45.123Z",
"updatedAt": "2024-01-15T14:22:10.456Z",
"archived": false
}
],
"paging": {
"next": {
"after": "98765432102",
"link": "https://api.hubapi.com/crm/v3/objects/companies?limit=10&after=98765432102"
}
}
}
}

List Contacts

Retrieve a list of all contacts | key: listContacts

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Fetch All

When true, fetches all pages of results using pagination.

false
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "65059681027",
"properties": {
"createdate": "2024-01-10T08:30:15.234Z",
"email": "john.doe@example.com",
"firstname": "John",
"hs_lastmodifieddate": "2024-01-15T14:22:10.456Z",
"lastname": "Doe",
"hs_object_id": "65059681027",
"phone": "5551234567",
"company": "Acme Corporation",
"jobtitle": "Sales Manager"
},
"createdAt": "2024-01-10T08:30:15.234Z",
"updatedAt": "2024-01-15T14:22:10.456Z",
"archived": false
}
],
"paging": {
"next": {
"after": "65059681028",
"link": "https://api.hubapi.com/crm/v3/objects/contacts?limit=10&after=65059681028"
}
}
}
}

List Custom Objects

Retrieve all custom objects | key: listCustomObjects

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Return Archived Results

When true, returns only results that have been archived.

false
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "2116144016",
"createdAt": "2024-01-15T18:07:11.390Z",
"updatedAt": "2024-01-15T18:09:07.555Z",
"properties": [
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "inventory_number",
"label": "Inventory Number",
"type": "string",
"fieldType": "text",
"groupName": "equipment_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
},
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "purchase_date",
"label": "Purchase Date",
"type": "date",
"fieldType": "date",
"groupName": "equipment_information",
"displayOrder": 2,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": false
}
],
"associations": [
{
"id": "789",
"fromObjectTypeId": "2-116144016",
"toObjectTypeId": "0-1",
"name": "equipment_to_contact"
}
],
"labels": {
"singular": "Equipment",
"plural": "Equipment Items"
},
"requiredProperties": [
"inventory_number"
],
"searchableProperties": [
"inventory_number",
"purchase_date"
],
"primaryDisplayProperty": "inventory_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_equipment",
"name": "equipment"
},
{
"id": "2117255127",
"createdAt": "2024-01-16T09:12:33.120Z",
"updatedAt": "2024-01-16T09:15:22.340Z",
"properties": [
{
"updatedAt": "2024-01-16T09:12:33.450Z",
"createdAt": "2024-01-16T09:12:33.450Z",
"name": "service_contract_number",
"label": "Service Contract Number",
"type": "string",
"fieldType": "text",
"groupName": "contract_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
}
],
"associations": [
{
"id": "790",
"fromObjectTypeId": "2-117255127",
"toObjectTypeId": "0-2",
"name": "contract_to_company"
}
],
"labels": {
"singular": "Service Contract",
"plural": "Service Contracts"
},
"requiredProperties": [
"service_contract_number"
],
"searchableProperties": [
"service_contract_number"
],
"primaryDisplayProperty": "service_contract_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_service_contract",
"name": "service_contract"
}
]
}
}

List Deals

Retrieve a list of all deals | key: listDeals

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Fetch All

When true, fetches all pages of results using pagination.

false
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "87654321098",
"properties": {
"amount": "50000.00",
"closedate": "2024-03-31T00:00:00.000Z",
"createdate": "2024-01-10T09:15:30.234Z",
"dealname": "Q1 2024 Enterprise Contract",
"dealstage": "presentationscheduled",
"hs_lastmodifieddate": "2024-01-15T14:22:10.456Z",
"hs_object_id": "87654321098",
"pipeline": "default"
},
"createdAt": "2024-01-10T09:15:30.234Z",
"updatedAt": "2024-01-15T14:22:10.456Z",
"archived": false
}
],
"paging": {
"next": {
"after": "87654321099",
"link": "https://api.hubapi.com/crm/v3/objects/deals?limit=10&after=87654321099"
}
}
}
}

List Engagements

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

InputNotesExample
Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Properties To Return

Properties to be returned in the response. If the specified property is not present on the requested object, it will be ignored.

Timeout

The maximum time a client will await a request

20000

{
"data": [
{
"id": "47231018154",
"properties": {
"hs_createdate": "2024-01-15T01:42:51.758Z",
"hs_lastmodifieddate": "2024-01-15T01:42:51.950Z",
"hs_object_id": "47231018154",
"hs_task_subject": "Follow up call",
"hs_task_type": "CALL",
"hs_task_status": "COMPLETED"
},
"createdAt": "2024-01-15T01:42:51.758Z",
"updatedAt": "2024-01-15T01:42:51.950Z",
"archived": false
},
{
"id": "47231018317",
"properties": {
"hs_createdate": "2024-01-15T01:43:03.422Z",
"hs_lastmodifieddate": "2024-01-15T01:43:03.891Z",
"hs_object_id": "47231018317",
"hs_task_subject": "Send proposal",
"hs_task_type": "TODO",
"hs_task_status": "NOT_STARTED"
},
"createdAt": "2024-01-15T01:43:03.422Z",
"updatedAt": "2024-01-15T01:43:03.891Z",
"archived": false
}
]
}

List Line Items

Retrieve a list of all line items | key: listLineItems

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Fetch All

When true, fetches all pages of results using pagination.

false
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "54321098765",
"properties": {
"amount": "6000.00",
"createdate": "2024-01-10T10:20:30.456Z",
"hs_lastmodifieddate": "2024-01-15T14:22:10.456Z",
"hs_object_id": "54321098765",
"hs_product_id": "76543210987",
"name": "Professional Services Package",
"price": "6000.00",
"quantity": "1"
},
"createdAt": "2024-01-10T10:20:30.456Z",
"updatedAt": "2024-01-15T14:22:10.456Z",
"archived": false
}
],
"paging": {
"next": {
"after": "54321098766",
"link": "https://api.hubapi.com/crm/v3/objects/line_items?limit=10&after=54321098766"
}
}
}
}

List Products

Retrieve a list of all products | key: listProducts

InputNotesExample
Additional Properties To Return

For each item, provide a property you would like to be returned in the response.

phone
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Return Archived Results

When true, returns only results that have been archived.

false
Associations List

For each item, provide an object type to retrieve the associated Ids for.

Contacts
Fetch All

When true, fetches all pages of results using pagination.

false
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"id": "76543210987",
"properties": {
"createdate": "2024-01-05T08:15:20.123Z",
"hs_lastmodifieddate": "2024-01-15T14:22:10.456Z",
"hs_object_id": "76543210987",
"name": "Enterprise Software License",
"price": "25000.00",
"description": "Annual enterprise software license with premium support",
"hs_sku": "ENT-SW-001"
},
"createdAt": "2024-01-05T08:15:20.123Z",
"updatedAt": "2024-01-15T14:22:10.456Z",
"archived": false
}
],
"paging": {
"next": {
"after": "76543210988",
"link": "https://api.hubapi.com/crm/v3/objects/products?limit=10&after=76543210988"
}
}
}
}

List Properties

Retrieve a list of all configured object properties. | key: listProperties

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of object.

deal
Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"createdUserId": "45678",
"hidden": false,
"modificationMetadata": {
"readOnlyOptions": false,
"readOnlyValue": false,
"readOnlyDefinition": false,
"archivable": true
},
"displayOrder": 2,
"description": "The contact's email address",
"showCurrencySymbol": false,
"label": "Email",
"type": "string",
"hubspotDefined": true,
"formField": true,
"createdAt": "2024-01-01T00:00:00.000Z",
"archivedAt": null,
"archived": false,
"groupName": "contactinformation",
"referencedObjectType": null,
"name": "email",
"options": [],
"calculationFormula": null,
"hasUniqueValue": true,
"fieldType": "text",
"updatedUserId": "45678",
"calculated": false,
"externalOptions": false,
"updatedAt": "2024-01-15T10:30:00.000Z"
},
{
"createdUserId": "45678",
"hidden": false,
"modificationMetadata": {
"readOnlyOptions": true,
"readOnlyValue": false,
"readOnlyDefinition": false,
"archivable": true
},
"displayOrder": 5,
"description": "The contact's lifecycle stage",
"showCurrencySymbol": false,
"label": "Lifecycle Stage",
"type": "enumeration",
"hubspotDefined": true,
"formField": true,
"createdAt": "2024-01-01T00:00:00.000Z",
"archivedAt": null,
"archived": false,
"groupName": "contactinformation",
"referencedObjectType": null,
"name": "lifecyclestage",
"options": [
{
"hidden": false,
"displayOrder": 1,
"description": "Subscriber",
"label": "Subscriber",
"value": "subscriber"
},
{
"hidden": false,
"displayOrder": 2,
"description": "Lead",
"label": "Lead",
"value": "lead"
},
{
"hidden": false,
"displayOrder": 3,
"description": "Opportunity",
"label": "Opportunity",
"value": "opportunity"
},
{
"hidden": false,
"displayOrder": 4,
"description": "Customer",
"label": "Customer",
"value": "customer"
}
],
"calculationFormula": null,
"hasUniqueValue": false,
"fieldType": "select",
"updatedUserId": "45678",
"calculated": false,
"externalOptions": false,
"updatedAt": "2024-01-15T10:30:00.000Z"
}
]
}
}

List Webhooks

List all webhooks for a server | key: listWebhooks

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"results": [
{
"createdAt": "2024-01-10T20:53:52.503Z",
"propertyName": "lifecyclestage",
"active": true,
"eventType": "contact.propertyChange",
"id": "webhook_98765",
"updatedAt": "2024-01-15T14:22:10.456Z"
},
{
"createdAt": "2024-01-12T15:30:20.120Z",
"propertyName": null,
"active": true,
"eventType": "contact.creation",
"id": "webhook_98766",
"updatedAt": "2024-01-15T14:22:10.456Z"
}
]
}
}

Raw Request

Send raw HTTP request to HubSpot | key: rawRequest

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A 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.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If 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
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input 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.

/crm/v3/objects/deals
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

This action allows you to make requests to any HubSpot API endpoint. This is especially helpful for search endpoints, where objects may have custom properties that are unique to your customers.

The data that you send to HubSpot can be dynamically generated in a code step. Then, you can pass the code step's results as an input reference to the Data input. For example, if you are using HubSpot's search API to search for HubSpot "deals" that have the name "Sample Deal" and are valued less than 100 dollars, you can create a code step that reads like this:

module.exports = async ({ logger, configVars }, stepResults) => {
const data = {
filterGroups: [
{
filters: [
{
propertyName: "dealname",
operator: "EQ",
value: "Sample Deal",
},
{
propertyName: "amount",
operator: "LT",
value: "100",
},
],
},
],
properties: [
"hs_object_id",
"createdate",
"hubspot_owner_id",
"dealstage",
"amount",
"dealname",
"closedate",
"days_to_close",
"hs_analytics_source",
"hs_analytics_source_data_1",
"hs_analytics_source_data_2",
"hs_campaign",
"hs_closed_amount",
"hs_lastmodifieddate",
"dealtype",
"description",
],
};

return { data };
};

On the raw request step, enter /crm/v3/objects/deals/search as the URL input, POST as the Method, and reference the code step's results as the Data input.


Read Association

Get the Ids of the objects associated with those specified in the step | key: readAssociations

InputNotesExample
From Object Type

The type of the "from" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

contact
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000
To Id

The unique identifier of the second object

890435
To Object Type

The type of the "to" object. Choose from "Contacts", "Companies", "Deals", "Tickets", "Calls", "Quotes", "Line_items", "Meetings", "Products", "Feedback_submissions", or a custom object you have defined.

deal

{
"data": {
"completedAt": "2024-01-15T23:59:28.283Z",
"requestedAt": "2024-01-15T23:59:28.120Z",
"startedAt": "2024-01-15T23:59:28.150Z",
"links": {},
"results": [
{
"from": {
"id": "65059681027"
},
"paging": {
"next": {
"link": "https://api.hubapi.com/crm/v3/associations/contact/company/batch/read?after=98765432102",
"after": "98765432102"
}
},
"to": [
{
"id": "98765432101",
"type": "contact_to_company"
},
{
"id": "98765432102",
"type": "contact_to_company"
}
]
}
],
"status": "COMPLETE"
}
}

Use the search endpoints to filter, sort, and search objects, records, and engagements across your CRM. | key: search

InputNotesExample
Fetch All

Turn this ON to get more than 200 results. Note that this can be a large amount of data.

false
Connection

The connection to use for authenticating requests to HubSpot.

Object Type

The type of custom object to search for. Required for the Custom objects search endpoint.

deal
Search Endpoint

The endpoint to search for objects or engagements. For Custom objects don't forget to fill the Object Type input.

Search Limit

The number of records to return. The maximum value is 200.

10
Search Properties

Include properties such as filters and sorts, or specify the properties to be returned. If empty, only the default properties will be returned. For more information, see HubSpot CRM Search API.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"total": 2,
"results": [
{
"id": "65059681027",
"properties": {
"createdate": "2024-01-10T16:37:23.758Z",
"email": "john.doe@example.com",
"firstname": "John",
"hs_object_id": "65059681027",
"lastmodifieddate": "2024-01-15T19:39:45.324Z",
"lastname": "Doe",
"company": "Acme Corporation"
},
"createdAt": "2024-01-10T16:37:23.758Z",
"updatedAt": "2024-01-15T19:39:45.324Z",
"archived": false
},
{
"id": "65059681028",
"properties": {
"createdate": "2024-01-11T09:22:15.340Z",
"email": "jane.smith@example.com",
"firstname": "Jane",
"hs_object_id": "65059681028",
"lastmodifieddate": "2024-01-16T10:15:20.120Z",
"lastname": "Smith",
"company": "TechStart Industries"
},
"createdAt": "2024-01-11T09:22:15.340Z",
"updatedAt": "2024-01-16T10:15:20.120Z",
"archived": false
}
],
"paging": {
"next": {
"after": "2"
}
}
}
}

Search Deals

Returns a list of deals that match the given properties | key: searchDeals

InputNotesExample
Start After

Specify the pagination token that's returned by a previous request to retrieve the next page of results

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Connection

The connection to use for authenticating requests to HubSpot.

Limit

The maximum number of items that will be returned by the search.

100
Operator

The operator used to search on.

Property Name

The property to search on. Ensure the spelling and capitalization are correct for the property you want to use.

dealname
Timeout

The maximum time a client will await a request

20000
Value

The value corresponding to the given property name.

myDeal

{
"data": {
"total": 2,
"paging": {
"next": {
"link": "?after=NTI1Cg%3D%3D",
"after": "NTI1Cg%3D%3D"
}
},
"results": [
{
"createdAt": "2024-01-15T00:24:54.571Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"dealname": [
{
"sourceId": "CRM_UI",
"sourceType": "CRM_UI",
"sourceLabel": "CRM UI",
"updatedByUserId": 45678,
"value": "New Business Opportunity",
"timestamp": "2024-01-15T00:24:54.571Z"
}
]
},
"id": "87654321100",
"properties": {
"dealname": "New Business Opportunity",
"amount": "25000.00",
"closedate": "2024-02-28T00:00:00.000Z",
"dealstage": "qualifiedtobuy",
"pipeline": "default"
},
"updatedAt": "2024-01-15T00:24:54.571Z"
}
]
}
}

Update Batch Contacts

Update a batch of contacts | key: updateBatchContacts

InputNotesExample
Batch Contacts

An array of contact objects to update. See HubSpot Contacts API for properties.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"completedAt": "2024-01-15T08:27:09.462Z",
"requestedAt": "2024-01-15T08:27:09.120Z",
"startedAt": "2024-01-15T08:27:09.150Z",
"links": {},
"results": [
{
"createdAt": "2024-01-15T08:27:09.462Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"lifecyclestage": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "customer",
"timestamp": "2024-01-16T10:30:22.150Z"
}
]
},
"id": "65059681030",
"properties": {
"email": "alice.johnson@example.com",
"firstname": "Alice",
"lastname": "Johnson",
"company": "Innovation Labs",
"jobtitle": "Product Manager",
"lifecyclestage": "customer"
},
"updatedAt": "2024-01-16T10:30:22.150Z"
}
],
"status": "COMPLETE"
}
}

Update Batch Engagement

Updates a batch of selected engagements. | key: updateBatchEngagement

InputNotesExample
Batch Engagements

An 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.

Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"status": "COMPLETE",
"results": [
{
"id": "47231018154",
"properties": {
"hs_body_preview": "Updated task description",
"hs_body_preview_html": "<html>\n <head></head>\n <body>\n Updated task description\n </body>\n</html>",
"hs_body_preview_is_truncated": "false",
"hs_createdate": "2024-01-15T02:31:49.230Z",
"hs_lastmodifieddate": "2024-01-15T02:31:49.651Z",
"hs_object_id": "47231018154",
"hs_pipeline_stage": "dd5826e4-c976-4654-a527-b59ada512345",
"hs_task_body": "Updated task description",
"hs_task_status": "COMPLETED"
},
"createdAt": "2024-01-15T02:31:49.230Z",
"updatedAt": "2024-01-15T02:31:49.651Z",
"archived": false
}
],
"startedAt": "2024-01-15T02:31:49.629Z",
"completedAt": "2024-01-15T02:31:49.703Z"
}
}

Update Company

Update the information and metadata of an existing company | key: updateCompany

InputNotesExample
City

The city of the company

Atherton
Company Id

The unique identifier of the company.

097829
Phone

The phone number of the company.

(800) 555-1515
Description

The description of the object.

This is an example description.
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Industry

The industry of the company

Software
State

The state of the company

California
Timeout

The maximum time a client will await a request

20000
Company Name

The name of the company

Acme Inc.
Domain

The domain of the company

www.example.com

{
"data": {
"createdAt": "2024-01-15T00:06:42.336Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"name": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "TechStart Industries Inc.",
"timestamp": "2024-01-16T10:15:30.120Z"
}
],
"numberofemployees": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "75",
"timestamp": "2024-01-16T10:15:30.120Z"
}
]
},
"id": "98765432103",
"properties": {
"name": "TechStart Industries Inc.",
"domain": "techstart.com",
"industry": "Software Development",
"city": "Austin",
"state": "Texas",
"country": "United States",
"phone": "5125551234",
"numberofemployees": "75",
"annualrevenue": "5000000"
},
"updatedAt": "2024-01-16T10:15:30.120Z"
}
}

Update Contact

Update the information and metadata of an existing contact | key: updateContact

InputNotesExample
Contact Id

The unique identifier of the contact.

9989223
Company

The company of the contact

Acme Inc.
Email

The email of the contact

john.doe@example.com
First Name

The first name of the contact

John
Last Name

The last name of the contact

Doe
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000
Phone

The phone number of the contact

(877) 929-0687
Website

The website of the contact

www.example.com

{
"data": {
"createdAt": "2024-01-15T00:20:24.840Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"jobtitle": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "VP of Marketing",
"timestamp": "2024-01-16T09:30:15.234Z"
}
],
"phone": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "5559876544",
"timestamp": "2024-01-16T09:30:15.234Z"
}
]
},
"id": "65059681029",
"properties": {
"email": "jane.smith@example.com",
"firstname": "Jane",
"lastname": "Smith",
"phone": "5559876544",
"company": "TechStart Industries",
"jobtitle": "VP of Marketing",
"lifecyclestage": "opportunity"
},
"updatedAt": "2024-01-16T09:30:15.234Z"
}
}

Update Custom Object

Updates an object's schema | key: updateCustomObject

InputNotesExample
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Fully qualified name or object type ID of your schema.

The type of object.

deal
Plural Label

The word for multiple objects. (There's no way to change this later.)

My object
Required Properties

The names of properties that should be required when creating an object of this type.

my_object_property
Searchable Properties

Names of properties that will be indexed for this object type in by HubSpot's product search.

my_object_property
Singular Label

The word for one object. (There's no way to change this later.)

My object
Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "2116144016",
"createdAt": "2024-01-15T18:07:11.390Z",
"updatedAt": "2024-01-15T18:09:07.555Z",
"properties": [
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "inventory_number",
"label": "Inventory Number",
"type": "string",
"fieldType": "text",
"groupName": "equipment_information",
"displayOrder": 1,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": true
},
{
"updatedAt": "2024-01-15T18:07:11.802Z",
"createdAt": "2024-01-15T18:07:11.802Z",
"name": "purchase_date",
"label": "Purchase Date",
"type": "date",
"fieldType": "date",
"groupName": "equipment_information",
"displayOrder": 2,
"calculated": false,
"externalOptions": false,
"archived": false,
"hasUniqueValue": false
}
],
"associations": [
{
"id": "789",
"fromObjectTypeId": "2-116144016",
"toObjectTypeId": "0-1",
"name": "equipment_to_contact"
}
],
"labels": {
"singular": "Equipment",
"plural": "Equipment Items"
},
"requiredProperties": [
"inventory_number"
],
"searchableProperties": [
"inventory_number",
"purchase_date"
],
"primaryDisplayProperty": "inventory_number",
"metaType": "PORTAL_SPECIFIC",
"fullyQualifiedName": "p12345678_equipment",
"name": "equipment"
}
}

Update Deal

Update the information or metadata of an existing deal | key: updateDeal

InputNotesExample
Amount

The amount value for the deal.

34,000
Close Date

The date when the sale will close.

2019-12-07T16:50:06.678Z
Deal Id

The unique identifier of the deal.

804874
Deal Type

The type of deal. By default, categorize your deal as either New Business or Existing Business. The picklist of values for this property is configurable through HubSpot.

newbusiness
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Owner Id

The owner ID of the resource.

910901
Priority

The priority of the deal.

Timeout

The maximum time a client will await a request

20000
Deal Name

The name of the deal.

My Example Deal
Deal Stage

The stage of the deal. Deal stages allow you to categorize and track the progress of the deals.

presentationscheduled
Pipeline

The pipeline to interact with.

default

{
"data": {
"createdAt": "2024-01-15T00:24:54.543Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"dealstage": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "contractsent",
"timestamp": "2024-01-16T11:20:15.340Z"
}
],
"amount": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "17500.00",
"timestamp": "2024-01-16T11:20:15.340Z"
}
]
},
"id": "87654321101",
"properties": {
"dealname": "Software License Renewal",
"amount": "17500.00",
"closedate": "2024-04-15T00:00:00.000Z",
"dealstage": "contractsent",
"pipeline": "default"
},
"updatedAt": "2024-01-16T11:20:15.340Z"
}
}

Update Engagement

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

InputNotesExample
Engagement Id

The unique identifier of the engagement. A taskId, meetingId, etc.

123456
Engagement Object

Select an engagement object.

Connection

The connection to use for authenticating requests to HubSpot.

Id Property

The name of a property whose values are unique for this object type.

Properties

A properties object to update, attributes depend on the engagement type. For possible properties for each engagement type refer to HubSpot Engagements API.

Timeout

The maximum time a client will await a request

20000

{
"data": {
"id": "47231018317",
"properties": {
"hs_body_preview": "Task completed successfully",
"hs_body_preview_html": "<html>\n <head></head>\n <body>\n Task completed successfully\n </body>\n</html>",
"hs_body_preview_is_truncated": "false",
"hs_createdate": "2024-01-15T22:04:01.144Z",
"hs_lastmodifieddate": "2024-01-15T22:04:01.871Z",
"hs_object_id": "47231018317",
"hs_task_body": "Task completed successfully",
"hs_task_status": "COMPLETED"
},
"createdAt": "2024-01-15T22:04:01.144Z",
"updatedAt": "2024-01-15T22:04:01.871Z",
"archived": false
}
}

Update Line Item

Update an the information and metadata of an existing line item | key: updateLineItem

InputNotesExample
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Line Item Id

The unique identifier of the line item.

78349093
Quantity

The quantity of product in the line item.

80
Recurring Billing Monthly Rate

The quantity of product in the line item.

Recurring Billing Frequency

Provide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M

P12M
Timeout

The maximum time a client will await a request

20000
Name

The name of the line item.

My line Item
Price

The price of the product.

80400
Product Id

The unique identifier of the product.

804874

{
"data": {
"createdAt": "2024-01-15T00:31:42.485Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"quantity": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "2",
"timestamp": "2024-01-16T11:45:30.250Z"
}
],
"amount": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "24000.00",
"timestamp": "2024-01-16T11:45:30.250Z"
}
]
},
"id": "54321098767",
"properties": {
"name": "1 Year Implementation Consultation",
"price": "12000.00",
"quantity": "2",
"hs_product_id": "76543210988",
"recurringbillingfrequency": "annually",
"hs_recurring_billing_period": "P12M",
"amount": "24000.00"
},
"updatedAt": "2024-01-16T11:45:30.250Z"
}
}

Update Product

Update the information and metadata of an existing product | key: updateProduct

InputNotesExample
Description

The description of the object.

This is an example description.
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable.

Values

The names of the fields and their values to use when creating/updating a record.

name:My Example Account,phone:5551234567
Connection

The connection to use for authenticating requests to HubSpot.

Product Id

The unique identifier of the product.

804874
Recurring Billing Frequency

Provide the billing frequency of the product. Specify the integer of months in between a P and M in the following format: P{integer}M

P12M
Timeout

The maximum time a client will await a request

20000
Unit Cost

The unit cost of the product.

800
Price

The price of the product.

80400
Product Name

The name of the product.

myProduct
Product SKU

The SKU of the product.

804874

{
"data": {
"createdAt": "2024-01-15T00:35:05.457Z",
"archived": false,
"archivedAt": null,
"propertiesWithHistory": {
"price": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "9000.00",
"timestamp": "2024-01-16T12:10:45.680Z"
}
],
"description": [
{
"sourceId": "API",
"sourceType": "API",
"sourceLabel": "API",
"updatedByUserId": 0,
"value": "Full implementation service including data migration, training, and 30-day support",
"timestamp": "2024-01-16T12:10:45.680Z"
}
]
},
"id": "76543210989",
"properties": {
"name": "Professional Services - Implementation",
"price": "9000.00",
"hs_sku": "PS-IMP-002",
"description": "Full implementation service including data migration, training, and 30-day support",
"hs_cost_of_goods_sold": "2500.00",
"hs_recurring_billing_period": "P0M"
},
"updatedAt": "2024-01-16T12:10:45.680Z"
}
}

Validate Connection

Returns a boolean value that specifies whether the provided Connection is valid | key: validateConnection

InputNotesExample
Connection

The connection to use for authenticating requests to HubSpot.

Timeout

The maximum time a client will await a request

20000

{
"data": true
}

Changelog

2025-11-18

Updated New and Updated Records to use record type specific date properties to ensure full compatibility with search endpoint record types.

2025-11-17

Enhanced New and Updated Records and New and Updated Custom Records triggers filtering capabilities. Ensuring accurate detection of new and updated records while preventing potential duplicate processing.

2025-10-17

Enhanced webhook lifecycle management with improved event type subscription handling and automated cleanup

2025-09-18

Improved OAuth trigger documentation and reorganized connection documentation for better clarity

2025-05-14

Added inline data sources for companies, contacts, deals, engagements, line items, products, properties, and webhooks to enhance data selection capabilities