🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets + Gmail, SSL expiry alerts you trust

Lisa Granqvist Partner Workflow Automation Expert

Your SSL certificate shouldn’t be something you remember because a customer can’t load your site. But manual tracking makes that exact scenario weirdly common: a calendar reminder gets missed, a renewal email goes to the wrong inbox, and suddenly you’re firefighting.

Marketing managers feel it when landing pages go dark. An ops lead feels it when checkout breaks. And if you run an agency, you already know the pain of “Which client domain was that?” This SSL expiry alerts automation gives you predictable reminders and a clean place to track what’s been checked.

You’ll set up an n8n workflow that pulls your domain list from Google Sheets, checks each certificate via SSL-Checker.io, logs the result back to the sheet, and sends Gmail alerts when anything is getting close to expiring.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Google Sheets + Gmail, SSL expiry alerts you trust

Why This Matters: SSL Expiry Sneaks Up on You

SSL renewals are one of those “boring until it’s urgent” tasks. You might have 5 domains today, then 20 by next quarter (microsites, sub-brands, client projects, regional domains). Keeping expirations in your head doesn’t scale, and inbox reminders are unreliable because they’re scattered across accounts and vendors. The worst part is the timing: certificates often expire quietly, then you hear about it from a teammate, a client, or a customer. That’s not a security posture. It’s a surprise party you didn’t want.

The friction compounds. Here’s where it breaks down.

  • You don’t have one source of truth, so teams argue over which domains are still active.
  • Manual checks take longer than you think, especially when you have to repeat them every week.
  • Renewal emails get lost in shared inboxes, which means you find out after users do.
  • When someone updates a certificate, the “status” doesn’t get logged anywhere, so you re-check the same sites again and again.

What You’ll Build: Google Sheets → SSL Check → Gmail Alerts

This workflow turns a simple Google Sheet into an automated SSL monitoring system. On a weekly schedule, n8n reads your list of website URLs from Google Sheets, then sends each URL to SSL-Checker.io using an HTTP request to retrieve certificate details like expiration date and validity. It records the latest status back into your sheet so you can see what was checked and when, without digging through logs. If a certificate is close to expiring (based on your threshold), the workflow sends a Gmail alert to the right inbox so someone can renew it calmly, not during an outage. You end up with both proactive warnings and an ongoing audit trail.

The workflow starts with a scheduled weekly kickoff. It pulls the URL list from Google Sheets, validates SSL status via an HTTP request, then splits paths: one branch updates your tracking sheet while the other checks your expiry threshold and emails you via Gmail if action is needed.

What You’re Building

Expected Results

Say you monitor 30 domains. Manually checking SSL status often takes about 3 minutes per site once you include loading, copying dates, and updating your sheet, which is roughly 90 minutes every week. With this workflow, you spend about 5 minutes maintaining the Google Sheet, then let the run happen in the background (it may take a few minutes to process the list). If one domain is near expiry, you get a Gmail alert without doing any routine checking at all.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your monitored domain list and log.
  • Gmail to send certificate expiry notifications.
  • SSL-Checker.io API key (get it from your SSL-Checker.io account dashboard).

Skill level: Beginner. You’ll connect accounts, map a few fields, and choose an expiry threshold.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A weekly schedule kicks things off. n8n runs automatically on the cadence you choose (weekly by default), so checks happen even when nobody remembers to do them.

Your URL list is pulled from Google Sheets. The workflow reads each row that contains a website URL. This is your control panel: add a new domain once, and it gets monitored going forward.

SSL-Checker.io validates the certificate. Using an HTTP request, n8n sends the URL to the SSL checker service and receives certificate details back. Those details are shaped into consistent fields so your spreadsheet stays readable.

Results get logged and alerts get sent. One path updates Google Sheets with the latest status (so you have history and visibility). Another path compares the expiration date to your threshold and sends a Gmail alert if it’s getting close.

You can easily modify the expiry threshold to match your renewal process based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set up the weekly schedule that kicks off the SSL checks.

  1. Add and open Scheduled Weekly Kickoff.
  2. In Rule, confirm the interval is weekly with Trigger At Day set to 1 and Trigger At Hour set to 8.
  3. Ensure the workflow timezone matches your preference (currently set to Asia/Kolkata in workflow settings).

Step 2: Connect Google Sheets

Connect the source sheet that lists URLs and the destination sheet that stores updated SSL expiry dates.

  1. Open Retrieve URL List and set Document ID to https://docs.google.com/spreadsheets/d/[YOUR_ID]/edit?usp=sharing.
  2. Set Sheet Name to https://docs.google.com/spreadsheets/d/[YOUR_ID]/edit?gid=0#gid=0.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve URL List.
  4. Open Update Monitored Sheet and set Document ID to https://docs.google.com/spreadsheets/d/[YOUR_ID]/edit?gid=0#gid=0.
  5. Set Sheet Name to gid=0 (displayed as URLs to Check).
  6. Confirm Operation is update and Matching Columns is URL.
  7. Map columns as: URL={{ $json.result.host }} and KnownExpiryDate={{ $json.result.valid_till }}.
  8. Credential Required: Connect your googleSheetsOAuth2Api credentials in Update Monitored Sheet.

Step 3: Set Up SSL Validation and Threshold Logic

Configure the HTTP call that checks SSL status and the condition that flags expiring certificates.

  1. Open Validate SSL Status and set URL to =https://ssl-checker.io/api/v1/check/{{ $json["URL"].replace(/^https?:\/\//, "").replace(/\/$/, "") }}.
  2. Open Expiry Threshold Check and set the condition to Number lte with Left Value ={{ $json.result.days_left }} and Right Value 7.
  3. Verify the execution flow: Retrieve URL ListValidate SSL Status.
  4. Confirm parallel branching: Validate SSL Status outputs to both Update Monitored Sheet and Expiry Threshold Check in parallel.

If your input sheet includes URLs with trailing slashes or protocols, the expression in Validate SSL Status normalizes them for the API call.

Step 4: Configure the Alert Email Output

Send an email alert when a certificate is within the threshold.

  1. Open Dispatch Alert Email and set Send To to [YOUR_EMAIL].
  2. Set Subject to =SSL Expiry - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  3. Set Message to =SSL Expiry - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  4. Set Email Type to text.
  5. Credential Required: Connect your gmailOAuth2 credentials in Dispatch Alert Email.

⚠️ Common Pitfall: If the Gmail account has not granted send permissions to n8n, the email step will fail. Reconnect the Gmail OAuth credential if you see authorization errors.

Step 5: Test and Activate Your Workflow

Validate the end-to-end flow before enabling the weekly schedule.

  1. Click Execute Workflow to run a manual test from Scheduled Weekly Kickoff.
  2. Verify that Retrieve URL List pulls rows and Validate SSL Status returns SSL data.
  3. Confirm Update Monitored Sheet writes KnownExpiryDate updates and that Expiry Threshold Check routes expiring entries to Dispatch Alert Email.
  4. Check your inbox for the test alert email with the expected subject and message.
  5. Toggle the workflow to Active to enable weekly runs.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account and the n8n credential test first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • SSL-Checker.io and Gmail both have limits, and burst-checking a big list can trigger rate limits. If alerts suddenly stop, review the HTTP response from the SSL check and confirm Gmail sending is allowed for your account.

Quick Answers

What’s the setup time for this SSL expiry alerts automation?

About 30 minutes if your Google and SSL-Checker.io accounts are ready.

Is coding required for this SSL expiry alerts automation?

No. You’ll mostly connect accounts, paste in an API key, and map fields from the SSL check into your Google Sheet.

Is n8n free to use for this SSL expiry alerts workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in SSL-Checker.io API usage based on how many domains you check each week.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this SSL expiry alerts workflow for different use cases?

Yes, and it’s pretty straightforward. You can swap the Google Sheets “Retrieve URL List” step for Airtable or a CSV import, then keep the same SSL validation call. Most people also adjust the “Expiry Threshold Check” logic to alert at 14 or 30 days instead of 7, because renewal policies vary. If you want team-wide visibility, replace the Gmail alert step with Slack or Microsoft Teams, or do both.

Why is my Gmail connection failing in this workflow?

Usually it’s expired Google authorization or missing Gmail send permissions in your n8n credentials. Reconnect the Gmail credential, then test the node again. If you’re using a shared mailbox, confirm the account actually has access to send as that address. Also check your n8n execution log for a “quota” or “rate limit” message, which can happen if you trigger too many emails at once.

What volume can this SSL expiry alerts workflow process?

Plenty for most small teams: dozens to a few hundred domains weekly is common, as long as your SSL-Checker.io plan supports it.

Is this SSL expiry alerts automation better than using Zapier or Make?

For this use case, n8n is often the more comfortable fit because the HTTP request and branching logic are first-class, and you can self-host if you don’t want to pay per task. Zapier and Make can absolutely do it, but complex filtering and logging can get fiddly once you track more than a handful of domains. Another practical difference is visibility: n8n’s execution logs make it easier to answer “what happened last run?” when someone asks. If you’re already paying for Zapier and only want a basic reminder, keep it simple and use what you have. Talk to an automation expert if you want a quick recommendation for your stack.

Once this is running, SSL renewals stop being a last-minute scramble. You get a steady rhythm: clear checks, clear logs, and alerts that show up before anything breaks.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal