Block 1 - Needs Alert Today?
- Type / Role
- n8n-nodes-base.if - if
- Config choices
- Version 2.3
What this workflow does Runs every morning at 9am. Reads every contract from the 5 tabs in your Contracts sheet, checks how many days are left until each , and pings Slack with tiered alerts so no ...
n8n-nodes-base.if, n8n-nodes-base.switch, n8n-nodes-base.slack, n8n-nodes-base.scheduletrigger, n8n-nodes-base.googlesheets, n8n-nodes-base.merge, n8n-nodes-base.set, n8n-nodes-base.stickynote
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Felix.
Original n8n.io sourceRuns every morning at 9am. Reads every contract from the 5 tabs in your Contracts sheet, checks how many days are left until each Cancellation Deadline, and pings Slack with tiered alerts so no renewal slips through.
| Days until deadline | Tier | Message |
|---|---|---|
| β€ 7 | π΄ Urgent | Act now |
| β€ 14 | π‘ Action needed | Plan this week |
| β€ 30 | π’ Heads-up | On your radar |
| > 30 or past due | β | No alert |
Auto-renewing contracts get a stronger warning than contracts that simply expire β because that's the case where money is actually at stake.
1. Add two columns to every tab in your Contracts sheet Open your sheet and add these two columns to all 5 tabs (SaaS, Leases, Services, Insurance, Other):
Last Alert TierLast Alert DateLeave both empty for existing rows. These drive the de-duplication β without them you'll get the same ping every day for weeks.
2. Paste your Sheet ID
Replace YOUR_GOOGLE_SHEET_ID in all 5 Read nodes. It's the same Sheet you used in Part 1.
3. Set your Slack channel
Replace YOUR_SLACK_CHANNEL_ID in all 3 Slack nodes with the channel (or DM) where alerts should land. #contracts or #finance-alerts work well; DM to the contract owner is fine too.
4. Connect credentials
5. Activate and test
Before turning it on, temporarily set one row's Cancellation Deadline to ~10 days from today and clear its Last Alert Tier. Click Execute Workflow and confirm a π‘ Slack message lands. Revert the row, then activate.
No automatic writeback. Today the workflow alerts but doesn't mark the row as "alerted". To stop daily re-pings, either:
Last Alert Tier manually when the alert fires (π’ / π‘ / π΄), orContract Class, match on Start Date + Provider Name as a composite key)Works on ISO dates only. The days_left calculation assumes Cancellation Deadline is stored as YYYY-MM-DD. Part 1 produces this format correctly, so this is only a concern if you're adding rows manually.
This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.
| Workflow | Send tiered contract renewal Slack alerts from Google Sheets |
|---|---|
| Complexity | advanced |
| Nodes | 21 |
| Categories | Document Extraction |
| Author | Felix |
| Published | 22 Apr 2026 |
Use the JSON export at /data/workflows/15231/15231.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.
Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.
What this workflow does Runs every morning at 9am. Reads every contract from the 5 tabs in your Contracts sheet, checks how many days are left until each , and pings Slack with tiered alerts so no ...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction use case.