HubSpot Integration Overview and Configuration
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:DraftMeasure Contract Status:
Pending Signatures→ HubSpot Deal Stage:Contract SentMeasure Contract Status:
Complete→ HubSpot Deal Stage:Closed WonMeasure 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 ContactTrigger: 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 CustomerTrigger: 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.
