Microsoft Dynamics NAV and HubSpot integration
Microsoft Dynamics NAV holds your ERP truth: customers, vendors, orders, invoices, and the complete financial ledger. HubSpot holds your sales pipeline, customer interactions, and deal history. Connecting the two keeps your sales team and your finance team working from the same customer and order data, so quotes and deals logged in HubSpot flow into NAV as official sales orders, and NAV invoices sync back into HubSpot to close deals with the actual transaction record. ml-connector handles the different authentication schemes and the complexity of NAV's webhook lifecycle.
What moves between them
The main flow is bidirectional. Customers and vendors from NAV sync into HubSpot as contacts and companies. NAV sales orders and purchase orders flow into HubSpot as deals and line items so sales has visibility to active and historical orders. When a HubSpot deal is won and linked to an NAV sales order, ml-connector copies the deal outcome back into NAV to update order status and trigger any downstream invoice or fulfillment processes. Invoices created in NAV after an order ships are pushed into HubSpot and attached to the corresponding deal so the sales representative and the customer both see the final transaction.
How ml-connector handles it
ml-connector stores both credential sets encrypted: the NAV OAuth 2.0 client credentials and tenant/company IDs for Business Central online, or the on-premises server URL and access key; and the HubSpot Private App token and portal ID. It polls or subscribes to NAV's webhook endpoints, and because NAV webhooks expire every 3 days, ml-connector automatically renews subscriptions before expiry so data sync never stalls. It validates incoming webhook notifications via the clientState field. On the HubSpot side, it uses the Private App token as a Bearer header on every REST call. Customer records from NAV map to HubSpot contacts and companies; NAV dimensions and customer hierarchies map to HubSpot company properties for organizational alignment. Sales orders in NAV become deals in HubSpot with line items created from the order lines; purchase orders map similarly for vendor-facing workflows. HubSpot rate limits return HTTP 429 per API tier, so ml-connector backs off and retries. Every record carries a full audit trail and can be replayed if a downstream sync fails.
A real-world example
A regional wholesale distributor runs Microsoft Dynamics NAV on-premises to manage inventory, purchasing, and receivables across multiple locations. The sales team uses HubSpot to track leads, quotes, and customer deals. Before the integration, the sales team logged deals in HubSpot but had no way to see actual orders or invoices from NAV without logging into a separate system, so forecasts were disconnected from reality and customers often asked about order status across two different conversations. With NAV and HubSpot connected, every sales order logged in NAV appears as a deal in HubSpot, tied to the customer contact and showing live order quantity and dates. When an order ships and an invoice is generated in NAV, it syncs directly into HubSpot and closes the deal with the factual transaction, so the sales team and the accounting team always agree on what shipped and when.
What you can do
- Sync NAV customers and vendors into HubSpot as contacts and companies, keeping organizational hierarchies and contact details aligned.
- Map NAV sales orders and purchase orders to HubSpot deals and line items for full order visibility in the sales pipeline.
- Push invoices from NAV into HubSpot when orders ship, attaching them to the corresponding deal to close the record with the actual transaction.
- Automatically renew NAV webhook subscriptions before their 3-day expiry and handle HubSpot rate limits with exponential backoff and retry.
- Store NAV OAuth credentials or on-premises access keys encrypted, and authenticate HubSpot via Private App Bearer token with full audit trail on every sync.
Questions
- Which direction does data move between NAV and HubSpot?
- Data flows both ways. Customers, vendors, and orders from NAV sync into HubSpot as contacts, companies, and deals. HubSpot deal outcomes and customer updates sync back into NAV to keep order status and contact records current. Invoices flow from NAV into HubSpot to close deals with the actual transaction.
- How does ml-connector handle NAV's 3-day webhook expiry?
- ml-connector tracks the NAV webhook subscription lifetime and automatically renews subscriptions before they expire, so you never lose data sync to an expired subscription. If webhook delivery is unavailable, ml-connector can fall back to polling the OData REST endpoints instead.
- Do we need separate apps or tokens for HubSpot and NAV?
- Yes. NAV requires OAuth 2.0 credentials (tenant ID, company ID, client ID/secret) for Business Central online or server URL and access key for on-premises. HubSpot requires a Private App Bearer token (format pat-) and your portal ID. ml-connector stores both encrypted and rotates tokens when authentication fails.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to HubSpot
Connect Microsoft Dynamics NAV and HubSpot
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started