Outils
Gmail, Google Apps Script, API Claude
Prix
Apps Script gratuit, API Claude à l'usage
Temps
15 min
Niveau
Copier-coller, débutant

L'idée : au lieu d'ouvrir trente e-mails en arrivant, vous lisez un seul message qui dit ce qui est urgent, ce qui attend une réponse et ce qui peut attendre. Tout se passe dans votre compte Google, avec un compte Gmail personnel ou Google Workspace.

Préparer la clé et le script

  1. Créer une clé d'API ClaudeConnectez-vous à la Console Claude, ajoutez un moyen de paiement et créez une clé. Une clé d'API, c'est un mot de passe qui permet à un programme d'utiliser Claude : ne la collez jamais dans un e-mail ni dans le code.
  2. Créer un projet Apps ScriptOuvrez script.google.com avec le compte Google de la boîte à résumer, puis créez un nouveau projet.
  3. Ranger la clé dans les propriétés du scriptÀ gauche, ouvrez « Paramètres du projet », puis « Propriétés du script ». Ajoutez une propriété nommée CLAUDE_API_KEY avec votre clé comme valeur, et enregistrez.
  4. Coller le scriptRemplacez tout le contenu du fichier Code.gs par le code ci-dessous, puis enregistrez. Vous pouvez adapter la consigne et la recherche Gmail en haut du fichier.
    Code.gs
    // Recherche Gmail : boîte de réception, dernières 24h, sans promotions ni réseaux sociaux
    const RECHERCHE = 'in:inbox newer_than:1d -category:promotions -category:social';
    const MAX_FILS = 30;
    const CONSIGNE = "Tu es mon assistant. Voici les e-mails reçus depuis hier. " +
      "Fais un résumé en français, en trois parties : 1. Urgent (à traiter aujourd'hui), " +
      "2. Attend une réponse de ma part, 3. Pour information. " +
      "Une ligne par e-mail : expéditeur, sujet, ce qu'il faut faire. N'invente rien.";
    
    function resumeDuMatin() {
      const cle = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
      const fils = GmailApp.search(RECHERCHE, 0, MAX_FILS);
      if (fils.length === 0) return;
    
      const mails = fils.map(function (fil) {
        const msg = fil.getMessages().pop();
        return 'De : ' + msg.getFrom() + '\nObjet : ' + msg.getSubject() +
          '\n' + msg.getPlainBody().slice(0, 1500);
      }).join('\n\n---\n\n');
    
      const reponse = UrlFetchApp.fetch('https://api.anthropic.com/v1/messages', {
        method: 'post',
        contentType: 'application/json',
        headers: { 'Authorization': 'Bearer ' + cle, 'anthropic-version': '2023-06-01' },
        payload: JSON.stringify({
          model: 'claude-haiku-5-5',
          max_tokens: 2000,
          messages: [{ role: 'user', content: CONSIGNE + '\n\n' + mails }]
        }),
        muteHttpExceptions: true
      });
      if (reponse.getResponseCode() !== 200) throw new Error(reponse.getContentText());
    
      const texte = JSON.parse(reponse.getContentText()).content
        .filter(function (bloc) { return bloc.type === 'text'; })
        .map(function (bloc) { return bloc.text; })
        .join('\n');
      MailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'Résumé de vos e-mails', texte);
    }

Tester puis programmer

  1. Lancer un premier essaiChoisissez la fonction resumeDuMatin en haut de l'éditeur et cliquez sur « Exécuter ». Google vous demande d'autoriser le script à lire vos e-mails, à se connecter à un service externe et à envoyer un e-mail en votre nom : c'est votre propre script, mais lisez la liste avant d'accepter. Le résumé arrive dans votre boîte.
  2. Le programmer chaque matinÀ gauche, ouvrez « Déclencheurs » (l'icône de réveil), puis « Ajouter un déclencheur ». Choisissez la fonction resumeDuMatin, un déclencheur basé sur le temps, quotidien, entre 7h et 8h, et enregistrez. Google lance le script à une heure fixe dans ce créneau.

Ce qu'il faut savoir

  • Le script ne lit que le dernier message de chaque conversation et ses 1 500 premiers caractères : c'est voulu, pour limiter le coût. Augmentez ces valeurs si besoin.
  • Le résumé peut se tromper ou oublier un détail. Il sert à trier, pas à remplacer la lecture d'un e-mail important.
  • Avec un compte Gmail gratuit, Google limite chaque exécution à 6 minutes et le temps total des déclencheurs à 90 minutes par jour, largement assez ici.

Vos e-mails partent chez Anthropic. Le contenu est envoyé à l'API Claude pour être résumé. Anthropic indique ne pas utiliser par défaut les données de ses produits commerciaux pour entraîner ses modèles, mais excluez de la recherche les e-mails sensibles (santé, données de clients sous contrat de confidentialité). Gardez la clé dans les propriétés du script, jamais dans le code, et ne partagez pas ce projet : toute personne qui y a accès voit la clé.

Sources

Vous voulez aller plus loin, avec un tri automatique, des brouillons de réponse ou un envoi sur Slack ? C'est le genre d'automatisation que je mets en place.