Sélection d'actualités technologiques quotidiennes : RSS, GPT-4o-Mini et livraison par Gmail

Intermédiaire

Ceci est unMultimodal AIworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme Set, Code, Gmail, SplitOut, Aggregate. Sélection d'actualités technologiques quotidiennes : RSS, GPT-4o-Mini et livraison par Gmail

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Clé API OpenAI

Catégorie

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "7888501fe66f93847229a4fe1e4efd9754bf14b1b98634200b2ff2090b5002a3",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "69394736-5c78-420e-9f03-ac18501cb377",
      "name": "Déclencheur de newsletter quotidienne",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "⏰ Triggers daily at 8 AM UTC\n\nCustomize:\n- Change triggerAtHour (0-23)\n- Add timezone settings\n- Set weekday-only schedule",
      "position": [
        624,
        1040
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65",
      "name": "Configurer les sources RSS",
      "type": "n8n-nodes-base.set",
      "notes": "📡 Premium tech news RSS feeds\n\nSources:\n• TechCrunch AI\n• The Verge AI\n• MIT Tech Review\n• Wired AI\n• VentureBeat\n• ZDNet\n• Towards Data Science\n• NY Times Tech\n• Guardian Tech\n• BBC Tech",
      "position": [
        864,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "53097a16-a525-4c89-828e-a36c5e0c3742",
              "name": "urls",
              "type": "array",
              "value": "[\n  \"https://techcrunch.com/tag/artificial-intelligence/feed/\",\n  \"https://www.theverge.com/artificial-intelligence/rss/index.xml\",\n  \"https://www.technologyreview.com/feed/\",\n  \"https://www.wired.com/feed/category/science/artificial-intelligence/latest/rss\",\n  \"https://venturebeat.com/category/ai/feed/\",\n  \"https://www.zdnet.com/topic/artificial-intelligence/rss.xml\",\n  \"https://towardsdatascience.com/feed\",\n  \"https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml\",\n  \"https://www.theguardian.com/uk/technology/rss\",\n  \"https://feeds.bbci.co.uk/news/technology/rss.xml\"\n]"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6477cbf0-790d-41ce-8b45-a273e03c9247",
      "name": "Diviser les URL RSS",
      "type": "n8n-nodes-base.splitOut",
      "notes": "🔄 Splits URL array for parallel processing\n\nCreates individual execution paths\nfor each RSS feed URL",
      "position": [
        1088,
        1040
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "urls"
      },
      "typeVersion": 1
    },
    {
      "id": "37cfed68-0740-4e77-a1ab-827f8f1eec28",
      "name": "Récupérer les articles RSS",
      "type": "n8n-nodes-base.rssFeedRead",
      "notes": "📰 Fetches articles from RSS feeds\n\nExtracts:\n• Title\n• Content snippet\n• Article URL\n• Publication date\n\nContinues on errors to prevent\nsingle feed failures",
      "onError": "continueErrorOutput",
      "position": [
        1296,
        1040
      ],
      "parameters": {
        "url": "={{ $json.urls }}",
        "options": {}
      },
      "retryOnFail": false,
      "typeVersion": 1.2
    },
    {
      "id": "d7f56edb-cd31-4a53-b390-e910b7c50ce8",
      "name": "Filtrer les articles",
      "type": "n8n-nodes-base.code",
      "notes": "⚖️ Balances article sources\n\n• Max 5 articles per domain\n• Prevents single-source domination\n• Ensures diverse coverage\n• Groups by domain, then flattens",
      "position": [
        1504,
        1040
      ],
      "parameters": {
        "jsCode": "// Limit articles per domain for balanced coverage\nconst input = $input.all();\nconst grouped = {};\n\nfor (const item of input) {\n  const link = item.json.link;\n  const domainMatch = link.match(/\\/\\/([^\\/]+)/);\n  const domain = domainMatch ? domainMatch[1].replace(/^www\\./, '') : 'unknown';\n\n  if (!grouped[domain]) grouped[domain] = [];\n  if (grouped[domain].length < 5) {\n    grouped[domain].push(item.json);\n  }\n}\n\n// Flatten results\nconst result = [];\nfor (const domain in grouped) {\n  result.push(...grouped[domain]);\n}\n\nreturn result.map(i => ({ json: i }));"
      },
      "typeVersion": 2
    },
    {
      "id": "14562212-87cc-4321-8277-bd8519c1adcf",
      "name": "Nettoyer les données",
      "type": "n8n-nodes-base.set",
      "notes": "🧹 Standardizes article structure\n\nMaps to clean format:\n• title → headline\n• content → summary\n• link → article URL\n• pubDate → timestamp",
      "position": [
        1712,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "568b89e0-be16-4977-8c2a-882563174c9b",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "dfbf5a07-d66a-434e-8208-5a14946193de",
              "name": "content",
              "type": "string",
              "value": "={{ $json.contentSnippet }}"
            },
            {
              "id": "b3f87e87-2f95-4d84-a03d-f44f3f206db4",
              "name": "link",
              "type": "string",
              "value": "={{ $json.link }}"
            },
            {
              "id": "74e93f7a-908b-486c-bb2f-02e4f5ff204c",
              "name": "pubDate",
              "type": "string",
              "value": "={{ $json.pubDate }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6769221a-1d99-4c17-9828-46ee92be5926",
      "name": "Combiner les articles",
      "type": "n8n-nodes-base.aggregate",
      "notes": "📊 Aggregates all articles\n\nCombines filtered articles from\nall sources into single dataset\nfor AI processing",
      "position": [
        1920,
        1040
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "6c430d53-cbd3-4881-b86b-48707c9e32a5",
      "name": "Créateur de newsletter IA",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "🤖 AI-powered article curation\n\nAnalyzes all articles and:\n• Selects top 10 most relevant\n• Creates HTML newsletter\n• Provides article summaries\n• Focuses on trending topics\n\nRequires: OpenAI API key",
      "position": [
        2176,
        1040
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "You are an AI Tech News Curator. Analyze the provided articles and create an HTML newsletter with the top 10 most relevant AI/tech articles.\n\nFormat as clean HTML starting with <!DOCTYPE html>\nInclude: article title, brief summary, and link for each article.\nFocus on trending AI, machine learning, and technology topics.\n\nArticles data: {{ JSON.stringify($json.data) }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "MViSj0jQLBUcuA6t",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fb8881bc-7831-43f8-97f7-4a604a4a9806",
      "name": "Envoyer la newsletter",
      "type": "n8n-nodes-base.gmail",
      "notes": "📧 Sends HTML newsletter via Gmail\n\nSetup:\n1. Enable Gmail API\n2. Create OAuth2 credentials\n3. Update recipient email\n\nFeatures:\n• HTML email format\n• Dynamic date in subject\n• Professional newsletter style",
      "position": [
        2528,
        1040
      ],
      "webhookId": "2f333782-f060-4720-9bb9-b1f23c27f780",
      "parameters": {
        "sendTo": "your.email@example.com",
        "message": "={{ $json.message.content }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "=Daily AI Tech Digest - {{ $now.toFormat('EEEE, MMMM d, yyyy') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "ObKdXRExIEHrpaND",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b43da764-1c99-4cdd-8b9c-338753c68826",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        384
      ],
      "parameters": {
        "color": 5,
        "width": 736,
        "height": 1136,
        "content": "# AI Tech News Aggregator & Newsletter\n\n### 🎯 Key Features\n- **Premium Sources** - Curates from 14 top-tier tech publications\n- **AI Quality Control** - Intelligent article selection and summarization\n- **Balanced Coverage** - Prevents source bias with smart filtering\n- **Professional Format** - Clean HTML newsletter design\n- **Scheduled Automation** - Daily delivery at customizable times\n- **Error Resilience** - Continues processing even if some feeds fail\n\n## Setup Steps\n\n### ⚙️ Workflow Configuration\n1. **Import the workflow** into your n8n instance\n2. **Update node configurations**:\n   - **Google Vertex AI Model**: Set your Google Cloud Project ID\n   - **Send Newsletter Email**: Update recipient email address\n   - **Daily Newsletter Trigger**: Adjust schedule time if needed\n3. **Verify credentials** are properly connected to respective nodes\n\n### 📰 RSS Sources Customization (Optional)\nThe workflow includes 14 premium tech news sources:\n- TechCrunch (AI & Startups)\n- The Verge (AI section)\n- MIT Technology Review\n- Wired (AI/Science)\n- VentureBeat (AI)\n- ZDNet (AI topics)\n- AI Trends\n- Nature (Machine Learning)\n- Towards Data Science\n- NY Times Technology\n- The Guardian Technology\n- BBC Technology\n- Nikkei Asia Technology\n\n**To customize sources:**\n- Edit the \"Configure RSS Sources\" node\n- Add/remove RSS feed URLs as needed\n- Ensure feeds are active and properly formatted\n\n### 🚀 Testing & Deployment\n1. **Manual Test**: Execute the workflow manually to verify setup\n2. **Check Email**: Confirm newsletter arrives with proper formatting\n3. **Verify AI Output**: Ensure articles are relevant and well-summarized\n4. **Schedule Activation**: Enable the daily trigger for automated operation\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c96013fe-cde1-4ef2-b833-683fb6269d67",
      "name": "Note adhésive 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        400
      ],
      "parameters": {
        "color": 3,
        "width": 2192,
        "height": 848,
        "content": "## Workflow\n\n### 💡 Customization Options\n\n**Newsletter Timing:**\n- Default: 8:00 AM UTC daily\n- Modify \"triggerAtHour\" in the Schedule Trigger node\n- Add multiple daily sends if desired\n\n**Content Focus:**\n- Adjust the AI prompt in \"AI Tech News Curator\" node\n- Specify different topics (e.g., focus on startups, enterprise AI, etc.)\n- Change output language or format\n\n**Email Recipients:**\n- Update single recipient in Gmail node\n- Or modify to send to multiple addresses\n- Integrate with mailing list services\n\n**Article Limits:**\n- Current: Max 5 articles per source\n- Modify the filtering logic in \"Filter & Balance Articles\" node\n- Adjust total article count in AI prompt\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "14562212-87cc-4321-8277-bd8519c1adcf": {
      "main": [
        [
          {
            "node": "6769221a-1d99-4c17-9828-46ee92be5926",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6477cbf0-790d-41ce-8b45-a273e03c9247": {
      "main": [
        [
          {
            "node": "37cfed68-0740-4e77-a1ab-827f8f1eec28",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d7f56edb-cd31-4a53-b390-e910b7c50ce8": {
      "main": [
        [
          {
            "node": "14562212-87cc-4321-8277-bd8519c1adcf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6769221a-1d99-4c17-9828-46ee92be5926": {
      "main": [
        [
          {
            "node": "6c430d53-cbd3-4881-b86b-48707c9e32a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37cfed68-0740-4e77-a1ab-827f8f1eec28": {
      "main": [
        [
          {
            "node": "d7f56edb-cd31-4a53-b390-e910b7c50ce8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c430d53-cbd3-4881-b86b-48707c9e32a5": {
      "main": [
        [
          {
            "node": "fb8881bc-7831-43f8-97f7-4a604a4a9806",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65": {
      "main": [
        [
          {
            "node": "6477cbf0-790d-41ce-8b45-a273e03c9247",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "69394736-5c78-420e-9f03-ac18501cb377": {
      "main": [
        [
          {
            "node": "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

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é ?

Intermédiaire - 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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds11
Catégorie1
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34