Automate SSL Certificate Expiry Alerts with n8n

Managing SSL certificate expiry manually can lead to website downtime and security risks. This n8n workflow automatically checks SSL certificate status for specified domains and sends instant Telegram alerts if they have expired, preventing costly outages.
manualTrigger
functionItem
uproc
+2
Workflow Identifier: 2363
NODES in Use: Manual Trigger, Function Item, Uproc, If, Telegram

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Sarah, a web admin responsible for maintaining several important company websites. One day, an SSL certificate for one of her domains expired unnoticed, causing visitors’ browsers to flag the site as insecure. This led to disruption in client trust, lost sales, and an urgent scramble to renew the certificate quickly. The manual process of checking SSL certificates across multiple domains is tedious and prone to oversight—Sarah ended up wasting hours and exposing her company to reputational and security risks.

This is exactly where our n8n workflow comes in to help by automating SSL certificate status monitoring and notifying the right team instantly if a certificate expires.

2. What This Automation Does

This unique n8n automation performs the following specific, valuable tasks:

  • Manually triggered check: Starts the workflow whenever you decide to run it, giving you full control.
  • Sets the target domain: Automatically creates a domain item internally for the process (in this example, it’s set to “n8n.io” but you can change it).
  • Fetches SSL certificate details: Calls a specialized Uproc node that queries the certificate status for the given domain.
  • Evaluates certificate validity: Uses an If node to determine whether the certificate is still valid or has expired.
  • Sends instant alerts: If expired, sends a clear notification via Telegram to a specified chat group to prompt immediate action.
  • Eliminates manual checking: Saves hours of monitoring by automating the entire process and dramatically reduces the chance of missed expiries.

Overall, this workflow helps ensure your websites remain secure and trusted 24/7 without constant manual oversight.

3. Prerequisites ⚙️

  • n8n Account: You need an active n8n instance (cloud or self-hosted).
  • Uproc API Credentials 🔐: For the Get SSL Certificate node, connect to your Uproc API account that can fetch domain certificates.
  • Telegram Bot & Chat ID 📱: A Telegram Bot token and chat/group ID to send expired certificate alerts.

4. Step-by-Step Guide

Step 1: Setup Manual Trigger Node

Navigate to Nodes → Add Node → Manual Trigger. Name it On clicking 'execute'. This node lets you start the workflow manually whenever you want to check SSL certificates.

Step 2: Create Domain Item Using Function Item Node

Add a Function Item node and name it Create Domain Item. In the parameters, paste this JavaScript code inside the functionCode field:

item.domain = "n8n.io";
return item;

This sets the domain you’re checking—in this case, “n8n.io”. You can change this string to any domain you want to track.

Confirm the output shows an item with a domain field containing your domain.

Step 3: Configure Uproc Node to Get SSL Certificate

Add a Uproc node named Get SSL Certificate. For tool, select getDomainCertificate under the internet group. Use the following expression for the domain parameter:

= {{$node["Create Domain Item"].json["domain"]}}

This ensures the node dynamically picks up the domain from the previous node. Connect your Uproc API credentials.

When executed, this node fetches SSL certificate details including validity.

Step 4: Add an If Node to Check Certificate Expiry

Insert an If node called Certificate has expired?. Configure the condition as follows:

  • Type: String compare
  • Value 1: {{ $node["Get SSL Certificate"].json["message"]["valid"] + "" }}
  • Value 2: false

This compares if the certificate is marked invalid/expired.

Step 5: Set Up Telegram Node for Expiry Alerts

Add a Telegram node named Send Expired Alarm. Enter this expression for the message text:

=The certificate of the domain {{ $node["Create Domain Item"].json["domain"] }} has expired!

Specify the chat ID (your group or channel ID) and connect your Telegram Bot credentials. When the If node detects expiration, Telegram will send an instant alert.

Step 6: Connect Nodes in Workflow

Connect nodes in this order:

  • Manual Trigger (On clicking ‘execute’) → Function Item (Create Domain Item)
  • Create Domain Item → Uproc (Get SSL Certificate)
  • Get SSL Certificate → If Node (Certificate has expired?)
  • If Node True Output → Telegram (Send Expired Alarm)

Step 7: Test Your Workflow

Manually execute the workflow by clicking the Execute button on the trigger node. Check if the Telegram message sends if the certificate is expired.

5. Customizations ✏️

  • Monitor Multiple Domains: Modify the Function Item node code to output multiple domain items. Use a SplitInBatches node to loop over domains sequentially.
  • Change Alert Channel: Replace Telegram node with Slack or Email nodes for alternative notifications.
  • Automate Scheduling: Swap Manual Trigger with Cron Trigger node to run checks on a schedule (daily or weekly).
  • Include Expiry Date in Alert: Pull expiry date from Uproc node response and append it to Telegram message for more detailed info.

6. Troubleshooting 🔧

Problem: “Telegram message not sent”

Cause: Incorrect chat ID or invalid bot credentials.

Solution: Double-check Telegram Bot token and chatId fields in the Telegram node settings. Test bot permissions in your Telegram group.

Problem: “Uproc node returns no valid certificate data”

Cause: Wrong domain format or API service downtime.

Solution: Check domain syntax in Function Item node. Verify Uproc API account and service status.

7. Pre-Production Checklist ✅

  • Confirm Telegram Bot token is active and has permission to send messages to your target chat.
  • Test Uproc API connectivity and fetch SSL details with a known valid domain.
  • Verify n8n credentials are all correctly configured.
  • Run manual test executions and confirm expiry alerts only trigger for expired certificates.
  • Backup current workflow before making changes.

8. Deployment Guide

Once tested, activate the workflow in n8n by enabling it on the main dashboard. If you want automated regular checks, replace the manual trigger with a Cron node later. Monitor execution logs via n8n to ensure smooth operation. Check Telegram regularly to respond to expiry alerts promptly.

9. Conclusion

You’ve built an essential automated SSL certificate monitoring system tailored to your domains using n8n. This simple but powerful workflow saves you from forgotten expirations, downtime, and reputational damage by sending instant Telegram alarms whenever a certificate expires. You’ve reclaimed hours previously wasted on manual checks and ensured your users experience secure, trusted connections.

Next, consider expanding this automation by monitoring multiple domains, adding alternate notification channels, or integrating renewal triggers to automatically renew expiring certificates.

Keep automating and securing your digital presence with n8n!

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free