How to Automate HubSpot with n8n (Contacts, Deals, and Email Sequences)
Learn how to automate HubSpot CRM with n8n. Sync contacts, update deals, trigger email sequences, and build powerful no-code HubSpot automation workflows.
HubSpot Automation That Goes Beyond the Built-In Workflow Builder
HubSpot's native workflow builder handles simple branching inside HubSpot well. The moment you need to sync a closed deal to your accounting system, post a Slack message with deal context, or update a Notion board when a contact changes lifecycle stage, you hit a hard wall.
n8n removes that wall. It connects to HubSpot's API directly, reacts to contact, deal, and ticket events in real time, and routes data to any tool you already use, without Zapier.s per-task pricing.
This guide covers five high-value HubSpot automation patterns with exact node configurations you can deploy today.
What You Can Automate With n8n and HubSpot
Every recurring HubSpot task is a candidate for automation:
- Sync new contacts to Slack, a Google Sheet, or your data warehouse
- Score inbound leads and route hot prospects to the right sales rep
- Update deal stages based on external triggers like payments received or trials activated
- Trigger multi-step email sequences from lifecycle stage changes
- Create follow-up tasks when deals go stale for more than a set number of days
- Enrich contacts automatically with Clearbit, Hunter, or a custom API
- Send win/loss summaries to Slack and update reporting dashboards
The HubSpot Automation Pipeline
Every effective HubSpot workflow follows the same four-stage structure:
HubSpot Trigger
→ Enrich / Score (Code node, HTTP Request, or AI node)
→ Route (IF node or Switch node)
→ Act (Slack, Email, CRM update, Database)
The trigger is a HubSpot webhook: contact created, deal stage changed, ticket submitted. The middle two stages handle logic. The final stage is where work happens in external systems.
HubSpot Trigger nodes register a webhook on your portal automatically. When the event fires, n8n receives it in under a second. Polling every few minutes is slower, burns API quota, and misses burst activity. Always use event triggers for HubSpot work.
Step-by-Step: Build a HubSpot Contact Sync Workflow
1. Collect: Set the HubSpot Trigger
Add a HubSpot Trigger node. Select the event: contact.creation for new contacts, or contact.propertyChange for property updates. Authenticate with a HubSpot private app token (Settings → Integrations → Private Apps).
The trigger payload includes objectId (the HubSpot contact ID) plus changed properties.
2. Process: Fetch the Full Contact Record
Trigger payloads are minimal. Use a HubSpot node in Get Contact mode to pull the full record using the objectId. Request only the properties you need (email, firstname, lastname, lifecyclestage, hs_lead_status) to keep payloads lean.
HubSpot Trigger (contact.creation)
→ HubSpot: Get Contact (by objectId)
→ Code node: build normalized output object
3. Route: Qualify the Lead
Add an IF node. Check lifecyclestage === "lead" and hs_lead_status !== "unqualified". Contacts that pass route to the hot-lead branch; others route to nurture.
For granular scoring, drop in a Code node that computes a score from company size, industry, and page views, then branch on the score threshold.
4. Act: Update External Systems
On the hot-lead branch:
- Slack node → post to
#saleswith name, company, and HubSpot contact URL - HubSpot node → update
hs_lead_statusto"in_progress" - HTTP Request node → create a task in your project management tool
On the nurture branch:
- HubSpot node → enroll in a marketing sequence
- Google Sheets node → append a row to your tracking spreadsheet
5. Follow Up: Flag Stale Deals Daily
Add a separate Schedule Trigger workflow that runs every morning. Pull all deals where dealstage = "appointmentscheduled" and hs_lastmodifieddate is older than three days. For each stale deal, create an owner task and post a Slack reminder.
Before the IF node, add an HTTP Request node calling the Clearbit Enrichment API with the contact email. Merge company size, industry, and tech stack into the HubSpot contact record. Your lead score will be significantly more accurate with enriched data than with HubSpot properties alone.
Implementation Patterns
Pattern 1: Deal Stage → External System Sync
When a deal moves to closedwon, sync revenue data to your accounting tool and announce it in Slack.
HubSpot Trigger (deal.propertyChange: dealstage)
→ IF: new value === "closedwon"
→ HTTP Request: POST to QuickBooks or Xero API
→ Slack: post to #wins channel
→ HubSpot: Set closedate to today
Use a Switch node instead of IF when you need to handle multiple target stages (closedwon, closedlost, contractsent) with different downstream actions for each.
Pattern 2: Lifecycle Stage → Email Sequence
When a contact becomes a Marketing Qualified Lead, enroll them in a targeted sequence automatically.
HubSpot Trigger (contact.propertyChange: lifecyclestage)
→ IF: new value === "marketingqualifiedlead"
→ HubSpot: Enroll in Sequence (sequenceId from config)
→ Slack: notify the assigned rep
Pair this with the email follow-up automator template for a complete nurture pipeline.
Pattern 3: Churn Risk → Win-Back Campaign
Find contacts whose hs_last_sales_activity_date has not changed in 60 days and whose associated deal value exceeds a threshold, then route them into a win-back sequence.
Schedule Trigger (daily at 08:00)
→ HubSpot: Search Contacts (days_since_last_activity > 60)
→ Code: filter for deal value > 1000
→ HubSpot: Enroll in win-back sequence
→ Slack: alert the CS team
This pattern maps directly to the churn monitor and win-back template, which has the filters and routing logic pre-built.
The HubSpot Search Contacts node accepts filter groups identical to HubSpot's built-in contact filters. You can replicate any saved list entirely inside n8n. No CSV exports, no manual refreshes. Combine multiple criteria using AND and OR groups directly in the node parameters.
n8n Nodes You'll Use Most
| Node | Purpose |
|---|---|
| HubSpot Trigger | React to contact, deal, ticket, or company events in real time |
| HubSpot | CRUD on contacts, deals, companies, engagements, and tickets |
| IF / Switch | Route records by score, lifecycle stage, or deal value |
| Code | Score leads, transform properties, calculate date differences |
| HTTP Request | Call Clearbit, Hunter, or any custom enrichment API |
| Slack | Notify sales and CS teams on key events |
| Google Sheets | Append rows to pipeline and reporting trackers |
| Schedule Trigger | Run daily stale-deal and churn-risk checks |
Getting Started
- Install n8n: self-host on a $6/month VPS or use n8n Cloud's free tier to get started immediately.
- Create a HubSpot private app: go to Settings → Integrations → Private Apps. Grant scopes for contacts, deals, and CRM. Copy the access token.
- Add HubSpot credentials in n8n: open Credentials → New → HubSpot API and paste the token.
- Pick your first trigger: start with
contact.creationto understand the payload structure before building complex routing logic. - Always fetch the full record after a trigger: triggers return minimal data. Use the HubSpot Get node with the
objectIdto pull complete properties before any branching. - Test with a real contact: create a test contact in HubSpot, watch the n8n execution log, and verify each node output before activating the workflow.
- Browse the templates library: pre-built HubSpot patterns let you copy and adapt complete workflows in minutes instead of building from scratch.
For complementary automation patterns, read How to Automate Your CRM Workflows with n8n and How to Automate Lead Generation and Outreach with n8n. Both cover approaches that stack directly with the workflows above.
Browse all sales automation templates →Common questions
Can n8n connect to HubSpot without writing code?
How do I sync new HubSpot contacts to other tools with n8n?
What can n8n do with HubSpot that HubSpot's own workflows can't?
Get the workflow templates this guide is built on
Import-ready n8n JSON, step-by-step setup, and tested end-to-end. One-time payment, own it forever.
More automation guides

How to Build OpenAI Workflows with n8n (Classify, Summarize, and Generate at Scale)
n8n OpenAI workflows connect a self-hosted automation engine to capable text models, and the integration is more direct than most tutorials suggest. The pattern goes like this: something triggers the…

How to Automate HR Workflows with n8n (Onboarding, Compliance, and Wellness Monitoring)
HR Admin Runs on Repetition. n8n Handles Repetition. Every new hire triggers the same chain of tasks. Welcome email, Notion page, Trello cards, payroll enrollment reminder, badge request. Someone copy…

How to Automate Shopify with n8n (Orders, Customers, and Inventory)
Shopify Automation That Actually Runs Every Shopify store hits the same wall. You're manually exporting order CSVs to your fulfillment partner. Someone has to tag VIP customers by hand after their thi…