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 Certificatenode, 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!