SSL/TLS Certificate Expiry Monitor with Slack Alert

Go to Workflow
0 views
Built by Marth - Business Automation Marth - Business Automation
Created on June 07, 2026

Description

How It Works: The 5-Node Certificate Management Flow 🗓️

This workflow efficiently monitors your domains for certificate expiry.

Scheduled Check (Cron Node): This is the workflow's trigger. It's configured to run on a regular schedule, such as every Monday morning, ensuring certificate checks are automated and consistent.

List Domains to Monitor (Code Node): This node acts as a static database, storing a list of all the domains you need to track.

Check Certificate Expiry (HTTP Request Node): For each domain in your list, this node makes a request to a certificate checking API. The API returns details about the certificate, including its expiry date.

Is Certificate Expiring? (If Node): This is the core logic. It compares the expiry date from the API response with the current date. If the certificate is set to expire within a critical timeframe (e.g., less than 30 days), the workflow proceeds to the next step.

Send Alert (Slack Node): If the If node determines a certificate is expiring, this node sends a high-priority alert to your team's Slack channel. The message includes the domain name and the exact expiry date, providing all the necessary information for a quick response.

How to Set Up

Here's a step-by-step guide to get this workflow running in your n8n instance.

Prepare Your Credentials & API:
Certificate Expiry API: You need an API to check certificate expiry. The workflow uses a sample API, so you may need to adjust the URL and parameters. For production use, you might use a service like Certspotter or a similar tool.
Slack Credential: Set up a Slack credential in n8n and get the Channel ID of your security alert channel (e.g., #security-alerts).

Import the Workflow JSON:
Create a new workflow in n8n and choose "Import from JSON."
Paste the JSON code for the "SSL/TLS Certificate Expiry Monitor" workflow.

Configure the Nodes:
Scheduled Check (Cron): Set the schedule according to your preference (e.g., every Monday at 8:00 AM).
List Domains to Monitor (Code): Edit the domainsToMonitor array in the code and add all the domains you want to check.
Check Certificate Expiry (HTTP Request): Update the URL to match the certificate checking API you are using.
Is Certificate Expiring? (If): The logic is set to check for expiry within 30 days. You can adjust the 30 in the expression new Date(Date.now() + 30 * 24 * 60 * 60 * 1000) to change the warning period.
Send Alert (Slack): Select your Slack credential and enter the correct Channel ID.

Test and Activate:
Manual Test: Run the workflow manually to confirm it fetches certificate data and processes it correctly. You can test with a domain that you know is expiring soon to ensure the alert is triggered.
Verify Output: Check your Slack channel to confirm that alerts are formatted and sent correctly.
Activate: Once you're confident everything works, activate the workflow. n8n will now automatically monitor your domain certificates on the schedule you set.

Nodes Used (3)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
Slack
n8n-nodes-base.slack