Intermediate~20 min setupCRM & CommunicationVerified April 2026
HubSpot logo
Slack logo

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

polling

Use case type

notification

Real-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.

/mo
505005K50K

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

Skip the setup

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.

HubSpot account with lead scoring enabled and contacts that have scores assigned
HubSpot private app with contacts read permissions and API token generated
Slack workspace where you have permission to create bots and add them to channels
Slack bot token with chat:write scope and bot added to your target notification channel
N8n instance running (cloud or self-hosted) with HubSpot and Slack nodes available

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
HubSpot Lead Scorehubspotscore
Contact Emailemail
First Namefirstname
Last Namelastname
2 optional fields▸ show
Company Namecompany
Contact Ownerhubspot_owner_id

Step-by-Step Setup

1

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.

  1. 1Click the '+' button on your N8n dashboard
  2. 2Select 'Create new workflow' from the dropdown
  3. 3Name it 'HubSpot Lead Score Alerts'
What you should see: You should see a blank canvas with the workflow editor open and your workflow name at the top.
2

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.

  1. 1Click the '+' icon on the canvas to add a node
  2. 2Search for 'HubSpot' and select it
  3. 3Choose 'Contact' as the resource
  4. 4Select 'Get All' as the operation
What you should see: A HubSpot node appears on your canvas with Contact > Get All selected in the configuration panel.
Common mistake — Don't use the 'Trigger' option here — HubSpot webhooks don't fire on lead score changes, only on contact property updates.
n8n
+
click +
search apps
HubSpot
HU
HubSpot
Add HubSpot trigger node
HubSpot
HU
module added
3

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.

  1. 1Click 'Create New' next to Credentials in the HubSpot node
  2. 2Select 'HubSpot Private App API' as the credential type
  3. 3Paste your HubSpot private app token
  4. 4Click 'Save' and test the connection
What you should see: Green checkmark appears next to credentials with 'Connection successful' message.
Common mistake — Your private app needs 'contacts' read permission enabled in HubSpot or the connection will fail silently.
4

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.

  1. 1Scroll down to 'Additional Options' in the HubSpot node
  2. 2Toggle on 'Properties to retrieve'
  3. 3Add 'hubspotscore', 'email', 'firstname', 'lastname'
  4. 4Toggle on 'Filter Query' and enter 'hubspotscore__gt__80'
What you should see: The node configuration shows your selected properties and the filter query for scores above 80.
Common mistake — Use double underscores in the filter query — single underscores won't work with HubSpot's API.
HubSpot
HU
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Slack
SL
notified
5

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.

  1. 1Click the '+' before your HubSpot node
  2. 2Search for 'Schedule' and select 'Schedule Trigger'
  3. 3Set trigger interval to 'Every 5 minutes'
  4. 4Connect the Schedule node to your HubSpot node
What you should see: Your workflow shows Schedule Trigger connected to HubSpot node with '0 */5 * * * *' in the cron field.
Common mistake — Don't poll more than every 5 minutes — HubSpot rate limits at 100 requests per 10 seconds for most accounts.
6

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.

  1. 1Add an IF node after the HubSpot node
  2. 2Set condition to 'Number' > 'Larger' > '80'
  3. 3Click in the first value field and select 'hubspotscore' from the HubSpot data
  4. 4Leave the false branch empty for now
What you should see: IF node shows your score condition with the true path highlighted and ready for the next node.
Common mistake — Make sure you're comparing numbers, not strings — select the actual hubspotscore field value, don't type it as text.
7

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.

  1. 1Click '+' on the true output of the IF node
  2. 2Search for 'Slack' and select it
  3. 3Choose 'Message' as the resource
  4. 4Select 'Post' as the operation
What you should see: Slack node appears connected to the IF node's true branch with Message > Post configuration open.
8

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.

  1. 1Click 'Create New' next to Credentials in the Slack node
  2. 2Select 'Slack OAuth2 API' as the credential type
  3. 3Paste your Slack bot token starting with 'xoxb-'
  4. 4Test the connection and save
What you should see: Slack credentials show green checkmark with successful connection message.
Common mistake — Your Slack bot needs 'chat:write' scope and must be added to the target channel or messages won't post.
9

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.

  1. 1Select your target channel from the Channel dropdown
  2. 2In the Text field, click the expressions icon
  3. 3Enter: '🔥 Hot lead alert! {{$node["HubSpot"].json["firstname"]}} {{$node["HubSpot"].json["lastname"]}} scored {{$node["HubSpot"].json["hubspotscore"]}} points'
  4. 4Add the email below: 'Contact: {{$node["HubSpot"].json["email"]}}'
What you should see: Slack node shows your selected channel and the formatted message with HubSpot field references.
Common mistake — Test the expression syntax first — typos in field names will send blank values instead of contact data.
10

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.

  1. 1Right-click on the HubSpot node and select 'Add Error Handler'
  2. 2Choose 'Stop and Error' from the node menu
  3. 3Connect it to a Set node
  4. 4Configure the Set node to log error details
What you should see: Red error path connects from HubSpot to your error handling nodes with proper configuration.
Common mistake — Don't skip error handling — API timeouts will crash your workflow and you'll miss alerts until you manually restart.
11

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.

  1. 1Click 'Execute Workflow' at the bottom of the screen
  2. 2Check that the HubSpot node returns contacts with scores above 80
  3. 3Verify the IF node takes the true path
  4. 4Confirm the Slack message appears in your channel with proper formatting
What you should see: Green checkmarks on all nodes and a formatted alert message in your Slack channel.
Common mistake — If no contacts appear, temporarily lower your score threshold to 0 to verify the HubSpot connection is working.
n8n
▶ Run once
executed
HubSpot
Slack
Slack
🔔 notification
received
12

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.

  1. 1Click the toggle switch at the top right of the workflow
  2. 2Confirm activation in the popup dialog
  3. 3Check that status shows 'Active' with a green dot
What you should see: Workflow shows 'Active' status with green indicator and next execution time displayed.
Common mistake — Monitor your first few executions closely — polling workflows can burn through API limits faster than expected.

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.

1

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.

2

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.

3

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

VerdictWhy n8n for this workflow

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.

Cost

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.

Tradeoffs

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 alertsInclude the original lead source and campaign data in your Slack notifications to help sales reps understand context before calling.
  • Create follow-up task automationExtend the workflow to automatically create HubSpot tasks assigned to contact owners when leads hit ultra-high scores above 95 points.
  • Build lead scoring trend reportsAdd a Google Sheets node to log all high-scoring contacts with timestamps, creating a database for lead scoring performance analysis.

Related guides

Was this guide helpful?
HubSpot + Slack overviewn8n profile →