Skip to main content
The HubSpot integration keeps your Softbooq CRM customer list and HubSpot contacts list in sync. Contacts created in either system flow to the other, and updates are reconciled on a nightly cron plus an on-create push for low-latency sync of new records.

What syncs

EntityDirectionTrigger
ContactsBidirectionalOn-create push + nightly reconcile cron
CompaniesInbound (planned)Currently mapped from contact company field
DealsNot syncedHubSpot deals stay separate from Softbooq sales orders
HubSpot deals and Softbooq sales orders are kept separate by design. Marketing-qualified leads belong in HubSpot until they convert; once they convert to a paying customer, the contact sync brings them across.

Connect HubSpot

1

Open Settings → Integrations → HubSpot → Connect

2

Sign in via HubSpot OAuth

You are redirected to HubSpot’s OAuth screen. Sign in with an account that has access to the HubSpot portal you want to connect.
3

Approve scopes

Approve the read/write contacts scope. Softbooq does not request access to deals, tickets or marketing campaigns.
4

Choose the contact lifecycle stage filter

Pick which HubSpot lifecycle stages should sync into Softbooq. Default: Customer and Subscriber. Leads and Marketing-Qualified-Leads are excluded by default to keep your CRM clean of unqualified records.
5

Run the initial reconcile

The first reconcile pulls every matching contact into Softbooq and pushes any Softbooq customer that is missing from HubSpot. This may take a few minutes for large lists.

Conflict resolution

When the same email address exists in both HubSpot and Softbooq with different field values, the integration applies a “most-recently-updated wins” rule per field. The HubSpot lastmodifieddate and the Softbooq updated_at timestamp are compared at the field level. This avoids whole-record overwrites and preserves edits made in either system. If a record is created with the same email in both systems within a few seconds of each other, the deduplication step picks the older record as canonical and merges into it.

Lifecycle stage and segmentation

The HubSpot lifecycle stage flows into Softbooq as a CRM tag, so you can filter your customer list by stage (Customer, Evangelist, Other). Custom HubSpot properties are not synced by default; contact support if you need a specific custom property mapped.

Disconnect

1

Open Settings → Integrations → HubSpot → Disconnect

2

Confirm

The OAuth token is revoked. The nightly cron stops running and on-create pushes are halted.
3

Imported contacts are retained

Softbooq does not delete contacts on disconnect. They remain in your CRM as static records.

Troubleshooting

The HubSpot lifecycle stage filter may be excluding it. Check Settings → Integrations → HubSpot → Lifecycle Stages and confirm the stage is included. Then run Reconcile now to fetch immediately.
Check the integration sync log for the most recent push attempt. Common causes: the OAuth token was revoked in HubSpot, the contact’s email is invalid, or HubSpot rate limits were hit (uncommon, the integration backs off automatically).
This indicates a Softbooq dedupe failure during the initial import. Open both records, identify the canonical one, and use the Merge action on the duplicate. Future imports will not create new duplicates because the email index now has a single match.
The filter applies on import only. Records already in Softbooq stay there even if their HubSpot stage no longer matches the filter. To remove them, archive them in Softbooq’s CRM.

See also

CRM

Where synced HubSpot contacts live in Softbooq.

Xero

For pushing converted contacts to your accounting ledger as Xero contacts.

Email Providers

Connect your sending email separately. HubSpot does not send emails on Softbooq’s behalf.