{ "nodes": [ { "parameters": { "operation": "update", "documentId": { "__rl": true, "mode": "id", "value": "12tAraLNJ9YobOYngevfsE8cgg8W0Bg8ZT1lTTpXOu08" }, "sheetName": { "__rl": true, "value": "gid=0", "mode": "list", "cachedResultName": "Websites", "cachedResultUrl": "https://docs.google.com/spreadsheets/d/12tAraLNJ9YobOYngevfsE8cgg8W0Bg8ZT1lTTpXOu08/edit#gid=0" }, "columns": { "mappingMode": "defineBelow", "value": { "Certificate Status": "={{ $json.result.cert_valid }}", "Expire Date": "={{ $json.result.valid_till }}", "URL": "={{ $('Fetch URLs').item.json.URL }}" }, "matchingColumns": [ "URL" ], "schema": [ { "id": "URL", "displayName": "URL", "required": false, "defaultMatch": false, "display": true, "type": "string", "canBeUsedToMatch": true, "removed": false }, { "id": "Certificate Status", "displayName": "Certificate Status", "required": false, "defaultMatch": false, "display": true, "type": "string", "canBeUsedToMatch": true, "removed": false }, { "id": "Expire Date", "displayName": "Expire Date", "required": false, "defaultMatch": false, "display": true, "type": "string", "canBeUsedToMatch": true, "removed": false }, { "id": "row_number", "displayName": "row_number", "required": false, "defaultMatch": false, "display": true, "type": "number", "canBeUsedToMatch": true, "readOnly": true, "removed": true } ], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {} }, "id": "260b66a2-0841-4dc7-9666-acbc9317fd91", "name": "URLs to Monitor", "type": "n8n-nodes-base.googleSheets", "position": [ 432, 384 ], "typeVersion": 4.5, "credentials": { "googleSheetsOAuth2Api": { "id": "", "name": "Google Sheets account" } } }, { "parameters": { "rule": { "interval": [ { "field": "weeks", "triggerAtDay": [ 1 ], "triggerAtHour": 8 } ] } }, "id": "a2922f1b-9d29-4b66-9560-44207f3e14d2", "name": "Weekly Trigger", "type": "n8n-nodes-base.scheduleTrigger", "position": [ -528, 640 ], "typeVersion": 1.2 }, { "parameters": { "documentId": { "__rl": true, "value": "12tAraLNJ9YobOYngevfsE8cgg8W0Bg8ZT1lTTpXOu08", "mode": "id" }, "sheetName": { "__rl": true, "value": "gid=0", "mode": "list", "cachedResultName": "Websites", "cachedResultUrl": "https://docs.google.com/spreadsheets/d/12tAraLNJ9YobOYngevfsE8cgg8W0Bg8ZT1lTTpXOu08/edit#gid=0" }, "options": {} }, "id": "005564e9-5ecb-4ee9-aca0-69a660656b09", "name": "Fetch URLs", "type": "n8n-nodes-base.googleSheets", "position": [ -272, 640 ], "typeVersion": 4.5, "credentials": { "googleSheetsOAuth2Api": { "id": "", "name": "Google Sheets account" } } }, { "parameters": { "url": "=https://ssl-checker.io/api/v1/check/{{ $json[\"URL\"].replace(/^https?:\\/\\//, \"\").replace(/\\/$/, \"\") }}", "options": {} }, "id": "943c561c-ca89-461c-a6fb-c3011baaf81a", "name": "Check SSL", "type": "n8n-nodes-base.httpRequest", "position": [ -16, 640 ], "typeVersion": 4.2 }, { "parameters": { "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "conditions": [ { "id": "ee6e2ce8-569a-4f1f-91b5-2c55f605a16b", "operator": { "type": "number", "operation": "lte" }, "leftValue": "={{ $json.result.days_left }}", "rightValue": 21 } ], "combinator": "and" }, "options": {} }, "id": "911fa691-decf-4572-a46e-d8644d3b2a35", "name": "Expiry Alert", "type": "n8n-nodes-base.if", "position": [ 432, 784 ], "typeVersion": 2.2 }, { "parameters": { "content": "Triggers the workflow once a week.", "height": 329.860465116279 }, "id": "32eebd68-f0e6-467c-bf65-f2d513a60666", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -592, 512 ], "typeVersion": 1 }, { "parameters": { "content": "Pulls the list of URLs to monitor from the Google Sheet. Ensure you clone the Google Sheet worksheet and update this node with its URL.", "height": 327.0154373927959 }, "id": "3c0ed796-94a4-488c-9cb7-e3d46db63815", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -336, 512 ], "typeVersion": 1 }, { "parameters": { "content": "Uses SSL-Checker.io to verify the SSL certificate of each URL. Fetches details like the host, validity period, and days remaining until expiry.", "height": 323.89365351629556 }, "id": "fdb2077c-7d6a-4255-b499-e90513a0de1d", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -80, 512 ], "typeVersion": 1 }, { "parameters": { "content": "Updates the Google Sheet with SSL details, including the expiry date and certificate status.", "height": 344.1852487135509 }, "id": "5cc1644b-6abc-4299-8a25-9507b09d863f", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 368, 240 ], "typeVersion": 1 }, { "parameters": { "content": "Checks if any SSL certificate is set to expire in 7 days or less.", "height": 344.1852487135509 }, "id": "1001a69e-8efc-4a8b-a97b-a1bc021ada35", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ 368, 640 ], "typeVersion": 1 }, { "parameters": { "content": "Sends an email alert if an SSL certificate is nearing expiry, including the host and days remaining.", "height": 344.1852487135509 }, "id": "ad9e359e-3d95-4e8c-97b0-d06475bb8883", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [ 672, 640 ], "typeVersion": 1 }, { "parameters": { "fromEmail": "", "toEmail": "", "subject": "Certificat arrivant à expiration", "emailFormat": "text", "text": "=Le certificat du site {{ $json.result.host }} va arriver à expiration dans {{ $json.result.days_left }} jours.", "options": { "appendAttribution": false } }, "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ 736, 768 ], "id": "4a554963-b476-4cdc-a60f-fd56e0d8122c", "name": "Send an Email", "webhookId": "ed3ebb0d-7e09-4534-b901-c7c2b2982489", "credentials": { "smtp": { "id": "", "name": "SMTP account" } } } ], "connections": { "Weekly Trigger": { "main": [ [ { "node": "Fetch URLs", "type": "main", "index": 0 } ] ] }, "Fetch URLs": { "main": [ [ { "node": "Check SSL", "type": "main", "index": 0 } ] ] }, "Check SSL": { "main": [ [ { "node": "URLs to Monitor", "type": "main", "index": 0 }, { "node": "Expiry Alert", "type": "main", "index": 0 } ] ] }, "Expiry Alert": { "main": [ [ { "node": "Send an Email", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateId": "2694", "templateCredsSetupCompleted": true, "instanceId": "b0bd83bbcf974c41d296ec417bc83981f52e9b01b85daa894438f303ad70cd2f" } }