Shop & Products·4 min read·

How do I connect HubSpot to sync members and orders as CRM records?

Install the VeloCMS HubSpot plugin — every new member becomes a Contact, every order becomes a Deal, free instead of HubSpot's own connector.

The HubSpot connector keeps your CRM current without a manual export. Every new blog member becomes a HubSpot Contact, and every completed, refunded, or fulfilled order becomes a Deal — automatically, the moment it happens.

Installing the plugin and the checks for a connector that stays quiet are the same for every integration and are covered once in the shared integrations guide. This article only covers what is specific to HubSpot.

Step 1 — Connect your HubSpot account

Open Admin → Plugins → HubSpot and click Connect HubSpot. You're redirected to HubSpot to sign in and authorize VeloCMS — there is no API key to copy or paste, the whole flow is OAuth. Once you approve access, you're redirected back and the panel shows Connected.

VeloCMS asks HubSpot for read and write access to CRM contacts and to CRM deals (crm.objects.contacts.read and .write, crm.objects.deals.read and .write), plus the basic oauth scope. It does not request access to companies, tickets, marketing email or anything else in your portal.

If the Connect button is missing and you instead see a setup notice, the connector hasn't been enabled on your VeloCMS instance yet. That's a platform-level configuration step, not something a tenant admin can fix from this panel — contact support.

Step 2 — Choose the deal pipeline and stages (optional)

Once the panel shows Connected, a Deal pipeline section appears below the Connect button. Pick the pipeline and the stage new Deals should start in, then optionally pick a stage for refunded orders and one for fulfilled orders, and click Save. The lists come straight from your HubSpot account. If they can't be loaded, the fields turn into plain text boxes where you paste the IDs instead; in HubSpot, open Settings → Objects → Deals → Pipelines to find them. Leave everything empty and HubSpot puts new Deals in your account's default pipeline and stage. If no stage is chosen for refunds or fulfilment, those Deals are not moved.

What syncs, and when

  • A new member signup creates or updates a Contact in HubSpot, matched on email. The member's display name is split at the first space into first and last name.
  • A completed order creates a Deal and associates it with the buyer's Contact (the Contact is created if it doesn't exist yet).
  • A refunded order updates that Deal's stage.
  • A fulfilled order updates that Deal's stage again.
  • Deleting a member account deletes that member's Contact in HubSpot (see below).
  • Unsubscribing from your newsletter keeps the Contact and only opts it out of HubSpot marketing email.

How a Deal is named, and why it matters

Each Deal is named Order # followed by the VeloCMS order ID, and its amount is the order total. For a refund or a fulfilment, VeloCMS finds the Deal again by searching HubSpot for that exact name. If you rename a Deal in HubSpot, the later stage update can't find it, nothing moves, and the order is marked as a failed sync under Admin → Integrations → Sync activity.

As an example, if a member buys a 49 dollar course, HubSpot gets a Deal called Order # plus the order ID worth 49, attached to that member's Contact and placed in the stage you chose for new Deals. If you later refund the order and chose a refund stage, the same Deal moves there; with no refund stage chosen, it stays where it is.

Sync is one-way: VeloCMS pushes to HubSpot. Editing a Contact or Deal inside HubSpot doesn't write anything back to VeloCMS — HubSpot is not the system of record for your members or orders, VeloCMS is.

Disconnecting

Click Disconnect in the same panel. VeloCMS deletes its stored tokens and uninstalls the VeloCMS app from your HubSpot account, so it also leaves your Connected apps list there. No further Contacts or Deals are created after disconnecting, and the records already in HubSpot are left as they are.

What VeloCMS deletes in HubSpot

VeloCMS deletes exactly one thing in your HubSpot account: when a member's account is deleted in VeloCMS (including when the member asks for it) and HubSpot is connected, VeloCMS looks up that member's Contact by email and deletes it, so the erasure request is honoured in your CRM too. HubSpot archives a deleted Contact and can restore it for 90 days; VeloCMS does not delete any Deals. Nothing else is ever deleted: unsubscribing from your newsletter keeps the Contact and only turns off HubSpot marketing email for it, and disconnecting never removes any record. If HubSpot is not connected when a member is deleted, nothing is sent to HubSpot.