

How to Send HubSpot Lead Score Alerts to Slack with N8n
Trigger Slack notifications when a HubSpot contact's lead score crosses your threshold to catch hot leads before they go cold.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
HubSpot for Slack exists as a native integration, but it doesn't support conditional routing or custom message formatting. This guide uses an automation platform for full control. View native option →
Best for
Sales teams that want custom lead scoring logic with polling-based checks every few minutes.
Not ideal for
Teams needing instant real-time alerts or simple plug-and-play setups without custom expressions.
Sync type
pollingUse case type
notificationReal-World Example
A 25-person B2B SaaS company uses this to alert their #sales-hot-leads channel whenever a contact hits 85+ points in HubSpot. Before automation, their SDRs manually checked lead scores 2-3 times daily and hot leads sat uncontacted for 4-6 hours on average. Now they respond within 15 minutes and see 23% higher qualification rates.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| HubSpot Lead Score | hubspotscore | |
| Contact Email | email | |
| First Name | firstname | |
| Last Name | lastname | |
2 optional fields▸ show
| Company Name | company |
| Contact Owner | hubspot_owner_id |
Step-by-Step Setup
Dashboard > + > New Workflow
Create new workflow in N8n
Start a fresh workflow for your lead scoring automation. You'll build a polling trigger that checks HubSpot every few minutes for score changes.
- 1Click the '+' button on your N8n dashboard
- 2Select 'Create new workflow' from the dropdown
- 3Name it 'HubSpot Lead Score Alerts'
Canvas > + > HubSpot > Contact > Get All
Add HubSpot trigger node
Set up a polling trigger to check for contacts with high lead scores. N8n will query HubSpot's contacts API on your schedule.
- 1Click the '+' icon on the canvas to add a node
- 2Search for 'HubSpot' and select it
- 3Choose 'Contact' as the resource
- 4Select 'Get All' as the operation
HubSpot Node > Credentials > Create New
Configure HubSpot credentials
Connect N8n to your HubSpot account using a private app token. This gives read access to contact data including lead scores.
- 1Click 'Create New' next to Credentials in the HubSpot node
- 2Select 'HubSpot Private App API' as the credential type
- 3Paste your HubSpot private app token
- 4Click 'Save' and test the connection
HubSpot Node > Additional Options > Properties & Filter Query
Set lead score filter
Configure the HubSpot query to only return contacts above your score threshold. This reduces API calls and focuses on hot leads only.
- 1Scroll down to 'Additional Options' in the HubSpot node
- 2Toggle on 'Properties to retrieve'
- 3Add 'hubspotscore', 'email', 'firstname', 'lastname'
- 4Toggle on 'Filter Query' and enter 'hubspotscore__gt__80'
Canvas > + > Schedule Trigger
Add schedule trigger
Replace the manual trigger with a schedule to check for high-scoring contacts automatically. This turns your workflow into a polling system.
- 1Click the '+' before your HubSpot node
- 2Search for 'Schedule' and select 'Schedule Trigger'
- 3Set trigger interval to 'Every 5 minutes'
- 4Connect the Schedule node to your HubSpot node
Canvas > + > IF
Add IF node for score filtering
Create a conditional branch to only proceed when contacts actually cross your threshold. This prevents duplicate notifications for the same contact.
- 1Add an IF node after the HubSpot node
- 2Set condition to 'Number' > 'Larger' > '80'
- 3Click in the first value field and select 'hubspotscore' from the HubSpot data
- 4Leave the false branch empty for now
IF Node > True > + > Slack > Message > Post
Add Slack node on true branch
Configure Slack to send notifications when the score condition is met. You'll send a message with contact details to your sales channel.
- 1Click '+' on the true output of the IF node
- 2Search for 'Slack' and select it
- 3Choose 'Message' as the resource
- 4Select 'Post' as the operation
Slack Node > Credentials > Create New
Configure Slack credentials
Connect your Slack workspace using a bot token. This allows N8n to post messages to your chosen channel on behalf of your bot.
- 1Click 'Create New' next to Credentials in the Slack node
- 2Select 'Slack OAuth2 API' as the credential type
- 3Paste your Slack bot token starting with 'xoxb-'
- 4Test the connection and save
Slack Node > Channel & Text Configuration
Set Slack channel and message
Configure where to send alerts and what information to include. Format the message with contact details and lead score for your sales team.
- 1Select your target channel from the Channel dropdown
- 2In the Text field, click the expressions icon
- 3Enter: '🔥 Hot lead alert! {{$node["HubSpot"].json["firstname"]}} {{$node["HubSpot"].json["lastname"]}} scored {{$node["HubSpot"].json["hubspotscore"]}} points'
- 4Add the email below: 'Contact: {{$node["HubSpot"].json["email"]}}'
HubSpot Node > Right Click > Add Error Handler
Add error handling node
Set up error handling to catch API failures or rate limits. This prevents your workflow from breaking when HubSpot or Slack has issues.
- 1Right-click on the HubSpot node and select 'Add Error Handler'
- 2Choose 'Stop and Error' from the node menu
- 3Connect it to a Set node
- 4Configure the Set node to log error details
Bottom Panel > Execute Workflow
Test with sample data
Run a test execution to verify your workflow correctly identifies high-scoring contacts and sends formatted Slack messages.
- 1Click 'Execute Workflow' at the bottom of the screen
- 2Check that the HubSpot node returns contacts with scores above 80
- 3Verify the IF node takes the true path
- 4Confirm the Slack message appears in your channel with proper formatting
Top Right > Activation Toggle
Activate the workflow
Enable automatic execution so your lead scoring alerts run continuously. The schedule trigger will check HubSpot every 5 minutes for new hot leads.
- 1Click the toggle switch at the top right of the workflow
- 2Confirm activation in the popup dialog
- 3Check that status shows 'Active' with a green dot
Drop this into an n8n Code node.
Copy this template{{$node["HubSpot"].json["hubspotscore"] > 90 ? '🔥🔥🔥 URGENT' : '🔥 Hot'}} Lead Alert!▸ Show code
{{$node["HubSpot"].json["hubspotscore"] > 90 ? '🔥🔥🔥 URGENT' : '🔥 Hot'}} Lead Alert!
{{$node["HubSpot"].json["firstname"]}} {{$node["HubSpot"].json["lastname"]}} ({{$node["HubSpot"].json["company"] || 'No company'}})
Score: {{$node["HubSpot"].json["hubspotscore"]}}/100... expand to see full code
{{$node["HubSpot"].json["hubspotscore"] > 90 ? '🔥🔥🔥 URGENT' : '🔥 Hot'}} Lead Alert!
{{$node["HubSpot"].json["firstname"]}} {{$node["HubSpot"].json["lastname"]}} ({{$node["HubSpot"].json["company"] || 'No company'}})
Score: {{$node["HubSpot"].json["hubspotscore"]}}/100
Email: {{$node["HubSpot"].json["email"]}}Scaling Beyond 200+ leads scoring above threshold per day+ Records
If your volume exceeds 200+ leads scoring above threshold per day records, apply these adjustments.
Batch Slack messages
Modify the workflow to collect multiple high-scoring contacts and send one summary message every 15 minutes instead of individual alerts. This prevents channel flooding and reduces Slack API calls.
Add pagination handling
HubSpot limits API responses to 100 contacts per request. Add N8n's pagination node to handle larger result sets when your database grows beyond a few thousand contacts.
Implement smart caching
Use N8n's workflow data storage to track previously alerted contacts and their last notification time. This prevents duplicate alerts and lets you implement cool-down periods between notifications for the same lead.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use N8n for this if you need custom logic around lead scoring thresholds or want to avoid per-execution pricing on high-volume notifications. N8n's code nodes let you build complex scoring rules and its polling approach works well when you need precise control over timing. Skip it if you want real-time alerts — Zapier with webhooks will beat N8n's polling delay every time.
This workflow burns through about 288 executions per day (every 5 minutes). At 100 high-scoring contacts per month, that's roughly 8,640 total executions monthly. N8n's starter plan at $20/month covers 20,000 executions easily. Zapier would cost $20/month for the same volume but Make handles it free up to 1,000 operations. N8n wins on flexibility but loses on pure cost.
Make beats N8n on this use case with better HubSpot webhook support — their contact updated trigger fires immediately when lead scores change instead of polling every 5 minutes. Zapier's HubSpot integration includes more pre-built filters for lead scoring without custom expressions. But N8n's strength is handling edge cases — you can add complex deduplication logic, custom score calculations, or multi-channel routing that the others make painful.
You'll hit three gotchas after going live. HubSpot's lead scores update in batches, not real-time, so contacts might cross your threshold hours before your polling finds them. The hubspotscore field sometimes returns null for new contacts even when scoring is enabled — add a null check or your IF node will break. Finally, if you have seasonal spikes in lead volume, 50+ contacts crossing the threshold simultaneously will flood your Slack channel and trigger rate limits.
Ideas for what to build next
- →Add lead source tracking to alerts — Include the original lead source and campaign data in your Slack notifications to help sales reps understand context before calling.
- →Create follow-up task automation — Extend the workflow to automatically create HubSpot tasks assigned to contact owners when leads hit ultra-high scores above 95 points.
- →Build lead scoring trend reports — Add a Google Sheets node to log all high-scoring contacts with timestamps, creating a database for lead scoring performance analysis.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup