HubSpot Component
Manage records and associations in the HubSpot CRM platform
Component key: hubspot
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.
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
- Navigate to HubSpot and log in
- Navigate to Settings > Integrations > Private Apps
- To create a new app:
- Click Create a private app or Create an app
- Configure the required webhook subscriptions
- Navigate to the Auth or App Credentials section
- 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:
- In the app settings, navigate to the Webhooks section
- Click Configure or Set up webhooks
- 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)
| Input | Notes | Example |
|---|---|---|
| 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
-
Install the HubSpot CLI:
npm install -g @hubspot/cli -
Authenticate the CLI with the HubSpot developer account:
hs account auth -
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)
-
Configure the app by editing the generated
app-hsmeta.jsonfile:- Update app name, description, and required scopes
- Add redirect URLs for OAuth authentication
-
Upload the app project to HubSpot:
hs project uploadDirectory ErrorIf the error
[ERROR] Unable to locate a project configuration fileappears, change to the project folder where the app was created and run the command again. -
Open the project in the HubSpot developer portal:
hs project open -
Navigate to the Auth tab in the developer portal
-
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
- Refer to HubSpot OAuth documentation for scope details
- Under Redirect URLs, ensure
https://oauth2.prismatic.io/callbackhas been added to the app configuration
Recommended Scopes
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.readcrm.objects.contacts.write- Contacts managementcrm.objects.companies.readcrm.objects.companies.write- Companies managementcrm.objects.deals.readcrm.objects.deals.write- Deals managementcrm.objects.custom.readcrm.objects.custom.write- Custom objects management
Additional CRM Objects:
crm.objects.line_items.readcrm.objects.line_items.write- Line items managementcrm.objects.quotes.readcrm.objects.quotes.write- Quotes managementtickets- Ticket management (legacy scope covers read/write)
Engagement Types:
crm.schemas.contacts.read- Contact property definitionscrm.schemas.companies.read- Company property definitionscrm.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 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
- Navigate to the HubSpot developer account portal
- Click Create app to create a new public app
- Fill in the app details (name, description, etc.)
- Navigate to the Auth tab of the newly created app
- Copy the Client ID and Client Secret from this page
- Under Redirect URLs, add
https://oauth2.prismatic.io/callback - Configure the required scopes for the integration in the Scopes section
| Input | Notes | Example |
|---|---|---|
| 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:
- Navigate to HubSpot and log in
- Navigate to Settings > Integrations > Private Apps
- Click Create a private app
- Enter a name for the app
- Configure the required scopes for the integration
- After creating the app, navigate to the Auth tab
- Copy the Access Token displayed
Configure the Connection
- Enter the Access Token from the HubSpot private app settings into the connection configuration
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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.readfor 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.
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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:
- Run on the configured schedule (e.g., every 5 minutes)
- Search HubSpot using the Search API for records modified since the last poll
- Categorize records as "new" or "updated" based on created date last modified date timestamps
- 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
| Input | Notes | Example |
|---|---|---|
| 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:
- Create a public app in the HubSpot Developer Console
- 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
- 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
| Input | Notes | Example |
|---|---|---|
| HubSpot Connection | ||
| Include Custom Objects | false | |
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Select Contact
Select a contact from the list of contacts. | key: selectContact | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Select Deal
Select a deal from the list of deals. | key: selectDeal | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Select Engagement
Select an engagement from the list of engagements. | key: selectEngagement | type: picklist
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Select Product
Select a product from the list of products. | key: selectProduct | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Select Property
Select a property from the list of properties. | key: selectProperty | type: picklist
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The connection to use for authenticating requests to HubSpot. |
Actions
Archive Association
Remove the associations between two provided objects | key: ArchiveAssociations
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Company | The company of the contact. | Acme Inc. |
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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. | |
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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. | |
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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 |
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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 ( | /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
| Input | Notes | Example |
|---|---|---|
| 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"
}
}
Search
Use the search endpoints to filter, sort, and search objects, records, and engagements across your CRM. | key: search
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Contact Id | The unique identifier of the contact. | 9989223 |
| Company | The company of the contact | Acme Inc. |
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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