Send contract renewal reminders from HubSpot via Gmail and Slack alerts
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.
What this workflow does
This workflow has 13 nodes and runs on a schedule (every day). Along the way it connects Gmail, HubSpot, Slack and ClickUp.
How it runs
Trigger: On a schedule (every day).
- Get all deals (HubSpot): get many (deal)
- Filter Deals (Code): runs custom JavaScript code
- Loop Over Deals (Loop Over Items (Split in Batches)): loops over the items in batches
- Fetch Associated Contact With Deal (HTTP Request): calls an HTTP API
- Get Contact Details (HubSpot): get
- Switch: routes items into 3 branches
- 30 day mail (Gmail): uses Gmail
- 60 day mail (Gmail): uses Gmail
- 90 day mail (Gmail): uses Gmail
- Merge: merges the data from its input branches
…plus 2 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Switch
n8n-nodes-base.switch - Merge
n8n-nodes-base.merge - Gmail
n8n-nodes-base.gmail - HubSpot
n8n-nodes-base.hubspot - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - HTTP Request
n8n-nodes-base.httpRequest - Slack
n8n-nodes-base.slack - ClickUp
n8n-nodes-base.clickUp
From the author
How it works This workflow runs on a schedule to monitor HubSpot deals with upcoming contract expiry dates. It filters deals that are 30, 60, or 90 days away from expiration and processes each one individually. Based on the remaining days, it sends…