HubSpot Integration Overview and Configuration

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.

Field Mapping

Field mapping connects Measure objects to their HubSpot counterparts. Getting this right is the foundation of a reliable sync.

Customer → HubSpot Contact

Map Measure Customer fields to HubSpot Contact fields. All fields from HubSpot contacts are pulled and displayed in Measure, including custom fields you add to HubSpot. You select which Measure fields should map to each HubSpot field, or ignore fields that are not relevant.

Common mappings include first name, last name, email, company name, address, and any custom customer attributes you have configured in Measure.

Contract → HubSpot Deal

Map Measure Contract fields to HubSpot Deal fields. Key mappings include deal name, amount (typically mapped from TCV), close date, and currency.

Status → Stage Mapping

Contracts have statuses in Measure. Deals have stages in HubSpot. You map between them explicitly using a sub-dropdown. Example:

  • Measure Contract Status: Draft → HubSpot Deal Stage: Draft

  • Measure Contract Status: Pending Signatures → HubSpot Deal Stage: Contract Sent

  • Measure Contract Status: Complete → HubSpot Deal Stage: Closed Won

  • Measure Contract Status: Declined → HubSpot Deal Stage: Closed Lost

Map every Measure contract status to a HubSpot stage. Unmapped statuses can cause sync failures or incomplete deal records.

Action Mapping

Action mapping determines what happens in each system when data changes. You configure actions for events in HubSpot and events in Measure.

HubSpot → Measure

  • When a contact is added: Choose whether to create a customer in Measure.

  • When a contact is updated: Choose whether to update the corresponding customer in Measure.

  • When a deal is created: Choose whether to create a customer in Measure from the deal's linked contact.

  • When a deal is updated: Choose whether to update the corresponding customer in Measure.

Measure → HubSpot

  • When a customer is created: Choose whether to create a contact in HubSpot.

  • When a customer is updated: Choose whether to update the corresponding contact in HubSpot.

  • When a contract is updated: Choose whether to update the corresponding deal in HubSpot.

Setting actions to Do Nothing gives you control over which direction data flows. You can configure a one-way sync if needed.

Sync Logic

The integration is bidirectional. Data flows from Measure into HubSpot and from HubSpot back into Measure based on your action mapping configuration.

Measure → HubSpot

  • Trigger: Customer created or updated
    Action in HubSpot: Creates or updates a HubSpot Contact

  • Trigger: Contract created or updated
    Action in HubSpot: Creates or updates a HubSpot Deal

HubSpot → Measure

  • Trigger: Contact created or updated
    Action in Measure: Creates or updates a Measure Customer

  • Trigger: Deal created
    Action in Measure: Creates a Measure Customer from the deal's linked Contact (if not already in Measure)

  • Trigger: Deal updated
    Action in Measure: Updates the associated Measure Customer

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.