n8n HubSpot Workflows Pack

Clean leads in, stale deals flagged, pipeline reported: four HubSpot automations for n8n, tested before you import them.

n8n HubSpot Workflows Pack product illustration

What it is

Four importable n8n workflows for HubSpot, built on HubSpot's CRM v3 APIs, with tested Code nodes and a linter:

FileTriggerWhat it does
01-web-lead-capture.jsonWebhook (your form posts here)Cleans the lead (email, name casing, phone), drops spam (honeypot, disposable domains, links in names, bad emails), routes an owner by country, upserts the contact by email, posts new vs returning lead to Slack
02-stale-deals-report.jsonMondays 09:00Open deals with no activity for 14 days, a past close date, or no amount / close date / owner, biggest first, with owner names
03-weekly-pipeline-summary.jsonFridays 16:00Open deals and amount by stage, weighted forecast from your stage probabilities, deals won and lost in the last 7 days, win rate
04-new-contacts-digest.jsondaily 08:00Yesterday's new contacts with counts by original traffic source and lifecycle stage

Built for n8n 2.x (node versions match n8n 2.46.7). Every workflow passes n8nlint --strict (checked against the real n8n node definitions) and loads in n8n's own workflow model without parameter issues.

Why HTTP Request nodes instead of n8n's HubSpot node: n8n's built-in HubSpot node (v2.2) still calls HubSpot's older v1 contacts and deals endpoints for upserts and deal lists. These workflows call the current CRM v3 endpoints (search, batch upsert, pipelines, owners) with n8n's own HubSpot App Token credential (works with HubSpot Service Keys and existing private-app tokens).

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 13 tests OK on Python 3.13 and 3.10.

Real terminal output from n8n HubSpot Workflows Pack: demo and passing tests

Import

1. In n8n: Import from File, pick a file from workflows/, then follow the yellow Setup note. 2. HubSpot: create a Service Key (Settings > Integrations > Service Keys) with scopes crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.deals.read, crm.objects.owners.read. HubSpot stopped new legacy private-app creation on October 26, 2026; a token from an existing private app works the same way. In n8n create a HubSpot App Token credential, paste the key (n8n sends it as a Bearer token) and select it on every HubSpot node. 3. Slack: n8n's normal Slack credential; pick channels. 4. Lead capture: point your form (Webflow, WordPress, Framer, a custom form) at the Webhook production URL with POST fields email, name or firstname/lastname, company, phone, country, message, utm_source/utm_medium/utm_campaign, plus a hidden empty website_url honeypot. 5. Click Execute workflow to test, then activate.

Settings

Code nodeSettings
Clean and route leadOWNER_BY_COUNTRY, DEFAULT_OWNER, BLOCKED_DOMAINS, HONEYPOT_FIELD
Find stale dealsSTALE_DAYS (14), MAX_LINES, PORTAL_ID (adds deal links)
Summarize pipelineuses your pipelines' stage order and probabilities from HubSpot
Build digestMAX_LINES, source labels

Tests

./run_tests.sh   # 13 tests: lint, import hygiene, Code nodes == code/*.js, v3 endpoints + pagination, and the Code logic on sample HubSpot API responses (needs Node.js; skipped without it)
./demo.sh        # lint + what each Code node produces from the fixtures

Use with Claude Code

This folder is a Claude Code plugin with the n8n-hubspot-workflows skill: ask Claude to add a routing rule, change the stale rules or add a property, and it edits, lints and re-tests.

Honest limits

  • Starting points you configure in your own n8n and HubSpot; we can't see or support your portal.
  • HubSpot search returns at most 10,000 results per query; the workflows stop after 50 pages (10,000 deals or contacts).
  • "No activity" uses HubSpot's Last Activity Date (notes_last_updated), falling back to the create date.
  • Spam rules are simple heuristics; check the false branch of "Valid lead?" now and then (connect it to a Sheet to log drops).
  • The lead upsert only sends HubSpot default properties. To store UTM fields or the form message, create custom properties in HubSpot first and add them in clean-lead.js.

Not affiliated with n8n GmbH or HubSpot. Trademarks belong to their owners.

Format and license

Zip, 196 KB, v1.0, 29 files. You may use and modify this kit for your own work and for clients you serve, including paid client work. Not affiliated with or endorsed by n8n or HubSpot.

FAQ

Which HubSpot plan?
Any account that can create a Service Key (or already has a private app token), including the free CRM.
Does it work on n8n Cloud?
Yes, n8n 2.x cloud or self-hosted.
Can I change the stale rules?
Yes, STALE_DAYS and the checks are at the top of the Code node.
How do I get the files?
Right after payment, Stripe’s confirmation page shows your download link.
Refunds?
Email hello@youraitools.co within 14 days if it doesn’t work and we can’t fix it.
Can I pay with crypto?
Yes. Pay the same price in USDC or USDT on Base, Ethereum, Arbitrum, Optimism, Polygon or Solana from the "Pay with crypto" button, with no account or KYC. We check the payment on-chain and show your download links as soon as it confirms.

Get n8n HubSpot Workflows Pack

4 importable n8n HubSpot workflows on CRM v3: lead capture with spam filter and routing, stale-deals report, weekly pipeline summary, new-contacts digest. $19.

Save with a bundle

Pairs well with

Download$19

n8n AI Agent Workflows Pack

4 importable n8n AI agent workflows: FAQ support agent, Gmail AI triage, AI lead qualification with rule-based scoring, feedback sentiment router. Tested. $19.

View n8n AI Agent Workflows Pack
Download$19

n8n Agent Workflows

6 import-ready n8n workflows: x402 monitor, change alerts, Stripe log, AI digest and more.

View n8n Agent Workflows

Related