Automated Contract Renewal Alert System: Never Miss an Expiration Again
What This Builds
An automated system that monitors your contract tracking spreadsheet and sends email alerts at 90, 60, and 30 days before any contract expires, without you ever manually checking. If a renewal isn't addressed by 30 days out, the system automatically escalates to your manager. You stop relying on manual calendar reminders and start trusting that the system has your back.
Instead of spending 3–5 hours per week manually reviewing expiration dates and sending reminder emails, this automation runs silently in the background and surfaces only what needs your attention.
Prerequisites
- Google Sheets (or Airtable) with your contract tracking spreadsheet
- Zapier account (zapier.com; free plan supports basic automations)
- Gmail or Outlook for sending automated emails
- Your contract list with accurate expiration dates
- Cost: Zapier Starter $19.99/month (free tier available but limited to 100 tasks/month)
The Concept
Think of this like a smoke detector for your contract portfolio. Instead of you walking around checking every room for fire every day, the detector monitors constantly and only alerts you when something needs attention. The automation is the detector: it watches your spreadsheet 24/7 and surfaces problems before they become crises.
Zapier is the connector: it watches your spreadsheet for conditions you define (contract expiring in X days) and triggers actions (send an email to the contract owner, create a task, notify a manager).
Build It Step by Step
Part 1: Prepare your Google Sheet
Your contract tracking spreadsheet needs these columns for the automation to work:
| Column | What It Contains | Example |
|---|---|---|
| Contract Name | Identifier | "IT Support Services: Acme Corp" |
| Vendor | Counterparty name | "Acme Corp" |
| Contract Owner | Person responsible | "jane.smith@company.com" |
| Expiration Date | Date the contract ends | "2026-09-15" |
| Status | Current status | "Active" |
| Renewal Action Date (calculated) | Formula: =Expiration Date - 90 | Auto-calculated |
| Alert Sent 90 Days | Y/N | Leave blank; automation fills this |
| Alert Sent 60 Days | Y/N | Leave blank; automation fills this |
| Alert Sent 30 Days | Y/N | Leave blank; automation fills this |
Add the calculated column: In the "Renewal Action Date" column, use the formula:
=IF(E2<>"", E2-90, "")
(where E2 is your Expiration Date column; adjust for your actual column letter)
This calculates when the 90-day alert should fire.
Part 2: Create a Zapier account
Go to zapier.com and sign up for a free account. For more than a handful of contracts, upgrade to Starter ($19.99/month) for higher task limits.
What you should see: The Zapier dashboard with a "Create Zap" button.
Part 3: Build the 90-day alert Zap
Click Create Zap.
Trigger setup:
- Search for and select Google Sheets as your trigger app
- Choose trigger event: New or Updated Spreadsheet Row
- Connect your Google account and select your contract tracking spreadsheet
- Select the worksheet (tab) containing your contracts
Add a Filter: After the trigger, add a Filter step (click the + between trigger and action):
- Condition: Expiration Date → Is → [today's date formula] *
Note: Zapier date filtering requires specific setup. Use: "Expiration Date" → "Text Contains" → today's date, OR use Zapier's Formatter to calculate days until expiration and filter when it equals 90.
Easier approach using Zapier's Formatter:
- Add a Formatter step after the trigger
- Choose Date/Time → Calculate the difference between two times
- Input the Expiration Date from the spreadsheet; compare to "now"
- Output: number of days remaining
Then add a Filter: only continue if "Days Remaining" equals 90 (or is between 85–95 to catch weekends).
Action setup:
- Select Gmail (or Outlook) as action app
- Choose action: Send Email
- Configure:
- To: [Contract Owner field from spreadsheet]
- CC: your own email
- Subject:
Contract Renewal Notice: [Contract Name] expires in 90 days - Body:Copy and paste this
This is an automated reminder from your contract management system. CONTRACT: [Contract Name] VENDOR: [Vendor] EXPIRATION DATE: [Expiration Date] DAYS REMAINING: 90 Action Required: Please initiate the renewal review process. If this contract should not be renewed, notify the contracts team so we can begin the closeout process. This notice was sent automatically. Reply to [your email] with questions.
Test the Zap with a test row in your spreadsheet, then turn it on.
Part 4: Build the 60-day and 30-day alerts
Repeat Part 3 twice: once for 60 days and once for 30 days. The steps are identical; just change the day filter and the email subject/body.
Part 5: Build the manager escalation
For the 30-day alert, add a second action step after the email:
Add another Send Email action:
- To: [Manager's email; hardcode this]
- Subject:
ESCALATION: Contract Renewal Overdue - [Contract Name] expires in 30 days - Body: Same information plus: "This contract has not yet been renewed. If no action is taken, it will expire on [date]. Please contact [Contract Owner] or the contracts team immediately."
You can also add a Condition here: only send the manager escalation if the "Alert Sent 60 Days" column is blank (meaning the 60-day alert was sent but no one took action). This requires marking the column when each alert fires.
Part 6: Test with a real contract
Temporarily change one contract's expiration date in your spreadsheet to 90 days from today. Wait for Zapier to run (it checks at intervals, usually every 5–15 minutes on paid plans and up to every hour on free). You should receive the test alert email.
Verify the email content is correct. If something looks wrong, go back to your Zap and edit the action.
Restore the original expiration date after testing.
Real Example: Portfolio of 45 Contracts
Setup: 45 active contracts in Google Sheets. Three Zaps running (90/60/30 day alerts) plus one escalation Zap.
How it runs: Every weekday, Zapier checks your spreadsheet. On the day a contract hits 90 days to expiration, an email goes to the contract owner. If they don't act, they get reminded at 60 days. At 30 days, both the owner and manager receive an alert.
Input: Your Google Sheet has accurate expiration dates.
Output: You stop spending 3 hours every Friday manually reviewing the tracker. Instead, you handle renewals reactively. The system tells you what needs attention and when.
Time saved: 3–5 hours per week of manual monitoring → 15–30 minutes per week responding to actual alerts.
What to Do When It Breaks
- Zaps not firing on schedule → Zapier free plan runs Zaps every 15 minutes; paid plans are more frequent. If timing matters, upgrade. Also check that the Zap is turned on (green toggle in dashboard).
- Emails going to spam → Add your Zapier-triggered emails to your allowed senders list. Or use your own Gmail/Outlook authentication in the Zap.
- Date calculation off by one day → Check that your Google Sheet date format matches what Zapier expects (YYYY-MM-DD format is most reliable). Use the Formatter step to normalize dates.
- Alerts firing for expired contracts → Add a filter: only continue if Status = "Active." This prevents alerts for contracts already terminated or expired.
Variations
- Simpler version: Instead of Zapier, set up Google Sheets conditional formatting to highlight expiring contracts, and manually review the sheet weekly. Less automated but zero cost.
- Extended version: Add a Zapier step that creates a task in your project management tool (Asana, Monday.com, Jira) when a contract hits 90 days. Not just an email, but a tracked task with a deadline.
- Airtable version: Airtable has built-in automation that can do this without Zapier. Use Airtable automations with a "Date approaching" trigger for an all-in-one solution.
What to Do Next
- This week: Build the 90-day alert Zap and test it with one contract.
- This month: Build all three alert levels and the escalation. Run in parallel with your manual process for a month to verify accuracy.
- Advanced: Add a Zapier step that logs each alert to a separate "Alert History" sheet in Google Sheets, creating an audit trail of when reminders were sent.
Advanced guide for contracts administrator professionals. Automated alerts supplement, but do not replace, professional oversight of your contract portfolio. Verify your spreadsheet data is accurate before relying on automated alerts.