# HubSpot

The **HubSpot Node** allows you to sync your records or newly discovered data from your workflow directly into your HubSpot CRM.

It supports both **Contact** and **Company** objects — so whether you’re generating net-new records or updating existing ones, this node helps keep your HubSpot instance fresh and aligned with your data.

***

### When to Use It

Use the HubSpot node when you want to:

* Automatically push enriched/discovered contact or account data into HubSpot
* Add leads or companies discovered by AI
* Keep CRM records up-to-date with external data

***

### Configuration Overview

Here's what each field and option does:

**Account**

Select the connected HubSpot account you want to sync data into. You’ll need to have an integration set up before this step.

**Action Event**

Currently, the supported action is:

* **Objects to Sync** – Select if you're interested in syncing companies or contacts.

## Sync Options

You can toggle each of these depending on what you want the workflow to do:

* **Create Companies**\
  Adds a new company to HubSpot if it doesn't already exist.
* **Update Companies**\
  Updates existing companies in HubSpot using the matched record.
* **Create Contacts**\
  Adds a new contact to HubSpot if it doesn’t already exist.
* **Update Contacts**\
  Updates existing contacts in HubSpot with enriched or discovered data.

> You can enable one, several, or all options depending on your sync goals.

### Custom Fields

#### 1. Custom **Fields Selection**

This is where you select which CRM field you want to write to. You can either create or search to find an existing HubSpot field (e.g., `Account Type`, `Billing Country`, or your custom fields like `HockeyStack Score`).

#### 2. **Selected Field Summary**

Once you select a field, you’ll see detailed information:

* **Field Label**: The human-readable name (e.g., *HockeyStack Score*).
* **Field Name**: The internal API name used by HubSpot (e.g., `HS_hockeystack_score`).
* **Field Type**: The data type of the field in HubSpot (e.g., `string`, `boolean`, etc).
* **Value Type**:
  * `Static`: You define a fixed value that is always sent (e.g., always "Marketing Qualified").
  * `Dynamic`: The value comes from a property in HockeyStack (e.g., the actual intent score or account stage at the time of sync).

#### **3.1 Value (When Static is Selected)**

* When **Static** is chosen, this input lets you write anything that will be synced into the selected CRM field.
* For example, you might map value `true` to a property like `Is Marketing Qualified`.

#### **3.2. Property (When Dynamic is Selected)**

* When **Dynamic** is chosen, this dropdown lets you select a HockeyStack property to sync into the selected CRM field.
* For example, you might map `HockeyStack Score` to a property like `Intent Score`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hockeystack.com/account-intelligence/workflows/nodes/destinations/hubspot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
