How to Connect n8n to HubSpot: The Complete Integration Guide (2025)
HubSpot is where your contacts, deals, and revenue live. n8n is the engine that can move data in and out of it automatically — no per-task Zapier bill, no code. This guide walks you through connecting the two, from authentication to your first working automation.
Why connect n8n to HubSpot?
HubSpot's native workflows are powerful but locked behind higher tiers, and they can't reach every tool you use. With n8n you self-host the logic: enrich new contacts, sync deals to Slack, push form submissions into the CRM, and trigger multi-step sequences — all on infrastructure you control.
Step 1 — Get your HubSpot credentials
n8n supports two auth methods for HubSpot. For most private automations, create a Private App in HubSpot (Settings → Integrations → Private Apps), grant the scopes you need (crm.objects.contacts, crm.objects.deals, etc.), and copy the access token. For OAuth-based, multi-account setups, use the OAuth2 credential instead.
Step 2 — Add the credential in n8n
In n8n, open Credentials → New → HubSpot App Token, paste your Private App token, and save. n8n validates the connection immediately so you know the scopes are correct before you build anything.
Step 3 — Choose a trigger
The HubSpot Trigger node fires on events like contact.creation or deal.propertyChange via webhooks. For polling scenarios (or tools without webhooks), pair a Schedule Trigger with a HubSpot Search action to pull records updated since the last run.
Want a done-for-you HubSpot workflow?
This template auto-enriches every new HubSpot contact with Hunter.io data and pings your team in Slack — import it and connect your token.
Step 4 — Five automations worth building first
- Auto-enrich new contacts — on contact creation, call an enrichment API and write the company, role, and LinkedIn back to the record.
- New deal → Slack alert — notify the sales channel the second a deal is created, with owner and value.
- Lead score 80+ → task + email — when a contact crosses a score threshold, create a deal and assign a follow-up.
- Form to HubSpot — capture any website or Typeform submission and create/update the contact instantly.
- Deal won → onboarding — trigger a welcome sequence and internal handoff the moment a deal moves to Closed Won.
Common pitfalls
Rate limits bite hard on bulk syncs — batch your requests and add a Wait node. Property internal names differ from labels, so pull the schema once and reference internal names. And always handle the "contact already exists" case with an upsert pattern rather than blind create.
Conclusion
Once the credential is in place, HubSpot becomes just another node — and every manual copy-paste between your CRM and the rest of your stack disappears. Start with one automation, prove the time saved, then expand.
Ready to automate this in minutes?
Skip the build. Import a battle-tested n8n workflow, connect your credentials, and go live today.