HubSpot Integration Overview and Setup

Edited

The HubSpot integration connects your CRM to Measure so you can create contracts from associated deals without leaving HubSpot. Before configuring field mappings, you need to connect your HubSpot account. In Integrations, click Install to add the integration to your workspace, then authorize the connection. View the full installation walk-through here.

Select your Action Mapping

Action mapping determines which events in HubSpot and Measure trigger a sync, and that decides which fields actually need to be mapped. Configure action mapping first, then review the field mappings underneath it. Action mapping is for updating Contacts <> Customers in HubSpot and Deals <> Contracts bidirectionally. There is one exception where customer fields map automatically without action mapping configured.

HubSpot to Measure

  • Contact <> Customer

    • When a contact is added: Create a customer in Measure.

    • When a contact is updated: Update the customer in Measure

  • Deal <> Customer

    • When a deal is created: Create a customer in Measure

    • When a deal is updated: Update the customer in Measure

Measure to HubSpot

  • Customer <> Contact

    • When a customer is created: Create a contact in HubSpot.

    • When a customer is updated: Update the contact in HubSpot.

  • Contract <> Deal

    • When a contract is updated: Update the deal in HubSpot

These actions keep contacts and customers aligned in both directions. Set any action to Do Nothing if you want a one-way sync.

Select your Customer Field Mapping

Customer mapping is less common. Many teams prefer to keep HubSpot as the source of truth for contact data and do not want updates in Measure flowing back to HubSpot. If that applies to your team, set the Customer <> Contact action mapping to Do Nothing under the Measure to HubSpot section above.

The Customer to HubSpot Contact mapping covers the same fields you would fill in when creating a customer manually in Measure. The HubSpot contact properties available in the dropdown depend on what exists in your HubSpot account, including any custom properties your team has added. Nothing pre-populates. You decide which Measure customer field flows into each HubSpot field.

Automatic Customer Creation From Deals

When a contract is created from an associated deal in HubSpot and no matching customer exists in Measure yet, Measure automatically creates the customer. In this case, core contact fields are pulled from the HubSpot contact regardless of your action mapping settings. The following fields are mapped automatically: Contact Name, Email, Billing Emails, Title, Organization, Phone Number, and Address.

For example, if your team sets Customer <> Contact action mapping to Do Nothing but creates a contract from a HubSpot deal, Measure still creates the customer record using those core fields. You do not need to configure customer field mapping for this to work.

Common fields teams map:

HubSpot Field

Measure Field

Street Address

Address

Annual Revenue

ARR

City

Address City

Company Name

Organization Name

Country/Region

Address Country

Email

Email

First Name

First Name

Map only the fields your team relies on inside Measure. Leave the rest unmapped if they are not necessary.

Select your Contract Field Mapping

The Contract to HubSpot Deal mapping keeps deal records in sync with Measure contracts. As with customer mapping, the HubSpot deal properties available depend on your HubSpot account.

The mapping that ships with meaningful defaults is Deal Stage → Status, which controls how Measure contract statuses translate to HubSpot pipeline stages. The pipeline itself is auto-computed. Measure sets it for you.

Common fields teams map:

HubSpot Field

Measure Field

Amount

TCV (Total Contract Value)

Create Date

Created Date

Currency

Currency

Deal Name (Required)

Title

Deal Stage (Required)

Status

Map additional deal fields like Close Date, Create Date and others only if you need that data to round-trip.

Deal Stage Defaults

Deal Stage is the one mapping that almost always needs review. Measure contract statuses map to HubSpot sales pipeline stages, and HubSpot pipelines vary by team. The defaults point to HubSpot's standard Sales Pipeline stages:

HubSpot Deal Stage

Measure Contract Status

Appointment Scheduled

Draft

Appointment Scheduled

Needs Approval

Contract Sent

Pending Signatures

Contract Sent

Pending Payment Method

Contract Sent

Awaiting Manual Confirmation

Contract Sent

Pending Counter Signatures

Closed Won

Complete

Closed Won

Executed

Closed Lost

Rejected

Closed Lost

Declined

If your team uses a custom pipeline, remap the statuses that matter for your workflow. You do not need to remap every status. Only the ones your pipeline actually uses. Statuses that never get triggered will not cause sync issues if they are left on the default.

What You Actually Need to Configure

Most fields do not need your attention. Focus your setup time on:

  • Action mappings to determine what you want synced over, and if the sync will be bi-directional.

  • Deal Name, Deal Stage Field Mapping for the statuses your pipeline actually uses. ⚠️ These are required fields for the sync to work.

  • Any deal fields your team relies on inside Measure, including custom HubSpot properties that you want synced over for a deal/contract.

Review your Integration Logs on the HubSpot Integration page after the first few syncs to confirm everything is flowing as expected.

Creating Contracts from HubSpot

You can create Measure contracts directly from a HubSpot deal page. When you open a deal in HubSpot, you see a Measure contracts section that shows any existing contracts attached to that deal.

Click to create a new contract. Measure preloads the customer information and deal name. Select the pricing plan, and Measure creates the contract. The contract details appear immediately on the HubSpot deal page.

As you finalize the contract in Measure, send it to the customer, and the customer reviews and signs it, the contract status updates in HubSpot in real time. When the contract is fully executed, the deal moves to Closed Won.

Settings

The HubSpot integration includes additional settings to control sync behavior.

Automatically create unknown pricing in Measure

When enabled, if a HubSpot deal references a product or pricing that does not exist in Measure, Measure will automatically create it. When disabled, the sync will skip deals with unknown pricing.

Primary Action on Deal Card

Choose what action appears as the primary button on the Measure card within HubSpot deal pages. Options typically include Create Contract or View Contracts.

De-dupe customer based on property

Choose which field Measure uses to identify duplicate customers. Common options include email or a custom unique identifier. When set to Don't de-duplicate, Measure treats each contact as a separate customer even if email addresses match.

Troubleshooting

Sync Failing for a Contract

Check the Integration Logs first. Each entry shows whether a push or pull succeeded or failed, along with error details that point to the specific field causing the problem.

Unmapped or invalid deal stage is a common cause. The log will surface this directly. Revisit the Contract → Deal field mapping and confirm every contract status has a corresponding HubSpot stage assigned.

Deal Stage Not Populating

The Measure contract status was not mapped to a HubSpot deal stage in the sub-dropdown. Revisit the Contract → Deal field mapping and confirm every contract status has a corresponding HubSpot stage assigned.

Wrong Data in a HubSpot Field

A Measure field was mapped to an incompatible HubSpot field type. For example, a text field mapped to a numeric field like Deal Value. Re-map using a compatible field type.

HubSpot Contact Not Created from a Deal

The sync only creates a Measure customer from a deal if the deal has a linked HubSpot Contact and that contact does not already exist in Measure. Confirm the HubSpot deal has an associated Contact record before expecting a customer to be created.

Using Integration Logs

Logs are your first stop for any sync issue. For every data push or pull attempt, the log records:

  • Whether the sync succeeded or failed.

  • The object involved (customer, contract, contact, deal).

  • Error details when a failure occurs.

Always check the log error message before adjusting configuration. It will typically point directly to the field or mapping that needs attention.

Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.