Automatisation de Gmail : 8 scripts Google utiles pour automatiser votre Gmail

Automatiser Gmail En Vedette

Gmail, en soi, est déjà un client de messagerie très puissant. Avec l’aide des filtres, vous pouvez mettre en place une automatisation pour mieux organiser votre boîte de réception. Cependant, pour les utilisateurs avancés, la fonction de filtre n’est pas suffisante par rapport à l’écriture de scripts personnalisés. Ces huit scripts Google peuvent encore automatiser votre Gmail.

Astuce : essayez une autre astuce facile pour Gmail : configurez le transfert automatique dans Gmail.

Table des matières

    1. Suppression automatique des emails après un nombre de jours X
    1. Archiver tous les anciens emails
    1. Recevoir des notifications SMS pour les emails importants
    1. Créer un résumé de vos emails
    1. Enregistrer des emails au format PDF dans Google Drive
    1. Envoyer automatiquement des emails de suivi
    1. Étiqueter les emails en fonction des mots-clés du sujet
    1. Transférer certains emails à plusieurs autres adresses
  • Questions Fréquemment Posées

1. Suppression automatique des emails après un nombre de jours X

Très souvent après avoir lu un email, nous les laissons dans notre boîte de réception, peu importe leur utilité. Maintenant que Google a mis une limite sur l’espace, vous voudrez peut-être nettoyer votre boîte de réception et vous débarrasser de ces emails inutiles. Le script suivant peut vérifier les emails avec l’étiquette “Delete Me” et les supprimer après “X” nombre de jours.

  1. Assurez-vous que vous êtes connecté à votre compte Google, allez dans Google Scripts et créez un nouveau projet.

Automatiser Gmail Nouveau Projet

  1. Collez le script suivant et enregistrez-le. Vous pouvez changer le nombre de jours (la variable delayDays) qui passent avant qu’il ne supprime les messages emails de votre boîte de réception.
function auto_delete_mails(){  
  var label = GmailApp.getUserLabelByName("Delete Me");  
if(label == null){  
    GmailApp.createLabel('Delete Me');  
}  
else{  
    var delayDays =2; // Entrez le nombre de jours avant que les messages soient déplacés vers la corbeille     
    var maxDate =new Date();  
    maxDate.setDate(maxDate.getDate()-delayDays);  
    var threads = label.getThreads();  
for(var i =0; i < threads.length; i++){  
if(threads[i].getLastMessageDate()
  1. Créez un nouveau déclencheur pour exécuter votre script selon un calendrier. Ouvrez “l’icône du calendrier dans le menu de gauche -> Déclencheurs -> Ajouter un Déclencheur.”

Automatiser Gmail Déclencheurs

  1. Personnalisez les paramètres de votre déclencheur pour exécuter le script chaque heure (ou aussi souvent que vous le souhaitez), puis faites défiler vers le bas et cliquez sur “Enregistrer.”

Automatiser Gmail Ajouter Déclencheur

Une fois que ce script s’exécute, il créera une nouvelle étiquette, “Delete Me,” dans votre compte Gmail. Étiquetez vos emails indésirables avec cette étiquette, et ils seront supprimés après le nombre de jours spécifié dans votre script.

Astuce : Si vos emails semblent devenir ingérables, consultez notre avis sur SaneBox et voyez si cela peut vous aider à gérer vos emails.

2. Archiver tous les anciens emails

Si vous voulez une option moins dangereuse que de supprimer des emails, vous pouvez créer un script pour archiver tous vos anciens emails en suivant les étapes ci-dessous.

  1. Créez un nouveau script Google avec le code suivant :
function archiveOldEmails(){  
  // Obtenez tous les fils dans la boîte de réception  
  var threads = GmailApp.getInboxThreads();  
  
  // Parcourez tous les fils  
for(var i =0; i < threads.length; i++){  
    var thread= threads[i];  
    var messages =thread.getMessages();  
  
    // Parcourez tous les messages dans le fil  
for(var j =0; j < messages.length; j++){  
      var message = messages[j];  
      var age =(new Date() - message.getDate()) / (1000 * 60 * 60 * 24);  
  
      // Si le message est plus vieux que 30 jours, archivez-le  
if(age >30){  
thread.moveToArchive();  
}  
}  
}  
}
  1. Créez un déclencheur (comme montré ci-dessus) pour exécuter le script tous les jours.

À l’heure choisie, le script s’exécutera et déplacera les emails de votre boîte de réception vers l’archive. Ces emails archivés seront toujours disponibles dans la section “Tous les mails”.

Bon à savoir : si vous ne vous souciez pas des emails dans votre boîte de réception et que vous souhaitez simplement tout nettoyer rapidement, ce guide vous montre comment marquer tous vos emails non lus comme lus et les supprimer.

3. Recevoir des notifications SMS pour les emails importants

Ce script Google utilise la fonctionnalité SMS de Google Calendar pour vous envoyer un SMS lorsque vous recevez un email important.

  1. Créez un nouveau script Google avec le code suivant :
function Gmail_send_sms(){  
  var label = GmailApp.getUserLabelByName("Send Text");  
if(label == null){  
    GmailApp.createLabel('Send Text');  
}  
else{  
    var threads = label.getThreads();  
    var now =new Date().getTime();  
for(var i =0; i < threads.length; i++){  
      var message = threads[i].getMessages()[0];  
      var from= message.getFrom();  
      var subject = message.getSubject();  
      CalendarApp.createEvent(subject,new Date(now+60000),new Date(now+60000),{location: from}).addSmsReminder(0);  
}  
    label.removeFromThreads(threads);  
}  
}
  1. Enregistrez-le et créez un déclencheur pour qu’il s’exécute toutes les cinq minutes.
  2. Créez un nouveau filtre Gmail qui ajoute automatiquement l’étiquette “Send Text” aux emails entrants que vous avez choisis. Dans Gmail, cliquez sur l’icône des options de recherche dans la barre de recherche en haut.

Automatiser Gmail 2 Options de Barre de Recherche

  1. Personnalisez les critères pour les notifications SMS qui vous alerteront que vous avez des emails importants dans votre boîte de réception, puis cliquez sur “Créer un filtre.”

Automatiser Gmail 2 Filtres de Recherche

  1. Cochez “Appliquer l’étiquette,” choisissez “Send Text” et cliquez sur “Créer un filtre.”

Automatiser Gmail 2 Filtre Envoyer un SMS

Le script vérifiera votre boîte de réception toutes les cinq minutes. Lorsqu’il détecte un email avec l’étiquette “Send Text,” il créera immédiatement un événement dans Google Calendar, ce qui déclenchera le SMS.

Astuce : vous pouvez également envoyer des messages SMS depuis votre PC.

4. Créer un résumé de vos emails

Au lieu de lire tous vos emails individuellement, vous pouvez écrire un script pour créer un résumé unique de vos emails non lus.

  1. Créez un nouveau script Google avec le code suivant :
function createEmailSummary(){  
    // Rechercher des emails non lus  
    var threads = GmailApp.search("is:unread");  
    var summary ="Emails non lus:\n";  
for(var i =0; i < threads.length; i++){  
      var messages = threads[i].getMessages();  
for(var j =0; j < messages.length; j++){  
        var message = messages[j];  
        summary += message.getFrom() + ": " + message.getSubject() + "\n";  
}  
}  
  
    // Rechercher des emails avec des mots-clés spécifiques dans le sujet  
    var threads = GmailApp.search("subject:(réunion importante)");  
    summary +="\nEmails avec le mot-clé 'réunion importante' dans le sujet:\n";  
for(var i =0; i < threads.length; i++){  
      var messages = threads[i].getMessages();  
for(var j =0; j < messages.length; j++){  
        var message = messages[j];  
        summary += message.getFrom() + ": " + message.getSubject() + "\n";  
}  
}  
  
    // Vous pouvez ajouter plus de critères de recherche ici  
    // ...  
  
    // Envoyer le résumé sous forme d'email  
    GmailApp.sendEmail("[email protected]","Résumé des emails", summary);  
}
  1. Changez “[email protected]” par votre email.
  2. Créez un nouveau déclencheur pour exécuter le script chaque jour.

Automatiser Gmail 4 Exemple de Résumé

Lorsque le script s’exécute, il vous enverra un email qui inclut combien de chaque type d’email vous n’avez pas encore lu. Le script ci-dessus est un bon point de départ - il compte le nombre d’emails avec “réunion importante” dans le sujet. Vous pouvez ajuster le script pour compter selon vos critères de recherche souhaités.

5. Enregistrer des emails au format PDF dans Google Drive

Si vous avez un email que vous souhaitez archiver dans Google Drive, vous pouvez utiliser un script Google pour l’enregistrer au format PDF dans votre compte Google Drive. Le script suivant enregistrera tous les messages dans un fil d’email en un seul fichier PDF dans votre Google Drive. Si l’email a des pièces jointes, il créera un dossier et stockera les messages et pièces jointes à l’intérieur.

  1. Créez un nouveau script Google avec le code suivant :
function save_Gmail_as_PDF(){  
  // Obtenez l'étiquette "Save As PDF" ou créez-la si elle n'existe pas  
  var label = GmailApp.getUserLabelByName("Save As PDF");    
  if(label == null){  
    label = GmailApp.createLabel('Save As PDF');  
  }  
  
  // Obtenez les fils avec l'étiquette  
  var threads = label.getThreads();    
  for (var i = 0; i < threads.length; i++) {      
    var messages = threads[i].getMessages();  
    var subject = messages[0].getSubject();  
    var bodys = [];  
    // Parcourez tous les messages dans le fil  
    for(var j = 0; j < messages.length; j++){    
      var message = messages[j];  
      bodys.push({  
        body: message.getPlainBody(),  
        from: message.getFrom(),  
      });  
      var attachments  = message.getAttachments();  
      var temp_attach = message.getAttachments();  
      if(temp_attach.length > 0){  
        for(var k =0; k < temp_attach.length; k++){  
          attachments.push(temp_attach[k]);  
        }  
      }  
    }  
    // Créer un document Google Docs à partir du corps du message  
    var bodyDoc = DocumentApp.create(subject);  
    var bodyDocId = bodyDoc.getId();  
    var bodyDocFile = DriveApp.getFileById(bodyDocId);  
    var bodyDocBody = bodyDoc.getBody();  
    bodyDocBody.setText(bodys.map(obj => `De : ${obj.from}\n${obj.body}`).join('\n\n'));  
    bodyDoc.saveAndClose();  
  
    // Convertir le document Google Docs en PDF  
    var blob = bodyDocFile.getAs('application/pdf');  
    var pdfFile = DriveApp.createFile(blob);  
  
    // S'il y a des pièces jointes  
    if(attachments.length > 0){  
      // Créer un dossier dans Drive avec le sujet du message  
      var folder = DriveApp.createFolder(subject);  
      for (var j = 0; j < attachments.length; j++) {  
        folder.createFile(attachments[j]);  
      }  
      // Ajouter le fichier PDF du corps du message au dossier  
      folder.createFile(pdfFile);  
    }  
    // Supprimer le document Google Docs de Google Drive  
    DriveApp.getFileById(bodyDocId).setTrashed(true);  
    // Retirer l'étiquette du fil  
    label.removeFromThread(threads[i]);  
  }  
}
  1. Enregistrez-le et définissez un déclencheur pour qu’il s’exécute à intervalles réguliers.

Automatiser Gmail 5 Email Enregistré Pdf

Lorsque vous souhaitez enregistrer un email et ses pièces jointes dans Google Drive, il vous suffit de l’étiqueter avec l’étiquette “Save to PDF”. Le corps de chaque email et l’expéditeur, dans chaque fil, apparaîtra dans l’ordre, en commençant par le plus ancien.

Bon à savoir : vous n’êtes pas sûr du nombre de fichiers que vous avez dans votre dossier Google Drive ? Ce guide vous montre comment le découvrir.

6. Envoyer automatiquement des emails de suivi

Vous ne recevrez pas toujours une réponse rapide à vos emails. Pour résoudre ce problème, vous pouvez envoyer un email de suivi pour rappeler aux destinataires de l’email. Au lieu de rédiger chaque suivi manuellement, vous pouvez les envoyer automatiquement avec un script !

  1. Créez un nouveau script Google avec le code suivant :
function sendFollowupEmails(){  
  const startDate =new Date('2023-01-01');  
  
  const daysAgo =3;  
  var dateInPast =new Date();  
  dateInPast.setDate(dateInPast.getDate() - daysAgo);  
  
  var threads = GmailApp.search("is:sent before:" + dateInPast.toLocaleDateString() + " after:" + startDate.toLocaleDateString());  
  
for(var i =0; i < threads.length; i++){  
    var conversation = threads[i];  
  
    var foundResponse = false;  
    // Si un fil envoyé a plus d'un email, nous n'avons pas besoin de faire un suivi  
    // car soit nous avons déjà suivi soit ils ont répondu.  
    if (conversation.getMessages().length > 1) {  
      foundResponse = true;  
    }  
  
    if (!foundResponse) {  
      var body = "Bonjour, je voulais juste faire un suivi de mon email précédent. Si je ne reçois pas de réponse, je vais supposer que vous n'êtes pas intéressé. \n\nCordialement,\n[Votre Nom]";  
      conversation.replyAll(body);  
    }  
  }  
}
  1. Personnalisez quelques éléments dans ce script :
  • Changez startDate pour une date plus proche d’aujourd’hui afin de ne pas raviver de très vieux fils.
  • Changez daysAgo pour personnaliser combien de temps vous voulez qu’un email soit avant d’envoyer un suivi.
  • Changez [Votre Nom] par votre nom.
  1. Enregistrez-le et définissez un déclencheur pour qu’il s’exécute tous les sept jours.

Continuez à envoyer des emails normalement, et le script s’occupera automatiquement des suivis.

7. Étiqueter les emails selon des mots-clés du sujet

Si vous êtes submergé par des emails mais que vous ne souhaitez pas en supprimer la plupart, vous pouvez utiliser ce script pour les étiqueter et les organiser en fonction de leur contenu.

  1. Créez un nouveau script Google avec le code suivant :
function categorizeEmails(){  
  const emailsToGet =50;  
  var keywords ={  
"promo": "Promotions",  
"offre": "Promotions",  
"remise": "Promotions",  
"newsletter": "Newsletters",  
"action": "À faire",  
"requis": "À faire",  
"expédié": "Commandes",  
"livré": "Commandes",  
"reçu": "Commandes",  
"facture": "Commandes"  
};  
  
  var threads = GmailApp.getInboxThreads(0, emailsToGet);  
  
for(var i =0; i < threads.length; i++){  
    var subject = threads[i].getFirstMessageSubject().toLowerCase();  
    var labels = GmailApp.getUserLabels();  
    var foundLabel = false;  
  
for(var keywordin keywords){  
if(subject.indexOf(keyword)!== -1){  
for(var j =0; j < labels.length; j++){  
if(labels[j].getName()=== keywords[keyword]){  
            threads[i].addLabel(labels[j]);  
            foundLabel = true;  
break;  
}  
}  
  
if(!foundLabel){  
          GmailApp.createLabel(keywords[keyword]);  
          threads[i].addLabel(GmailApp.getUserLabelByName(keywords[keyword]));  
}  
  
break;  
}  
}  
}  
}
  1. Vous pouvez personnaliser le nombre d’emails affectés avec la variable emailsToGet ou les mots-clés et étiquettes avec la variable keywords.
  2. Enregistrez le script et définissez un déclencheur pour qu’il s’exécute toutes les quelques minutes ou heures.

Automatiser Gmail 7 Emails Étiquetés Par Sujet

Cela vous permet de rester à jour en ne visualisant que les emails avec une étiquette spécifique. Ce script fonctionne bien pour la plupart de vos emails, vous évitant de simplement les supprimer.

Astuce : configurez plusieurs signatures dans Gmail et passez rapidement de l’une à l’autre pour différents publics.

8. Transférer certains emails à plusieurs autres adresses

Alors que Gmail a une méthode intégrée pour transférer des emails à une autre adresse email, il ne peut pas facilement transférer des emails avec un certain critère à plusieurs adresses email, mais ce script le peut.

  1. Créez un nouveau script avec le code suivant :
function emailForwarding(){  
  const emailsToGet =50;  
  var criteria =[  
{  
      sender: "[email protected]",  
      subjectContains: "facture",  
      forwardTo: ["[email protected]","[email protected]"]  
},  
{  
      sender: "[email protected]",  
      subjectContains: "urgent",  
      forwardTo: ["[email protected]","[email protected]"]  
}  
];  
  
  var label = GmailApp.getUserLabelByName("Forwarded");  
if(!label){  
    label = GmailApp.createLabel("Forwarded");  
}  
  
  var threads = GmailApp.search("is:inbox",0, emailsToGet);  
for(var i =0; i < threads.length; i++){  
    var messages = threads[i].getMessages();  
    console.log('id du fil:', threads[i].getId());  
for(var j =0; j < messages.length; j++){  
  
      var message = messages[j];  
      var sender = message.getFrom();  
      var subject = message.getSubject().toLowerCase();  
      console.log('expéditeur', sender,'sujet', subject);  
for(var k =0; k < criteria.length; k++){  
        var rule = criteria[k];  
if(sender.indexOf(rule.sender)!= -1 && subject.indexOf(rule.subjectContains)!= -1){  
          var recipient = rule.forwardTo.join(",");  
          GmailApp.sendEmail(recipient, subject, message.getPlainBody(),{cc: sender});  
          threads[i].addLabel(label);  
}  
}  
}  
}  
}
  1. Personnalisez les critères selon vos besoins.
  2. Créez un déclencheur qui fera fonctionner le script toutes les quelques minutes ou heures.

Votre Gmail transférera automatiquement les emails qui correspondent à vos critères à deux adresses email ou plus.

Bon à savoir : Gmail dispose d’une méthode intégrée pour répondre automatiquement aux emails si vous êtes en vacances ou hors du bureau.

Questions Fréquemment Posées

Est-ce que Google Apps Script est gratuit à utiliser ?

Oui, Google Apps Script est gratuit à utiliser tant que vous avez un compte Gmail. Cependant, il y a des dizaines de quotas et de limitations sur votre utilisation. Google peut changer ces limites à tout moment, mais au moment de la rédaction, elles incluent près de 40 fonctionnalités, telles que les documents créés, les emails lus/écrits, les tableurs créés, et le temps total d’exécution des déclencheurs. Les comptes gratuits ont une très faible limite, tandis que Google Workspace dispose d’une limite beaucoup plus élevée.

Puis-je utiliser Google Apps Script pour accéder à des données d’autres services ?

Oui, Google Apps Script n’est pas limité à travailler avec les services Google. Vous pouvez accéder à des données provenant d’autres services non-Google sur Internet (par exemple, l’API Pokémon) en utilisant des classes intégrées telles que UrlFetchApp comme suit :

var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto"); Logger.log(response.getContentText()); // Tous les détails de Ditto seraient enregistrés

Que dois-je faire si je rencontre des erreurs dans mon Google Apps Script ?

Vous pouvez déboguer votre code pour identifier et corriger l’erreur. Heureusement, Google Apps Script dispose d’un débogueur intégré que vous pouvez utiliser pour résoudre votre code. Pour l’utiliser, ouvrez simplement l’éditeur de script et cliquez sur Déboguer. À partir de là, vous pouvez définir des points d’arrêt, passer à travers votre code, et inspecter les variables pour aider à identifier d’éventuels problèmes.

Crédit image : Pexels. Toutes les captures d’écran de Brandon Li.