Workflow n8n

Automatisation Gmail avec n8n : envoi de résumés d'actualités

Ce workflow n8n a pour objectif d'automatiser l'envoi de résumés d'actualités et de tâches à partir de différentes sources, notamment un flux RSS, des emails Gmail et une liste de tâches Todoist. Dans un contexte professionnel où le temps est précieux, cette automatisation permet de centraliser les informations essentielles et de les envoyer par email, facilitant ainsi la prise de décision rapide. Les utilisateurs peuvent bénéficier de cette solution pour rester informés sans avoir à consulter chaque source individuellement.

  • Étape 1 : Le workflow commence par un déclencheur programmé qui active le processus à intervalles réguliers.
  • Étape 2 : Il récupère les articles récents du flux RSS de Times of India via le nœud 'RSS Feed: Times of India'.
  • Étape 3 : Ensuite, il utilise le nœud 'Gmail: Fetch Emails' pour extraire les emails pertinents selon des filtres définis.
  • Étape 4 : Parallèlement, le nœud 'TodoList: Fetch Tasks' collecte les tâches à partir de Todoist.
  • Étape 5 : Les données récupérées sont ensuite fusionnées et formatées dans le nœud 'Format Digest: Merge & Style Data', où un code JavaScript permet de styliser le contenu.
  • Étape 6 : Enfin, le workflow envoie le résumé par email à l'aide du nœud 'Gmail: Send Digest'. Cette automatisation n8n offre des bénéfices significatifs en termes de gain de temps et d'efficacité, permettant aux utilisateurs d'accéder rapidement à des informations cruciales.
Tags clés :automatisationGmailRSSTodoistworkflow
Catégorie: Scheduled · Tags: automatisation, Gmail, RSS, Todoist, workflow0

Workflow n8n Gmail, RSS, Todoist : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Gmail, RSS, Todoist : détail des nœuds

  • RSS Feed: Times of India

    Ce noeud lit les flux RSS du site Times of India.

  • Gmail: Fetch Emails

    Ce noeud récupère les emails depuis un compte Gmail selon des filtres spécifiés.

  • TodoList: Fetch Tasks

    Ce noeud extrait les tâches d'une liste Todoist en fonction des filtres et de la limite définie.

  • Format Digest: Merge & Style Data

    Ce noeud fusionne et stylise les données à l'aide d'un code JavaScript.

  • Gmail: Send Digest

    Ce noeud envoie un message digest par email via Gmail à l'adresse spécifiée.

  • Schedule Trigger

    Ce noeud déclenche le workflow selon un calendrier défini.

  • Merge

    Ce noeud fusionne les données provenant de plusieurs entrées.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "Glb4VNoQI44GT0p9",
  "meta": {
    "instanceId": "a1f3364de0f3da48758a2641efb07c3b0d216a3a7cc93596fbed2316d6dea4ad",
    "templateCredsSetupCompleted": true
  },
  "name": "My workflow 4",
  "tags": [],
  "nodes": [
    {
      "id": "909a08a4-4cec-4987-9379-d4cdc2d92a53",
      "name": "RSS Feed: Times of India",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        680,
        240
      ],
      "parameters": {
        "url": "https://timesofindia.indiatimes.com/rssfeeds/-2128936835.cms",
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "471cc8ab-0074-4e25-b952-1899574398a9",
      "name": "Gmail: Fetch Emails",
      "type": "n8n-nodes-base.gmail",
      "position": [
        700,
        440
      ],
      "webhookId": "85735980-07e5-418b-b029-44bb9825ac9b",
      "parameters": {
        "filters": {},
        "operation": "getAll"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "WbGCG42FAaeECe0u",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "07a33739-0181-4ead-87bd-c1f0c3fc4999",
      "name": "TodoList: Fetch Tasks",
      "type": "n8n-nodes-base.todoist",
      "position": [
        700,
        620
      ],
      "parameters": {
        "limit": 5,
        "filters": {},
        "operation": "getAll"
      },
      "credentials": {
        "todoistApi": {
          "id": "q3NiAT93rPChns6G",
          "name": "Todoist account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "af295aad-f7e7-4d38-80e5-b79b79637b5f",
      "name": "Format Digest: Merge & Style Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1280,
        440
      ],
      "parameters": {
        "jsCode": "const newsItems = $input.all().map(item => item.json);\nconst emails = $(\"Gmail: Fetch Emails\").all().map(item => item.json);\nconst tasks = $(\"TodoList: Fetch Tasks\").all().map(item => item.json);\n\n// Select top 5 items from each\nconst topNews = newsItems.slice(0, 5).map(item => ({\n  title: item.title,\n  link: item.link\n}));\n\nconst latestEmails = emails.slice(0, 5).map(item => ({\n  subject: item.Subject,\n  snippet: item.snippet\n}));\n\nconst topTasks = tasks.slice(0, 5).map(task => ({\n  content: task.content,\n  url: task.url,\n  emoji: task.emoji || '🔴',\n  due: task.due\n}));\n\n// Create the final JSON object with email subject and a formatted email body with inline CSS\nconst result = {\n  meta: {\n    generated_at: new Date().toISOString(),\n    time_emoji: \"🌞\"\n  },\n  email: {\n    subject: `🌞 Daily Digest • 📋 ${topTasks.length} Tasks ⚠️ • 📰 ${topNews.length} News Updates`,\n    body: `\n      <div style=\"max-width:600px; margin:0 auto; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color:#333; background:#f4f7f9; padding:20px; border:1px solid #e1e8ed; border-radius:8px;\">\n         <div style=\"text-align:center; padding-bottom:20px;\">\n             <h1 style=\"margin:0; font-size:28px; color:#0073e6;\">Daily Digest</h1>\n             <p style=\"margin:10px 0 0; font-size:16px; color:#666;\">Your automated daily summary</p>\n         </div>\n         <hr style=\"border:none; border-top:1px solid #ddd; margin:20px 0;\">\n         <div style=\"margin-bottom:20px;\">\n             <h2 style=\"font-size:20px; color:#0073e6; margin-bottom:10px;\">Tasks (${topTasks.length})</h2>\n             <ul style=\"list-style:none; padding:0;\">\n               ${topTasks.map(task => `\n                 <li style=\"margin-bottom:10px; padding:10px; background:#fff; border:1px solid #e1e8ed; border-radius:4px;\">\n                   <span style=\"font-size:18px; margin-right:10px;\">${task.emoji}</span> \n                   <span style=\"font-size:16px;\">${task.content}</span> \n                   <span style=\"color:#999; font-size:14px; margin-left:5px;\">(Due: ${task.due})</span>\n                   <a href=\"${task.url}\" style=\"text-decoration:none; color:#0073e6; float:right;\">View Task</a>\n                 </li>\n               `).join('')}\n             </ul>\n         </div>\n         <div style=\"margin-bottom:20px;\">\n             <h2 style=\"font-size:20px; color:#0073e6; margin-bottom:10px;\">News (${topNews.length})</h2>\n             <ul style=\"list-style:none; padding:0;\">\n               ${topNews.map(news => `\n                 <li style=\"margin-bottom:10px; padding:10px; background:#fff; border:1px solid #e1e8ed; border-radius:4px;\">\n                   <a href=\"${news.link}\" style=\"text-decoration:none; font-size:16px; color:#0073e6;\">${news.title}</a>\n                 </li>\n               `).join('')}\n             </ul>\n         </div>\n         <div style=\"margin-bottom:20px;\">\n             <h2 style=\"font-size:20px; color:#0073e6; margin-bottom:10px;\">Emails (${latestEmails.length})</h2>\n             <ul style=\"list-style:none; padding:0;\">\n               ${latestEmails.map(email => `\n                 <li style=\"margin-bottom:10px; padding:10px; background:#fff; border:1px solid #e1e8ed; border-radius:4px;\">\n                   <strong style=\"font-size:16px; color:#0073e6;\">${email.subject}</strong>\n                   <p style=\"margin:5px 0 0; font-size:14px; color:#666;\">${email.snippet}</p>\n                 </li>\n               `).join('')}\n             </ul>\n         </div>\n         <div style=\"text-align:center; font-size:12px; color:#aaa; margin-top:20px;\">\n             <p>Digest generated at: ${new Date().toLocaleString()}</p>\n         </div>\n      </div>\n    `\n  },\n  tasks: topTasks,\n  news: topNews,\n  emails: latestEmails\n};\n\nreturn [{ json: result }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5399bee1-d0e7-4ed7-af7f-d0ddccb00b4d",
      "name": "Gmail: Send Digest",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1540,
        440
      ],
      "webhookId": "3cd541af-51d4-465e-803d-a74572a15d83",
      "parameters": {
        "sendTo": "youremail@gmail.com",
        "message": "={{ $json.email.body }}",
        "options": {},
        "subject": "={{ $json.email.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "WbGCG42FAaeECe0u",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "9f398bc2-e84c-4df4-8958-aaa1d7c2ed37",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        60
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9984d3c0-7469-4b79-8d31-1a06b8dd23b6",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1020,
        440
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "550f65e6-68ec-449a-9fb5-241acba42455",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Format Digest: Merge & Style Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "RSS Feed: Times of India",
            "type": "main",
            "index": 0
          },
          {
            "node": "Gmail: Fetch Emails",
            "type": "main",
            "index": 0
          },
          {
            "node": "TodoList: Fetch Tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Fetch Emails": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "TodoList: Fetch Tasks": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "RSS Feed: Times of India": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Digest: Merge & Style Data": {
      "main": [
        [
          {
            "node": "Gmail: Send Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Gmail, RSS, Todoist : pour qui est ce workflow ?

Ce workflow s'adresse aux professionnels et aux équipes qui souhaitent optimiser leur gestion de l'information. Idéal pour les PME et les travailleurs indépendants, il nécessite un niveau technique intermédiaire pour la mise en place et la personnalisation.

Workflow n8n Gmail, RSS, Todoist : problème résolu

Ce workflow résout le problème de la surcharge d'informations en automatisant la collecte et la synthèse des actualités et des tâches. Les utilisateurs n'ont plus à passer du temps à consulter manuellement chaque source d'information, ce qui réduit le risque de manquer des éléments importants. Après mise en place, ils reçoivent un résumé clair et concis directement dans leur boîte mail, améliorant ainsi leur productivité.

Workflow n8n Gmail, RSS, Todoist : étapes du workflow

Étape 1 : Le workflow est déclenché selon un calendrier prédéfini.

  • Étape 1 : Il récupère les dernières nouvelles du flux RSS de Times of India.
  • Étape 2 : Il extrait les emails pertinents via Gmail.
  • Étape 3 : Il collecte les tâches de Todoist.
  • Étape 4 : Les données sont fusionnées et formatées pour créer un résumé.
  • Étape 5 : Le résumé est envoyé par email aux destinataires spécifiés.

Workflow n8n Gmail, RSS, Todoist : guide de personnalisation

Pour personnaliser ce workflow, commencez par modifier l'URL du flux RSS dans le nœud 'RSS Feed: Times of India' selon vos préférences. Vous pouvez également ajuster les filtres dans le nœud 'Gmail: Fetch Emails' pour cibler des emails spécifiques. Dans le nœud 'TodoList: Fetch Tasks', adaptez les paramètres pour récupérer le nombre de tâches souhaité. Enfin, personnalisez le contenu du message dans le nœud 'Gmail: Send Digest' pour qu'il corresponde à votre style de communication. Assurez-vous de tester le flux pour garantir son bon fonctionnement et d'ajuster les règles de déclenchement selon vos besoins.