Back to Catalog

Monitor SSL certificate expiry with Google Sheets and email alerts

Agus NaresthaAgus Narestha
588 views
2/3/2026
Official Page

πŸ”’ SSL Certificate Monitoring & Expiry Alert with Spreadsheet [FREE APIs]

βœ… What This Workflow Does

This n8n template automatically monitors SSL certificates of websites listed in a Google Sheet and sends email alerts if any are expiring within 14 days. It helps ensure you avoid downtime, security issues, and trust warnings due to expired certificates.


🧩 Key Features

  • πŸ“… Weekly Automation: Runs every Monday at 7:00 AM (configurable).
  • πŸ“„ Google Sheets Integration: Fetches and updates data in a spreadsheet.
  • πŸ” SSL Check via API: Uses ssl-checker.io to get certificate details.
  • ⚠️ SSL Expiry Filter: Identifies certificates expiring within 14 days.
  • πŸ“§ Email Alerts: Sends notifications for certificates close to expiration.

πŸ“‚ Input Spreadsheet Format

Your Google Sheet should have the following columns:

| No | Name | Link | SSL Issued On | SSL Expired On | SSL Status | |----|-----------------|-----------------------|-------------------|-------------------|------------| | 1 | Example Site | https://example.com | 2024-07-01 | 2025-07-01 | Valid | | 2 | My Blog | https://myblog.org | 2024-07-05 | 2024-07-20 | Expiring |

Each row should include a valid website URL in the Link column.


πŸ› οΈ How It Works

  1. Scheduled Trigger

    • Executes weekly (Monday 7:00 AM).
  2. Fetch Website List

    • Reads all website entries from the Google Sheet.
  3. Check SSL Certificates

    • Uses ssl-checker.io API to retrieve certificate details for each website.
  4. Update Spreadsheet

    • Writes "Issued On" and "Expired On" fields back to the spreadsheet.
  5. Evaluate SSL Expiry

    • Filters for certificates expiring within 14 days.
  6. Check Condition

    • Determines whether to send alerts based on filtered results.
  7. Send Email Alert

    • Notifies via email if any certificates are expiring soon.

πŸ“¬ Example Email Output

Subject: ⚠️ ALERT!! SSL EXPIRED

SSL certificates expiring soon:
- example.com (expires in 5 days)
- anotherdomain.net (expires in 3 days)

🧰 Setup Requirements

  • A Google Sheet with the correct columns and website links.
  • SMTP credentials to send alert emails.

Monitor SSL Certificate Expiry with Google Sheets and Email Alerts

This n8n workflow automates the process of monitoring SSL certificate expiry for a list of domains, storing the expiry dates in a Google Sheet, and sending email alerts for certificates nearing expiration.

What it does

  1. Triggers on Schedule: The workflow runs automatically at a set interval (e.g., daily, weekly) to check all specified domains.
  2. Fetches Domains from Google Sheets: Reads a list of domains from a designated Google Sheet. Each row in the sheet should contain a domain name.
  3. Loops Through Domains: Processes each domain individually to check its SSL certificate.
  4. Checks SSL Certificate Expiry: For each domain, it makes an HTTP request to retrieve the SSL certificate information.
  5. Extracts Expiry Date: Uses a Code node to parse the HTTP response and extract the SSL certificate's expiry date.
  6. Updates Google Sheet: Writes the retrieved expiry date back to the Google Sheet, associating it with the respective domain.
  7. Checks for Nearing Expiry: Compares the expiry date with the current date to determine if the certificate is nearing its expiration (e.g., within 30 days).
  8. Sends Email Alert (Conditional): If a certificate is found to be nearing expiry, an email alert is sent to a specified recipient with details about the expiring certificate.

Prerequisites/Requirements

  • n8n Instance: A running instance of n8n.
  • Google Sheets Account: A Google Sheets account with a spreadsheet set up to store your domain list and their SSL expiry dates.
    • You will need to configure a Google Sheets credential in n8n.
  • SMTP Server/Email Service: An email service (e.g., Gmail, SendGrid, custom SMTP) configured in n8n to send email alerts.
    • You will need to configure an Email Send credential in n8n.

Setup/Usage

  1. Import the Workflow:
    • Copy the provided JSON code.
    • In your n8n instance, click "New" to create a new workflow.
    • Go to "File" > "Import from JSON" and paste the copied JSON.
  2. Configure Credentials:
    • Google Sheets:
      • Locate the "Google Sheets" node.
      • Click on "Credential" and select an existing Google Sheets OAuth2 credential or create a new one. Ensure it has access to the spreadsheet you intend to use.
      • Update the "Spreadsheet ID" and "Sheet Name" in the node to point to your specific Google Sheet.
    • Send Email:
      • Locate the "Send Email" node.
      • Click on "Credential" and select an existing SMTP/Email Send credential or create a new one.
      • Configure the "To" email address for alerts, and optionally the "From" address and subject line.
  3. Prepare your Google Sheet:
    • Create a new Google Sheet.
    • In the first column (e.g., Column A), list the domain names you want to monitor (e.g., example.com, sub.domain.org).
    • The workflow expects a column for the expiry date (e.g., Column B).
  4. Configure Schedule Trigger:
    • Locate the "Schedule Trigger" node.
    • Adjust the "Interval" and "Time" settings to your preferred monitoring frequency (e.g., daily at 09:00, weekly).
  5. Activate the Workflow:
    • Once all configurations are complete, activate the workflow by toggling the "Active" switch in the top right corner of the n8n editor.

The workflow will now run according to its schedule, monitor your specified domains, update the Google Sheet, and send email alerts for expiring SSL certificates.

Related Templates

Daily Magento 2 customer sync to Google Contacts & Sheets without duplicates

Automatically sync newly registered Magento 2 customers to Google Contacts and Google Sheets every 24 hours β€” with full duplication control and seamless automation. This workflow is a plug-and-play customer contact automation system designed for Magento 2 store owners, marketers, and CRM teams. It fetches customer records registered within the last 24 hours (from 00:00:00 to 23:59:59), checks against an existing Google Sheet to avoid reprocessing, and syncs only the new ones into Google Contacts. This ensures your contact list is always fresh and up to date β€” without clutter or duplicates. βœ… What This Workflow Does: Automates Customer Syncing Every day, it fetches newly registered Magento 2 customers via API based on the exact date range (midnight to midnight). Deduplicates Using Google Sheets A master Google Sheet tracks already-synced emails. Before adding a customer, the workflow checks this list and skips if already present. Creates Google Contacts Automatically For each unique customer, it creates a new contact in your Google Contacts, saving fields like first name, last name, and email. Logs New Entries to Google Sheets In Google Sheets, it even records magento 2 customer group, createdat, websiteid & store_id After syncing, it adds each new email to the tracking sheet, building a cumulative record of synced contacts. Fully Scheduled & Automated Can be scheduled with the Cron node to run daily (e.g., 12:05 AM) with no manual intervention required. πŸ”§ Modules Used: HTTP Request (Magento 2 API) Date & Time (for filtering registrations) Google Sheets (for reading/writing synced emails) Google Contacts (for contact creation) Set, IF, and Merge nodes (for control logic) Cron (for scheduling the automation) πŸ’Ό Use Cases: Keep your email marketing tools synced with Magento 2 customer data. Build a CRM-friendly contact base in Google Contacts without duplicates. Share customer data with sales or support teams through synced Google Sheets. Reduce manual work and human error in data transfer processes. πŸ”’ Credentials Required Magento 2 Bearer Auth: Set up as a credential in n8n using your Magento 2 API access token. Google API πŸ“‚ Category E-commerce β†’ Magento 2 (Adobe Commerce) πŸ’¬ Need Help? πŸ’‘ Having trouble setting it up or want to customize this workflow further? Feel free to reach out β€” I’m happy to help with setup, customization, or Magento 2 API integration issues. Contact: Author πŸ‘€ Author Kanaka Kishore Kandregula Certified Magento 2 Developer https://gravatar.com/kmyprojects https://www.linkedin.com/in/kanakakishore

Kanaka Kishore KandregulaBy Kanaka Kishore Kandregula
163

Send RSS feed data to webhook

Filters articles based on keywords, checks against MongoDB for unique links, then sends results to different webhooks

daveBy dave
3968

Run bulk RAG queries from CSV with Lookio

This template processes a CSV of questions and returns an enriched CSV with RAG-based answers produced by your Lookio assistant. Upload a CSV that contains a column named Query, and the workflow will loop through every row, call the Lookio API, and append a Response column containing the assistant's answer. It's ideal for batch tasks like drafting RFP responses, pre-filling support replies, generating knowledge-checked summaries, or validating large lists of product/customer questions against your internal documentation. Who is this for? Knowledge managers & technical writers: Produce draft answers to large question sets using your company docs. Sales & proposal teams: Auto-generate RFP answer drafts informed by internal docs. Support & operations teams: Bulk-enrich FAQs or support ticket templates with authoritative responses. Automation builders: Integrate Lookio-powered retrieval into bulk data pipelines. What it does / What problem does this solve? Automates bulk queries: Eliminates the manual process of running many individual lookups. Ensures answers are grounded: Responses come from your uploaded documents via Lookio, reducing hallucinations. Produces ready-to-use output: Delivers an enriched CSV with a new Response column for downstream use. Simple UX: Users only need to upload a CSV with a Query column and download the resulting file. How it works Form submission: User uploads a CSV via the Form Trigger. Extract & validate: Extract all rows reads the CSV and Aggregate rows checks for a Query column. Per-row loop: Split Out and Loop Over Queries iterate rows; Isolate the Query column normalizes data. Call Lookio: Lookio API call posts each query to your assistant and returns the answer. Build output: Prepare output appends Response values and Generate enriched CSV creates the downloadable file delivered by Form ending and file download. Why use Lookio for high quality RAG? While building a native RAG pipeline in n8n offers granular control, achieving consistently high-quality and reliable results requires significant effort in data processing, chunking strategy, and retrieval logic optimization. Lookio is designed to address these challenges by providing a managed RAG service accessible via a simple API. It handles the entire backend pipelineβ€”from processing various document formats to employing advanced retrieval techniquesβ€”allowing you to integrate a production-ready knowledge source into your workflows. This approach lets you focus on building your automation in n8n, rather than managing the complexities of a RAG infrastructure. How to set up Create a Lookio assistant: Sign up at https://www.lookio.app/, upload documents, and create an assistant. Get credentials: Copy your Lookio API Key and Assistant ID. Configure the workflow nodes: In the Lookio API call HTTP Request node, replace the apikey header value with your Lookio API Key and update assistantid with your Assistant ID (replace placeholders like <your-lookio-api-key> and <your-assistant-id>). Ensure the Form Trigger is enabled and accepts a .csv file. CSV format: Ensure the input CSV has a column named Query (case-sensitive as configured). Activate the workflow: Run a test upload and download the enriched CSV. Requirements An n8n instance with the ability to host Forms and run workflows A Lookio account (API Key) and an Assistant ID How to take it further Add rate limiting / retries: Insert error handling and delay nodes to respect API limits for large batches. Improve the speed: You could drastically reduce the processing time by parallelizing the queries instead of doing them one after the other in the loop. For that, you could use HTTP request nodes that would trigger your sort of sub-workflow. Store results: Add an Airtable or Google Sheets node to archive questions and responses for audit and reuse. Post-process answers: Add an LLM node to summarize or standardize responses, or to add confidence flags. Trigger variations: Replace the Form Trigger with a Google Drive or Airtable trigger to process CSVs automatically from a folder or table.

Guillaume DuvernayBy Guillaume Duvernay
293