← Back to Directory
🍳
Expiring Certificate Monitor
Daily: check SSL certificates on all your domains, alert 30/14/7 days before expiry, track certificate details.
🤖 0 ↑ 0 ↓ | 👤 0 ↑ 0 ↓
intermediate⏱ 10 min setup🔄 3 swappable alternatives
🧂 Ingredients
🔌 APIs
Send expiry warningsrequired
send_expiry_warnings
🔄 Alternatives:
Discord — Free, great for communitiesTelegram — Simple bot API, no approval neededTeams — Enterprise/Office 365 integration
📋 Step-by-Step Build Guide
STEP 1
Load domain list from ssl-domains.json
Load domain list from ssl-domains.json
Load domain list from ssl-domains.json Steps: 1. Validate all required inputs are available 2. Execute the operation described above 3. Verify the result meets expected output format 4. Handle errors gracefully — retry transient failures, log and alert on persistent ones 5. Return structured output with status and any relevant data If any required data is missing, request it from the user before proceeding.
STEP 2
For each domain, connect via TLS and read certificate expiry date
For each domain, connect via TLS and read certificate expiry date
For each domain, connect via TLS and read certificate expiry date Steps: 1. Validate all required inputs are available 2. Execute the operation described above 3. Verify the result meets expected output format 4. Handle errors gracefully — retry transient failures, log and alert on persistent ones 5. Return structured output with status and any relevant data If any required data is missing, request it from the user before proceeding.
STEP 3
Calculate days until expiry
Calculate days until expiry
Process the data and calculate the requested metrics. Steps: 1. Validate input data — check for nulls, out-of-range values, duplicates 2. Apply the calculation/aggregation logic 3. Compare against benchmarks or previous periods if available 4. Format results with appropriate precision (2 decimal places for percentages, whole numbers for counts) Include: current value, previous value, change (absolute and %), trend direction (↑↓→). Flag any anomalies: values >2 standard deviations from the mean. If insufficient data for a reliable calculation, state the minimum needed and return partial results.
STEP 4
If <30 days: warning. If <14 days: urgent. If <7 days: critical.
If <30 days: warning. If <14 days: urgent. If <7 days: critical.
If <30 days: warning. If <14 days: urgent. If <7 days: critical. Steps: 1. Validate all required inputs are available 2. Execute the operation described above 3. Verify the result meets expected output format 4. Handle errors gracefully — retry transient failures, log and alert on persistent ones 5. Return structured output with status and any relevant data If any required data is missing, request it from the user before proceeding.
STEP 5
Send alert to appropriate channel based on severity
Send alert to appropriate channel based on severity
Send a notification to the user via the configured messaging channel.
For Pushover:
POST https://api.pushover.net/1/messages.json
Body: { token: {APP_TOKEN}, user: {USER_KEY}, message: "{notification_text}", title: "{title}", priority: 0 }
For Twilio SMS:
POST https://api.twilio.com/2010-04-01/Accounts/{SID}/Messages
Body: To={phone}, From={twilio_number}, Body={message_text}
Keep the message concise — under 160 characters for SMS, under 500 for push.
Include the most actionable information first.
Log: timestamp, channel, recipient, message preview, delivery status.STEP 6
Log certificate details (issuer, expiry, SANs) to ssl-log.json
Log certificate details (issuer, expiry, SANs) to ssl-log.json
Log certificate details (issuer, expiry, SANs) to ssl-log.json Steps: 1. Validate all required inputs are available 2. Execute the operation described above 3. Verify the result meets expected output format 4. Handle errors gracefully — retry transient failures, log and alert on persistent ones 5. Return structured output with status and any relevant data If any required data is missing, request it from the user before proceeding.
🤖 Example Agent Prompt
Load domain list from ssl-domains.json Steps: 1. Validate all required inputs are available 2. Execute the operation described above 3. Verify the result meets expected output format 4. Handle errors gracefully — retry transient failures, log and alert on persistent ones 5. Return structured output with status and any relevant data If any required data is missing, request it from the user before proceeding.
Copy this prompt into your agent to get started.
⏰ Automation Ideas
- • 0 8 * * *