Order placement and live inventory inside HubSpot

An equipment distributor’s sales team places orders and sees live ERP inventory from the HubSpot deal record.

Industry: Equipment distribution

~1.3 sto return a full inventory payload, measured live
100webhook events per request, handled

The situation

An equipment distributor running Epicor Eclipse wanted its sales team placing orders and seeing live inventory from inside HubSpot. The portal didn’t include the tier needed for HubSpot’s serverless functions, so the standard approach wasn’t available.

What I built

  • A HubSpot Design Manager module as the front end, deployed live to the portal.
  • A Node service on the client’s own server, run as a systemd service bound to localhost and reverse proxied behind their existing TLS site, with secrets in a root-only environment file.
  • Authentication, request validation and CORS, plus a deal stage gate that blocks ordering against closed or lost deals.
  • An n8n workflow on HubSpot’s deal-creation webhook that writes the order page link onto every new deal, including handling for HubSpot sending up to 100 events in one webhook request.
  • A public landing page for the tool, with origin allowlisting.

Verified

The read path was confirmed live over public HTTPS, returning a full inventory payload for an open deal in roughly 1.3 seconds, with the stage gate correctly blocking delivered and lost deals. The write path was deliberately left untested against customer data, so no live orders were changed in testing.

Stack

HubSpot CMS modulesHubSpot CRM APINode.jsnginxsystemdn8nWebhooksDebian

Related service: HubSpot Integrations.

Have a system that needs to talk to HubSpot?

Book a free 30-minute call. Bring the messy version and I’ll help you work out what to fix first.

Book a call