π Monitor SSL certificate expiry with Google Sheets, Slack, Gmail and Jira
β‘ 8 views Β· π SecOps & Security Automation
Description
Quick Overview
This workflow runs daily to check SSL certificate expiry for domains listed in Google Sheets, using ssl-checker.io to fetch certificate details, then creating Jira issues and sending Slack and Gmail alerts for risky certificates while logging results and posting a daily Slack digest.
How it works
- Runs every day at 08:00 on a schedule trigger.
- Reads the domain list from a Google Sheets βDomainsβ sheet and filters out blank rows or domains marked as disabled.
- Processes domains one by one, calling the ssl-checker.io API to retrieve each siteβs live SSL certificate details.
- Calculates days remaining until expiry, assigns a status (Expired, Critical, Warning, Healthy, or Unknown), and flags items that require attention.
- For certificates that need attention, creates a Jira task and sends an alert to Slack and an email via Gmail with the certificate details.
- For healthy certificates, writes the latest check results to a Google Sheets βLogβ sheet.
- Aggregates all results from the run into a single summary message and posts the daily digest to Slack.
Setup
- Create a Google Sheet with a βDomainsβ sheet containing at least a
domaincolumn (and optionally anenabledcolumn) and a βLogβ sheet to store results, then add your Google Sheets credentials and set the spreadsheet ID. - Add an API key for ssl-checker.io (or a compatible SSL lookup endpoint) and place it in the HTTP Authorization header.
- Add your Jira credentials and set the target project key for ticket creation.
- Add your Slack credentials and set the channel ID used for alerts and the daily digest.
- Add your Gmail credentials and set the recipient address for email alerts.
- (Optional) Adjust the warning and critical thresholds (30 and 7 days) in the expiry calculation code if your policy differs.
π Nodes Used
Google Sheets, HTTP Request, Slack, Jira Software, Gmail, Schedule Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File