> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squid-id.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What HubSpot receives

> The exact contact and company fields Squid ID writes to HubSpot, the squid_ custom properties it creates automatically, and the rule for when each one is set.

This is the full data dictionary for the HubSpot sync: every field Squid ID writes, where it comes from, and exactly when it is set. Squid ID creates its own `squid_` properties automatically on connect, so there is nothing to set up by hand.

## If you're coming from RB2B

RB2B writes a handful of `RB2B`-prefixed properties but never documents their types or when each is written, and two of them (LinkedIn, Industry) have to be created by hand or the sync errors.

<div className="compare">
  <table>
    <thead>
      <tr><th /><th>RB2B</th><th>Squid ID</th></tr>
    </thead>

    <tbody>
      <tr><td>Custom properties</td><td>Auto-created (mostly)</td><td>Auto-created on connect, all of them</td></tr>
      <tr><td>Manual property setup</td><td>LinkedIn + Industry often required</td><td>None</td></tr>
      <tr><td>Documented types</td><td>Not published</td><td>Full table below</td></tr>
      <tr><td>Premium contact data</td><td>Not provided</td><td>Mobile, personal email, mailing address (Squid ID+)</td></tr>
      <tr><td>Non-destructive update</td><td>Yes</td><td>Yes (only <code>squid\_</code> props touched on existing contacts)</td></tr>
    </tbody>
  </table>
</div>

<p className="why"><strong>Why this matters.</strong> You can map a workflow or report to a field with confidence only if you know its name, its type, and whether it is populated every time or just on the first sync. That is what this page gives you.</p>

## How writes work

A contact is matched by **email**. The first time Squid ID sees a person it **creates** the contact and sets the standard fields below. On later visits it **updates** the contact, and on an update it writes **only** the `squid_` properties, so it never overwrites a field your team or another tool manages.

Both halves of that upsert are switchable in the connector under [Choose who syncs](/integrations/hubspot#choose-who-syncs). **Create new contacts** off means Squid ID only touches people already in your CRM (enrich known contacts only). **Update existing records** off means it only adds net-new contacts and never re-touches existing ones. Both are on by default.

<Info>The standard fields (name, job title, mailing address) are set only when Squid ID creates the contact. If the contact already exists, only the `squid_` properties change.</Info>

## Custom properties (the squid\_ group)

Created automatically in the **Squid ID** property group on connect, and written on every qualifying sync (create and update).

| Property                   | Internal name          | Type      | Set when      | Source                                   |
| -------------------------- | ---------------------- | --------- | ------------- | ---------------------------------------- |
| Squid ICP match            | `squid_icp`            | Text      | Always        | The ICP(s) the visitor matched           |
| Squid high-intent pages    | `squid_intent_pages`   | Text      | When hit      | The high-intent pages the visitor viewed |
| Squid LinkedIn             | `squid_linkedin`       | Text      | Always        | LinkedIn profile URL                     |
| Squid referrer             | `squid_referrer`       | Text      | Always        | The page that referred the visit         |
| Squid landing page         | `squid_landing_page`   | Text      | Always        | The page they were identified on         |
| Squid captured at          | `squid_captured_at`    | Date/time | Always        | When we identified them                  |
| Squid mobile (ID+)         | `squid_mobile_phone`   | Text      | When unlocked | Squid ID+ mobile number                  |
| Squid personal email (ID+) | `squid_personal_email` | Text      | When unlocked | Squid ID+ personal email                 |
| Squid home address (ID+)   | `squid_home_address`   | Text      | When unlocked | Squid ID+ mailing address                |

The three **ID+** rows are populated only when the record is unlocked, either because the website is on [Squid ID+ Automatic](/add-ons/squid-id-plus#turning-on-automatic) or the record was revealed. Otherwise they are left empty.

## Standard contact fields (on create)

Written only when Squid ID creates the contact, so an existing contact's fields are never overwritten.

| HubSpot property                             | Source                    | Notes                                           |
| -------------------------------------------- | ------------------------- | ----------------------------------------------- |
| `email`                                      | Work email                | Required; a visitor with no email is not synced |
| `firstname` / `lastname`                     | Identified name           | Split from the full name                        |
| `jobtitle`                                   | Title                     |                                                 |
| `company`                                    | Company name              |                                                 |
| `website`                                    | Company website           |                                                 |
| `mobilephone`                                | Squid ID+ mobile          | Only when unlocked                              |
| `phone`                                      | Squid ID+ phone           | Only when unlocked                              |
| `address`, `city`, `state`, `zip`, `country` | Squid ID+ mailing address | Only when unlocked                              |

## Company fields (on create)

Written when **Create & associate companies** is on and the visitor has a company. The company is matched by **domain**, created if new, and associated with the contact.

| HubSpot property | Source                 |
| ---------------- | ---------------------- |
| `name`           | Company name           |
| `domain`         | Company website domain |
| `industry`       | Company industry       |

## On create: lifecycle, owner, and list

These are applied when a contact is first created, configured per website in the connector:

* `lifecyclestage`: set to the stage you choose (skipped on existing contacts so no one moves backward).
* `hubspot_owner_id`: assigns the contact to the owner you choose.
* **List membership**: adds the contact to the static list you choose.

## Related

* [Sync visitors to HubSpot](/integrations/hubspot)
* [HubSpot playbooks](/integrations/hubspot-workflows)
* [HubSpot troubleshooting](/integrations/hubspot-troubleshooting)
* [Squid ID+](/add-ons/squid-id-plus)
