> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.polytomic.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server.

# HubSpot

Supports:
* ✅ Models
* ✅ Model sync destination
* ✅ Bulk sync source
* ✅ Connection Proxy


## Connection

### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>client_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>client_secret</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>include_static_list_support</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Enable segment (list) support</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>oauth_refresh_token</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>use_search_api</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Use HubSpot incremental API for bulk syncs</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>

<table>
<thead>
<tr>
<th>Read-only property</th><th>Type</th><th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>hub_domain</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">HubSpot domain</td>
</tr>
<tr>
<td><code>hub_user</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">HubSpot user</td>
</tr>
</tbody>
</table>


#### Example

```json
{
  "name": "HubSpot connection",
  "type": "hubspot",
  "configuration": {
    "client_id": "a45gadsfdsaf47byor2ugfbhsgllpf12gf56gfds",
    "client_secret": "ay8d5hdepz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq",
    "include_static_list_support": false,
    "oauth_refresh_token": "dasfdasz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq",
    "use_search_api": false
  }
}
```


## Model Sync
### Source
#### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>list_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Records</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>stream_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


#### Example
```json
{
  ...
  "configuration": {
    "list_id": "",
    "stream_id": "companies"
  }
}
```


### Target
HubSpot connections may be used as the destination in a model sync. Some destinations support additional configuration.
#### Companies

Applies to:
* `companies`


##### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>create_with_empty_identity</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Sync records with an empty identity value<br/><br/>Do not omit records with an empty identity value from create or create and update mode syncs when hs_object_id is the identity mapping.</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>ingestion_api</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Ingestion API<br/><br/>Accepted values: `automatic`, `object`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>invalid_relationships</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Records with invalid relationship IDs<br/><br/>Accepted values: `error`, `omit_values`, `omit_records`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>match_additional_domains</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Match against HubSpot's 'Additional domains' field</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>replace_associations</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Replace existing relationships</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>write_null_values</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Copy null values</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


##### Example
```json
{
  ...
  "target": {
      "configuration": {
        "create_with_empty_identity": false,
        "ingestion_api": "automatic",
        "invalid_relationships": "omit_values",
        "match_additional_domains": false,
        "replace_associations": false,
        "write_null_values": false
    }
  }
}
```


#### Contacts

Applies to:
* `contacts`


##### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>create_with_empty_identity</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Sync records with an empty identity value<br/><br/>Do not omit records with an empty identity value from create or create and update mode syncs when hs_object_id is the identity mapping.</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>ignore_additional_emails</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Ignore HubSpot's 'Additional emails' field</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>ingestion_api</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Ingestion API<br/><br/>Accepted values: `automatic`, `object`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>invalid_relationships</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Records with invalid relationship IDs<br/><br/>Accepted values: `error`, `omit_values`, `omit_records`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>replace_associations</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Replace existing relationships</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>write_null_values</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Copy null values</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


##### Example
```json
{
  ...
  "target": {
      "configuration": {
        "create_with_empty_identity": false,
        "ignore_additional_emails": true,
        "ingestion_api": "automatic",
        "invalid_relationships": "omit_values",
        "replace_associations": false,
        "write_null_values": false
    }
  }
}
```


#### Other targets


##### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>create_with_empty_identity</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Sync records with an empty identity value<br/><br/>Do not omit records with an empty identity value from create or create and update mode syncs when hs_object_id is the identity mapping.</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>ingestion_api</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Ingestion API<br/><br/>Accepted values: `automatic`, `object`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>invalid_relationships</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Records with invalid relationship IDs<br/><br/>Accepted values: `error`, `omit_values`, `omit_records`</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>replace_associations</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Replace existing relationships</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>write_null_values</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Copy null values</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


##### Example
```json
{
  ...
  "target": {
      "configuration": {
        "create_with_empty_identity": false,
        "ingestion_api": "automatic",
        "invalid_relationships": "omit_values",
        "replace_associations": false,
        "write_null_values": false
    }
  }
}
```









## Bulk Sync
### Source
#### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>include_archived</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Include archived HubSpot records</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


#### Example
```json
{
  ...
  "source_configuration": {
    "include_archived": false
  }
}
```