Connect HubSpot with Statisfy
The HubSpot integration syncs your CRM data into Statisfy, including companies (accounts), contacts, deals (opportunities), and custom fields. This enables unified customer intelligence across your sales and customer success workflows. Prerequisites:- Admin access to both HubSpot and Statisfy
- HubSpot account with API access enabled
What Data Gets Synced
An account’s domain comes from the company’s Website. When a company has no website, Statisfy uses its Company domain name instead. The domain is how emails and meetings are matched to the account. Your own company’s domains and personal email domains, such as gmail.com, are never used as an account’s domain.
Steps to Connect
- Log in to Statisfy.
- Navigate to: Integrations → Admin Apps → HubSpot → Connect
- Click Connect to initiate the OAuth flow.
- You’ll be redirected to HubSpot. Sign in and authorize Statisfy to access your HubSpot data.
- After successful authentication, the HubSpot app will appear as Connected in Statisfy.
-
Open Integrations → HubSpot → Settings to configure what syncs — no support ticket needed. The settings page has three sections:
- Account Filtering (required) — which companies to sync, and whether they come in as Customers, Prospects, or Partners
- Owner Mapping — which HubSpot owner properties identify each owner (CSM, Account Owner, and so on). Only owner (user lookup) properties are listed
- ARR & Renewal — where annual recurring revenue and renewal dates come from: a company property, a calculation across associated records (deals, line items, products, or tickets), or skip
Configuration Options
Account Filters
Account Filters
Configure which HubSpot companies sync to Statisfy using filters:Single Account Type:
Sync all companies matching specific criteria as “Customers”:
- Filter by lifecycle stage (e.g.,
lifecyclestage = customer) - Filter by custom status field (e.g.,
customer_status = Active)
- Customers: Companies with
type = Customer - Prospects: Companies with
type = Prospectandlifecyclestage = opportunity - Partners: Companies with
type = Partner - Churned: Companies with
type = Former Customer - Custom: Companies with
type = Location, synced under a label you choose (see below)
- A Custom filter needs a Label, for example
Location. The label becomes the company’s type in Statisfy: the Type column shows it, and the Accounts page lists these companies on their own tab named after it. - Custom companies show in the product, but no health, workflow, or report runs on them.
- Custom filters match last. A company that a Customer, Prospect, Partner, or Churned filter also returns gets that filter’s type.
- A Custom filter can’t be your only filter, and it doesn’t count toward the Customer, Prospect, or Partner filter you need to save.
- Custom companies sync in their own run once a month, without their contacts or deals.
- When a Custom company no longer matches any Custom filter, Statisfy marks it Churned. It isn’t deleted.
Owner Mappings
Owner Mappings
Map HubSpot owner properties to Statisfy owner types:
Owner information is automatically resolved from HubSpot user records.The property picker only lists owner properties. HubSpot marks a property as an
owner lookup when its values are HubSpot user records —
hubspot_owner_id and any
custom “owner” property you created on the company object. Those are the only
properties that appear in the dropdown, because they are the only ones Statisfy can
resolve to a real user (name, email, and a link to the Statisfy user).Properties that merely contain an owner’s name as text are deliberately excluded,
even when they look like owner fields:- Rollup or calculated properties such as
ae_owner__most_recent_closed_deal_, which copy a display name off an associated deal - Plain text or dropdown properties holding a name or an email address
If a mapping was configured before this restriction existed, the settings page still
shows the saved property name and keeps syncing it — you just can’t re-select it from
the dropdown. Choosing a different property replaces it permanently.
Revenue & Renewal Fields
Revenue & Renewal Fields
Map your HubSpot fields to Statisfy’s standard fields:
- ARR Field: The HubSpot property containing the account’s revenue. It holds whichever metric you choose in the account revenue metric setting: ARR (the default) or MRR. Statisfy stores the value as-is, without converting between the two. With MRR selected, the field is labeled MRR Property.
- Renewal Date Field: The HubSpot property containing the next renewal date
Contact Properties
Contact Properties
Choose extra HubSpot contact properties to sync to people. Each property you add syncs to people as a custom field.
- In the HubSpot configuration, open Contact Properties.
- Under HubSpot Contact Properties, search for a property and select it. Repeat for each property you want.
- Save the configuration.
- The picker lists only properties that Statisfy can sync as plain custom fields. Owner lookups are not listed.
- Statisfy does not create properties in HubSpot. You can only pick properties that already exist.
- If you add no properties, no contact custom fields sync.
Filtering on enum (dropdown) fields
The same rule applies topropertyName: it must be the property’s internal name (e.g., deal_lifecycle_stage), not its display name (e.g., “Contract Status”).
Common gotcha: Legacy properties that were converted from boolean to enum often retain option values like "true" / "false" even when their labels read as something readable like “Active Contract” / “Inactive Contract”.
How to find the internal value:
- In HubSpot, go to Settings → Properties → [object] properties, click into the property, and inspect each option — the internal value is shown alongside the label (sometimes only visible when editing the option).
- Or call the HubSpot API:
GET /crm/v3/properties/{object}/{propertyName}returns each option’svalueandlabel.
"true" value above looks unusual because the property was originally a boolean before being converted to an enum — a common HubSpot pattern.
Custom Fields
Custom fields from HubSpot are automatically synced to Statisfy:- Text fields → Text custom fields
- Number fields → Numeric or currency fields (based on configuration)
- Date fields → Date custom fields
- Dropdown/Select fields → Text or multi-select fields
- Owner lookup fields → User lookup fields
Sync Behavior
Initial sync may take some time depending on the volume of data in your HubSpot account.
- Incremental sync: After initial sync, only changed records are updated
- Bi-directional sync: Edits in Statisfy can go back to HubSpot. See Sync changes back to HubSpot
- Churn detection: Unless you add a Churned filter, customers that no longer match your filters are automatically marked as churned. With a Churned filter, only companies it matches are churned, and customers that match no filter are marked deleted instead.
- Soft deletion: Non-customer accounts (prospects, partners) are marked deleted when they no longer match your filters
Sync changes back to HubSpot
Statisfy can send your edits back to HubSpot. This is off until you turn it on. Turn it on:- Go to Settings → Object Manager.
- Open the CRM Fields section for the object you want, for example Opportunity or People.
- Turn on the Enable upstream sync checkbox in the header of that section.
Call.
The Opportunity setting also lets you edit CRM opportunities in Statisfy. When it is off, those fields are read-only.
Contacts:
- A person with no email is not created in HubSpot. HubSpot uses the email to find duplicates.
- Before Statisfy creates a contact, it looks for a HubSpot contact with the same email. If it finds one, it links that contact. It does not make a copy.
- When Statisfy links a contact, the names and job title in HubSpot stay as they are. Statisfy writes only custom fields.
- Statisfy does not create a contact for a person with no customer, a person whose customer has no HubSpot company, or a person whose email is on your company’s own or alias domain. Linked contacts still update. See When Statisfy does not create a contact.
- A new contact is linked to the HubSpot company of its account.
- Statisfy updates a linked contact by its HubSpot ID.
- Statisfy never sends an email that you edit in Statisfy to HubSpot. An email edit does not create a new contact.
- HubSpot has no middle name property, so Statisfy does not send middle names.
- Statisfy does not delete records in HubSpot. If you delete a record in Statisfy, it stays in HubSpot.
- Statisfy does not create properties in HubSpot. A custom field goes back only when it maps to a HubSpot property that already exists.
- Statisfy does not write to read-only HubSpot properties.
Troubleshooting
Companies not syncing
Companies not syncing
Check your filters:
- Ensure companies match at least one configured filter
- Verify the filter field values are correct in HubSpot
- Ensure the connected HubSpot user has access to view companies
Missing contacts
Missing contacts
Contacts are synced via their association to companies. Ensure contacts are properly associated with companies in HubSpot.
Owner fields showing as empty
Owner fields showing as empty
- Verify the owner property is populated in HubSpot
- Check that the HubSpot user exists and has an email address
- Check the Owner Mapping section under Integrations → HubSpot → Settings — the property mapped to each owner type must be the one your HubSpot records actually use
- If the property name shown there is greyed-in text you can no longer find in the dropdown, it is a text or rollup property rather than an owner lookup. See Owner Mappings above
An owner property is missing from the dropdown
An owner property is missing from the dropdown
The Owner Mapping dropdown lists only owner (user lookup) properties on the company
object. A property is missing if it is a text, dropdown, or rollup property — even when
its name says “owner” — or if it is hidden in HubSpot.To make it selectable, create an owner-type property in HubSpot (Settings → Properties
→ Create property → Field type: HubSpot user), populate it, and it will appear in the
dropdown on the next time you open the picker.