Automatisation des réponses automatiques d’absence dans Gmail avec Google Apps Script

La gestion des réponses automatiques d’absence peut rapidement devenir une tâche chronophage, surtout lorsque vous devez les activer manuellement à chaque départ en vacances ou pour une adresse de support. Heureusement, Google Apps Script permet d’automatiser ce processus en configurant une réponse d’absence personnalisée dans Gmail.

Pourquoi utiliser Google Apps Script pour les réponses automatiques ?

L’automatisation via Google Apps Script offre plusieurs avantages :

  • Gain de temps : plus besoin d’activer et désactiver les réponses manuellement.
  • Personnalisation : vous pouvez créer un modèle HTML professionnel pour vos réponses.
  • Flexibilité : il s’adapte en fonction des jours, horaires, et périodes de fermeture de votre entreprise.

Étape 1 : Activer l’API Gmail avancée

Avant de créer votre script, il est nécessaire d’activer l’API Gmail avancée :

  • Accédez à l’éditeur de script : Allez dans Google Workspace > Extensions > Apps Script.
  • Activez l’API Gmail avancée : Cliquez sur “Services avancés de Google” et activez l’API.
  • Activez l’API dans la Console Google Cloud : Suivez le lien dans la fenêtre pour activer “Gmail API” dans la console.

Étape 2 : Création du script de réponse automatique

Nous allons maintenant écrire un script réutilisable pour configurer automatiquement une réponse d’absence personnalisée. Le script inclut un modèle HTML pour les messages d’absence.

Exemple de script Google Apps Script

/**
 * Script pour configurer les réponses de vacances dans Gmail.
 * Réutilisable avec un modèle de message HTML.
 */
function configurerReponseAutomatique() {
  const dateActuelle = new Date();
  const jourDeLaSemaine = dateActuelle.getDay();
  let heureDebut, heureFin;

  if (jourDeLaSemaine === 5) { // Vendredi soir
    heureDebut = new Date(dateActuelle.getFullYear(), dateActuelle.getMonth(), dateActuelle.getDate(), 19, 0).getTime();
    heureFin = new Date(dateActuelle.getFullYear(), dateActuelle.getMonth(), dateActuelle.getDate() + 3, 7, 0).getTime();
  } else if (jourDeLaSemaine >= 0 && jourDeLaSemaine < 5) { // Du lundi au jeudi
    heureDebut = new Date(dateActuelle.getFullYear(), dateActuelle.getMonth(), dateActuelle.getDate(), 19, 0).getTime();
    heureFin = new Date(dateActuelle.getFullYear(), dateActuelle.getMonth(), dateActuelle.getDate() + 1, 7, 0).getTime();
  } else {
    Logger.log("Pas de configuration nécessaire aujourd'hui.");
    return;
  }

  const corpsMessage = creerModeleReponse({
    titre: "Indisponibilité temporaire",
    message: "Nous sommes hors du bureau. Nous reviendrons vers vous dès que possible.",
    contactUrgence: "+33 x xx xx xx xx",
    signature: "Merci pour votre compréhension."
  });

  const parametresReponse = {
    enableAutoReply: true,
    responseSubject: "Service momentanément fermé",
    responseBodyHtml: corpsMessage,
    restrictToContacts: false,
    restrictToDomain: true,
    startTime: heureDebut,
    endTime: heureFin
  };

  try {
    Gmail.Users.Settings.updateVacation(parametresReponse, "me");
    Logger.log("Réponse automatique configurée.");
  } catch (erreur) {
    Logger.log("Erreur lors de la configuration : " + erreur);
  }
}

function creerModeleReponse(options) {
  const { titre, message, contactUrgence, signature } = options;

  return `
<div style="font-family: Arial, sans-serif; padding: 20px; background-color: #f9f9f9;">
  <h2 style="font-size: 18px; color: #333;">${titre}</h2>
  <p style="font-size: 14px; color: #555;">${message}</p>
  <p style="font-size: 14px; color: #555;">
    Pour urgence, contactez-nous au <a href="tel:${contactUrgence}">${contactUrgence}</a>.
  </p>
  <p style="font-size: 14px; color: #555;">${signature}</p>
</div>`;
}

Explication du script

Le script comporte deux fonctions principales :

  • configurerReponseAutomatique : configure la réponse automatique en fonction des jours et heures.
  • creerModeleReponse : génère le message d’absence en HTML.

Conseils pour personnaliser et adapter le script

L’avantage de ce script réside dans sa réutilisabilité. En ajustant les valeurs passées à creerModeleReponse, vous pouvez personnaliser facilement vos messages.

Exemple :

const corpsMessage = creerModeleReponse({
  titre: "Service temporairement fermé",
  message: "Nous reviendrons vers vous dès que possible.",
  contactUrgence: "+33 1 23 45 67 89",
  signature: "Cordialement,"
});

Étape 3 : Lancer la configuration automatique

Pour que la fonction configurerReponseAutomatique soit exécutée automatiquement, il est possible d’utiliser un déclencheur (trigger) dans Google Apps Script. Voici les étapes pour configurer le déclencheur :

1. Ouvrir l’éditeur de script : Allez dans Extensions > Apps Script dans votre Google Workspace.

2. Accéder aux déclencheurs : Cliquez sur l’icône en forme de réveil ou allez dans “Déclencheurs” (Triggers) dans le menu latéral gauche.

3. Ajouter un nouveau déclencheur :

  • Cliquez sur “Ajouter un déclencheur” en bas de la fenêtre.
  • Sélectionnez la fonction configurerReponseAutomatique.
  • Choisissez le déclencheur “Basé sur le temps” (Time-driven trigger).
  • Configurez le déclencheur pour qu’il s’exécute selon votre besoin, par exemple tous les jours à 18h ou tous les vendredis à 18h.

Cela permettra au script de s’exécuter automatiquement à la fin de chaque journée ou avant les week-ends pour activer la réponse automatique d’absence, sans intervention manuelle.

Étape 4 : Tester la configuration

Une fois le déclencheur configuré, assurez-vous de tester votre script en simulant différents scénarios (par exemple, un jour en semaine ou un vendredi). Vous pouvez également exécuter manuellement la fonction configurerReponseAutomatique via l’éditeur de script pour vérifier que la réponse automatique est bien activée dans Gmail.

Découvrir un autre article

Si vous avez trouvé cet article utile, je vous invite à explorer un autre de mes articles : Automatisez vos messages d’absence avec Google Agenda et Gmail. Ce guide vous montre comment utiliser Google Apps Script pour automatiser la gestion des messages d’absence à partir de votre calendrier Google.


Soutenez mon travail

Si cet article vous a été utile et que vous souhaitez soutenir mon travail, vous pouvez me remercier en faisant un don via PayPal. Chaque contribution est grandement appréciée et m’aide à continuer à partager des astuces et conseils sur ce blog. Merci pour votre soutien !

L’Atelier Informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.