Skip to main content

Monitor SSL certificate expiry dates with Google Sheets & Slack alerts

Workflow preview

Workflow preview
100%
Monitor SSL certificate expiry dates with Google Sheets & Slack alerts preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

️ Notice: Community nodes like @custom js/n8n nodes pdf toolkit can only be installed on self hosted instances of n8n. This n8n workfl...

Best for

  • SecOps automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.googlesheets, @custom-js/n8n-nodes-pdf-toolkit.sslchecker, n8n-nodes-base.slack, n8n-nodes-base.scheduletrigger, n8n-nodes-base.if

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by CustomJS.

Original n8n.io source

1.1 Workflow description

Title
Monitor SSL certificate expiry dates with Google Sheets & Slack alerts
Workflow name
Monitor SSL certificate expiry dates with Google Sheets & Slack alerts

> ⚠️ Notice:
> Community nodes like @custom-js/n8n-nodes-pdf-toolkit can only be installed on self-hosted instances of n8n.


This n8n workflow illustrates how to monitor and track SSL certificate expiration dates for any domain using the SSL Checker node from customJS. It automatically updates a Google Sheet with the number of days left until expiry and sends a Slack notification when certificates are about to expire.


What this workflow does

  • Input a list of domains from Google Sheets.
  • Check each domain’s SSL certificate details, including expiration date and days left.
  • Update the Google Sheet with the latest SSL expiry information.
  • Notify via Slack if any certificate is expiring soon (e.g., less than 8 days).

Requirements

  • Self-hosted n8n instance.
  • CustomJS API key for SSL checking.
  • Google Sheets API credentials for reading/updating domain data.
  • Slack API credentials (optional, for notifications).

Workflow Steps

  1. Schedule Trigger

    • ⏰ Starts the workflow automatically (weekly by default, configurable).
  2. Google Sheets (Read Rows)

    • 📄 Retrieves the list of domains from your Google Sheet.
  3. SSL Checker (CustomJS node)

    • 🔐 Fetches SSL certificate details for each domain.
    • Returns JSON output with fields such as expires and daysLeft.
  4. Google Sheets (Update Rows)

    • 📝 Updates the sheet with the current number of days left until certificate expiry.
  5. Check Days Left Threshold (formerly "If" node)

    • ⚠️ Evaluates whether the certificate expires within the threshold (e.g., < 8 days).
  6. Slack Node

    • 💬 Sends a notification message if a certificate is close to expiration.

    Example Slack alert message:

    ⏰ Reminder: SSL certificate of www.example.com 
    will expire in 7 days.
    

SSL Checker node JSON output

{
  "output": {
    "domain": "example.com",
    "valid": true,
    "expires": "2025-12-31T23:59:59.000Z",
    "issuer": "Let's Encrypt",
    "daysLeft": 5
  }
}

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Get row(s) in sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 2 - SSL Checker

Type / Role
@custom-js/n8n-nodes-pdf-toolkit.sslChecker - sslChecker
Config choices
Version 1

Block 3 - Update row in sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 4 - Send a message

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 5 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 6 - Check Days Left Threshold

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

3. Summary Table

Workflow Monitor SSL certificate expiry dates with Google Sheets & Slack alerts
Complexity intermediate
Nodes 6
Categories SecOps
Author CustomJS
Published 23 Jun 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/5172/5172.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Monitor SSL certificate expiry dates with Google Sheets & Slack alerts do?

️ Notice: Community nodes like @custom js/n8n nodes pdf toolkit can only be installed on self hosted instances of n8n. This n8n workfl...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your SecOps use case.