πŸ” SSL Expiry Alert System Using n8n – A Step-by-Step Automation Guide

Harendra BarotHarendra Barot
3 min read

πŸ§‘β€πŸ’» 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:

  1. πŸ“₯ Fetches domain URLs from a connected Google Sheet.

  2. πŸ” Uses SSL-Checker.io to validate SSL certificates.

  3. πŸ“Š Updates your Google Sheet with:

    • SSL Expiry Date

    • Valid/Invalid Status

  4. πŸ“§ 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.

0
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.