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
domain column (and optionally an enabled column) 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.