Route low-scoring HubSpot leads with Slack, Gmail and Google Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (7)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - HubSpot
n8n-nodes-base.hubspot - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Slack
n8n-nodes-base.slack - Gmail
n8n-nodes-base.gmail
What it does
Quick overview This workflow runs hourly to find HubSpot contacts whose lead score drops below a threshold, deduplicates alerts using Google Sheets, notifies the owner via Slack, creates a HubSpot follow-up task, sends a re-engagement email with Gmail, and logs alert activity back to Google Sheets. How it works 1. Runs every hour on a schedule. 2. Pulls contacts from HubSpot and compares them against a Google Sheets “Alert Dedup Log” to skip anyone alerted within the last 24 hours while flagging contacts with a HubSpot score under 50. 3. Looks up each contact’s owner in HubSpot and builds an alert payload including urgency (CRITICAL under 20 vs WARNING under 50) and the target Slack channel. 4. Posts the alert to Slack in the appropriate channel (urgent vs standard) and sends a Slack DM to the contact owner. 5. Creates a follow-up task in HubSpot for the at-risk contact and sends the contact a re-engagement email via Gmail. 6. Logs the alert details to a Google Sheets “Lead Score Alerts” tab and updates the dedup log with the contact ID and last-alerted timestamp. Setup 1. Connect your HubSpot OAuth2, Slack OAuth2, and Gmail credentials in n8n. 2. Add a Google Sheets Service Account credential and share the target spreadsheet with the service account email. 3. Replace REPLACEWITHYOURSHEETID with your Google Sheets document ID in both Google Sheets nodes. 4. Create two sheet tabs named “Lead Score Alerts” and “Alert Dedup Log” with columns that match the fields written/read (including contactid and lastalerted for deduplication). 5. Update the Slack channel names (sales-urgent and sales-alerts) and adjust the score thresholds in the code step if your team uses different criteria.