Actualités de sécurité quotidiennes
Ceci est unPersonal Productivity, Multimodal AIworkflow d'automatisation du domainecontenant 19 nœuds.Utilise principalement des nœuds comme If, Code, Gmail, Limit, Merge. Briefing technologique et cybersécurité quotidien : RSS, OpenAI GPT-4o et Gmail
- •Compte Google et informations d'identification Gmail API
- •Clé API OpenAI
{
"id": "w2WtfGSXajdHe739",
"meta": {
"instanceId": "146ab8f1ce0cef4bd9c6b91db262ad7cd77638e200455d5838ba053a27e415bc",
"templateCredsSetupCompleted": true
},
"name": "Daily Securty News",
"tags": [],
"nodes": [
{
"id": "45ad3107-8415-4aef-9f48-488d349e6b81",
"name": "Bleeping Computer",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
0
],
"parameters": {
"url": "https://www.bleepingcomputer.com/feed/",
"options": {
"ignoreSSL": false
}
},
"typeVersion": 1.2
},
{
"id": "667f2d98-f124-4369-adaa-e0ec275c3a03",
"name": "CISA GOV",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
192
],
"parameters": {
"url": "https://www.cisa.gov/cybersecurity-advisories/all.xml",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "afe2a490-54cb-4392-84b9-40ab342003b7",
"name": "Feedburner",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
576
],
"parameters": {
"url": "https://feeds.feedburner.com/securityweek",
"options": {
"ignoreSSL": false
}
},
"typeVersion": 1.2
},
{
"id": "536c49f7-fc45-4a06-b187-10abaa12e689",
"name": "Ars Technica",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
768
],
"parameters": {
"url": "https://arstechnica.com/security/feed/",
"options": {
"ignoreSSL": false
}
},
"typeVersion": 1.2
},
{
"id": "75f95f11-346c-4848-93b3-eae5989fe37e",
"name": "Techcrunch",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
960
],
"parameters": {
"url": "https://techcrunch.com/category/security/feed/",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"name": "Fusionner",
"type": "n8n-nodes-base.merge",
"position": [
80,
416
],
"parameters": {
"numberInputs": 6
},
"typeVersion": 3.2
},
{
"id": "3589c7b5-7233-4594-ae52-f052f9f18a2c",
"name": "hnrss",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-144,
384
],
"parameters": {
"url": "https://hnrss.org/frontpage?points=150",
"options": {
"ignoreSSL": false
}
},
"typeVersion": 1.2
},
{
"id": "f25dba96-2902-421e-98b2-e2b78fc7cdc0",
"name": "Supprimer les doublons",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
304,
480
],
"parameters": {
"compare": "selectedFields",
"options": {},
"fieldsToCompare": "link"
},
"typeVersion": 2
},
{
"id": "d4ca3559-91e2-4cba-b54d-40daa5948a2f",
"name": "Si",
"type": "n8n-nodes-base.if",
"position": [
528,
480
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1a6ca407-e101-4c3d-842a-38d71b2e2bcf",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ new Date($json.isoDate || $json.pubDate || $json.date || 0) > new Date(Date.now() - 24*60*60*1000) }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e0088947-6cc5-4695-8b91-f20cd1c76827",
"name": "Limiter",
"type": "n8n-nodes-base.limit",
"position": [
752,
384
],
"parameters": {
"keep": "=",
"maxItems": 25
},
"typeVersion": 1
},
{
"id": "90017426-e506-4102-9804-383b3a733f82",
"name": "Envoyer un message",
"type": "n8n-nodes-base.gmail",
"position": [
1776,
384
],
"webhookId": "086722fa-c6d4-447f-b4d4-def7feeed704",
"parameters": {
"sendTo": "test@gmail.com",
"message": "={{ $json.html || '<p>(empty)</p>' }}",
"options": {},
"subject": "={{ $json.subject || 'Daily Cyber & Tech Brief' }}"
},
"credentials": {
"gmailOAuth2": {
"id": "08JLRuwZ9PDSXSVk",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "e93cb3a3-228a-4afe-8a2c-9ade67d1eef6",
"name": "Interroger un modèle",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1200,
384
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {
"maxTokens": 1600
},
"messages": {
"values": [
{
"role": "system",
"content": "You are a security editor writing a crisp daily brief for a VP of Cybersecurity.\nGroup stories into: Vulnerabilities, Breaches/Ransomware, Cloud/SaaS, Policy/Regulation, Startups/Funding, Research.\nFor each story: 1–2 sentence summary + one “Why it matters”.\nExtract CVEs/vendors if present. Be concise, no hype.\nOutput STRICT JSON with keys: subject, html, text. Do not include code fences.\n"
},
{
"content": "=Today's items (JSON array):\n{{ JSON.stringify($json.stories) }}\n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "fYx3byxTFkzmN222",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "57c7251c-6071-480c-b334-8430f48e63ff",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
976,
384
],
"parameters": {
"jsCode": "// code by ca7ai\nconst cutoff = Date.now() - 24*60*60*1000; // optional if you want another guard\n\nconst stories = $input.all().map(i => {\n const j = i.json;\n const link = j.link || '';\n let host = 'unknown';\n try { host = link ? new URL(link).hostname : 'unknown'; } catch(e) {}\n\n return {\n source: j.source || j.feed || host,\n title: j.title || '',\n link,\n published: j.isoDate || j.pubDate || j.date || null,\n snippet: j.contentSnippet || j.description || '',\n };\n});\n\n// output ONE item that contains all stories\nreturn [{ json: { stories } }];\n"
},
"typeVersion": 2
},
{
"id": "059da84b-51ff-4536-b51a-a2b8936b4df8",
"name": "Code2",
"type": "n8n-nodes-base.code",
"position": [
1552,
384
],
"parameters": {
"jsCode": "// code by ca7ai\nlet c = $json?.message?.content ?? '';\nif (typeof c !== 'string') c = String(c || '');\n\n// remove ```json ... ``` fences if present\nc = c.replace(/^```(?:json)?\\s*/i, '').replace(/\\s*```$/,'');\nlet out;\ntry {\n out = JSON.parse(c);\n} catch (e) {\n // fallback: send raw content so you still get an email\n out = {\n subject: 'Daily Cyber & Tech Brief (parse issue)',\n html: `<pre>${c.replace(/[<>&]/g, s => ({'<':'<','>':'>','&':'&'}[s]))}</pre>`,\n text: c\n };\n}\nreturn [{ json: out }];\n"
},
"typeVersion": 2
},
{
"id": "876fe1bc-5070-46d3-8a46-60c919e07dd6",
"name": "Déclencheur Planifié",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-368,
480
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 10
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f47577dd-d5b6-466e-af97-6f8e90fcb1f4",
"name": "Aucun nouvel élément",
"type": "n8n-nodes-base.code",
"position": [
752,
576
],
"parameters": {
"jsCode": "// code by ca7ai\nif (items.length === 0) {\n return [{\n json: {\n empty: true,\n subject: `Daily Cyber & Tech Brief — No major updates`,\n html: `<p>No notable headlines in the last 24h from your sources.</p>`,\n text: `No notable headlines in the last 24h.`\n }\n }];\n}\nreturn items;\n"
},
"typeVersion": 2
},
{
"id": "fbd4700b-0df1-458f-acea-c98e7b29f034",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
272
],
"parameters": {
"width": 256,
"height": 128,
"content": "**Edit Feeds** --- Open each RSS node and paste your preferred free sources (CISA, BleepingComputer, etc.)."
},
"typeVersion": 1
},
{
"id": "ef324391-f58e-4776-b7ca-79437008700e",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
464
],
"parameters": {
"color": 4,
"width": 256,
"height": 144,
"content": "**Schedule** --- Set the Cron time/timezone for when you want the daily brief."
},
"typeVersion": 1
},
{
"id": "7f7734d7-cd35-4983-b272-5634f8bf4c08",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
656
],
"parameters": {
"color": 6,
"width": 256,
"content": "**Delivery** --- Update the Gmail \"To\" address and pick a lightweight OpenAI model; add optional second dedupe to avoid repeat links."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "602ef71a-929b-44f0-80af-e110a6ab43fe",
"connections": {
"d4ca3559-91e2-4cba-b54d-40daa5948a2f": {
"main": [
[
{
"node": "e0088947-6cc5-4695-8b91-f20cd1c76827",
"type": "main",
"index": 0
}
],
[
{
"node": "f47577dd-d5b6-466e-af97-6f8e90fcb1f4",
"type": "main",
"index": 0
}
]
]
},
"57c7251c-6071-480c-b334-8430f48e63ff": {
"main": [
[
{
"node": "e93cb3a3-228a-4afe-8a2c-9ade67d1eef6",
"type": "main",
"index": 0
}
]
]
},
"059da84b-51ff-4536-b51a-a2b8936b4df8": {
"main": [
[
{
"node": "90017426-e506-4102-9804-383b3a733f82",
"type": "main",
"index": 0
}
]
]
},
"e0088947-6cc5-4695-8b91-f20cd1c76827": {
"main": [
[
{
"node": "57c7251c-6071-480c-b334-8430f48e63ff",
"type": "main",
"index": 0
}
]
]
},
"7a389f55-3f00-4b5a-8f03-72b6ef243338": {
"main": [
[
{
"node": "f25dba96-2902-421e-98b2-e2b78fc7cdc0",
"type": "main",
"index": 0
}
]
]
},
"3589c7b5-7233-4594-ae52-f052f9f18a2c": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 2
}
]
]
},
"667f2d98-f124-4369-adaa-e0ec275c3a03": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 1
}
]
]
},
"afe2a490-54cb-4392-84b9-40ab342003b7": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 3
}
]
]
},
"75f95f11-346c-4848-93b3-eae5989fe37e": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 5
}
]
]
},
"536c49f7-fc45-4a06-b187-10abaa12e689": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 4
}
]
]
},
"e93cb3a3-228a-4afe-8a2c-9ade67d1eef6": {
"main": [
[
{
"node": "059da84b-51ff-4536-b51a-a2b8936b4df8",
"type": "main",
"index": 0
}
]
]
},
"876fe1bc-5070-46d3-8a46-60c919e07dd6": {
"main": [
[
{
"node": "45ad3107-8415-4aef-9f48-488d349e6b81",
"type": "main",
"index": 0
},
{
"node": "667f2d98-f124-4369-adaa-e0ec275c3a03",
"type": "main",
"index": 0
},
{
"node": "3589c7b5-7233-4594-ae52-f052f9f18a2c",
"type": "main",
"index": 0
},
{
"node": "afe2a490-54cb-4392-84b9-40ab342003b7",
"type": "main",
"index": 0
},
{
"node": "536c49f7-fc45-4a06-b187-10abaa12e689",
"type": "main",
"index": 0
},
{
"node": "75f95f11-346c-4848-93b3-eae5989fe37e",
"type": "main",
"index": 0
}
]
]
},
"45ad3107-8415-4aef-9f48-488d349e6b81": {
"main": [
[
{
"node": "7a389f55-3f00-4b5a-8f03-72b6ef243338",
"type": "main",
"index": 0
}
]
]
},
"f25dba96-2902-421e-98b2-e2b78fc7cdc0": {
"main": [
[
{
"node": "d4ca3559-91e2-4cba-b54d-40daa5948a2f",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Productivité personnelle, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Calistus Christian
@ca7aiAutomation strategist and AI workflow architect creating intelligent, agent-driven processes that streamline operations. I build advanced n8n solutions integrating AI, cloud services, and real-time data orchestration for scalable impact. Explore my free workflows to get started. Premium, custom-built solutions are also available. Connect with me on LinkedIn for tailored automation expertise.
Partager ce workflow