π SSL Expiry Alert System Using n8n β A Step-by-Step Automation Guide


π§βπ» Who is this for?
This guide is perfect for DevOps engineers, system administrators, and IT professionals responsible for maintaining the uptime and security of websites. If you manage multiple domains or client infrastructure, this automated system will save you from the dreaded "expired SSL" panic moment.
β οΈ The Problem
SSL certificates are the gatekeepers of trust and encryption on the web. When they expire without notice, it can result in:
Security warnings in browsers
Loss of customer trust
Disrupted services
Downtime penalties
Manually tracking expiration dates isn't scalable β and that's exactly why we need automation!
β The Solution β What This Workflow Does
This n8n-powered automation checks the SSL certificates of your listed domains and keeps you informed before they expire.
Hereβs what the workflow does:
π₯ Fetches domain URLs from a connected Google Sheet.
π Uses SSL-Checker.io to validate SSL certificates.
π Updates your Google Sheet with:
SSL Expiry Date
Valid/Invalid Status
π§ Sends automated email alerts when:
SSL expires in less than 30 days
SSL is invalid or missing
π Setup β Step-by-Step Guide
1οΈβ£ Clone the Google Sheet
Make a copy of this template and fill in the domains you want to monitor. Your Google Sheet should have at least a column for Website URL
.
2οΈβ£ Set Up Google Credentials
In n8n, configure:
Google Sheets (for reading/writing domain data)
Gmail (for sending alerts)
You'll need to set up OAuth credentials and connect them under Credentials > Google Sheets & Gmail.
3οΈβ£ Configure the Trigger
Use a Schedule Trigger node to run the workflow weekly or even daily depending on your risk tolerance.
- Example: Run every Monday at 8 AM
4οΈβ£ Use SSL-Checker.io API
Connect the domain list to SSL-Checker.io via an HTTP Request node. Parse the returned expiry date and status.
5οΈβ£ Update Google Sheet
Write results back into the sheet, updating:
SSL Expiry Date
Status (Valid / Invalid)
Days remaining
6οΈβ£ Send Alerts (Email)
Using the Gmail node, create logic to send alerts for:
Certificates expiring in less than 30 days
Certificates marked as Invalid
Use conditional logic (IF node) to only send relevant alerts.
π Customization
Want more power? Hereβs how to extend it:
π Change the monitoring interval: adjust the Schedule Trigger (e.g., daily for mission-critical apps).
π§Ύ Customize email content: Add logos, detailed domain info, or CSV attachments.
π‘ Add security checks (e.g., domain WHOIS expiry, DNS health).
π Connect to Slack or Teams for real-time alerts.
π Final Note
Make sure that:
All APIs and accounts (Google Sheets, Gmail, SSL-Checker) are authenticated and authorized.
Proper permissions are granted (especially with Google Workspace).
Error handling is implemented β such as retries or logging β to maintain reliability.
π Wrapping Up
This SSL Expiry Alert System helps you automate the boring stuff and focus on the important things β keeping your infrastructure secure and your team ahead of issues.
Subscribe to my newsletter
Read articles from Harendra Barot directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Harendra Barot
Harendra Barot
I'm an IT professional and business analyst, sharing my day-to-day troubleshooting challenges to help others gain practical experience while exploring the latest technology trends and DevOps practices. My goal is to create a space for exchanging ideas, discussing solutions, and staying updated with evolving tech practices.