Optimisation du processus de configuration de réponses automatiques dans Gmail avec Google Apps Script

La gestion des réponses automatiques d’absence peut rapidement devenir une tâche fastidieuse, notamment si vous devez les configurer manuellement à chaque départ en vacances ou pour une adresse de support. Heureusement, Google Apps Script offre la possibilité d’automatiser ce processus en mettant en place une réponse automatique d‘absence personnalisée directement dans Gmail.

Dans cet article, nous allons vous guider étape par étape pour créer un script réutilisable et personnalisable, en utilisant un modèle HTML pour un message d’absence professionnel.

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

L’automatisation des réponses automatiques d’absence via Google Apps Script présente plusieurs avantages :

Gain de temps : Plus besoin d’activer et de désactiver manuellement les réponses automatiques.

Personnalisation : Vous pouvez définir un modèle HTML sophistiqué pour vos réponses.

Flexibilité : Adaptable selon les jours de la semaine, les horaires de travail, et même les périodes de fermeture d’entreprise.

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

Avant de commencer à écrire le script, vous devez activer l’API Gmail avancée :

1. Ouvrir l’éditeur de script : Accédez à Google Workspace, puis allez dans Extensions > Apps Script.

2. Activer l’API Gmail avancée : Cliquez sur “Services avancés de Google” et activez l’API Gmail.

3. Activer l’API dans la Console Google Cloud : Suivez le lien en bas de la fenêtre et activez “Gmail API” dans la console.

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

Passons maintenant à l’écriture du script permettant de configurer la réponse automatique tout en utilisant un modèle réutilisable.

Le code complet du script

/**
 * Script pour la configuration automatique des réponses de vacances dans Gmail.
 * Ce script est conçu pour être réutilisable et facilement personnalisable en utilisant un modèle de message HTML.
 * 

 */

// Fonction principale pour configurer la réponse automatique de vacances
function configurerReponseAutomatique() {
  const dateNow = new Date();
  const dayOfWeek = dateNow.getDay(); // 0 = dimanche, 1 = lundi, ..., 5 = vendredi, 6 = samedi
  
  // Définir les horaires de début et de fin
  let startTime, endTime;

  if (dayOfWeek === 5) { // Vendredi soir
    startTime = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 19, 0, 0).getTime();
    endTime = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate() + 3, 7, 0, 0).getTime(); // Lundi matin 7h00
  } else if (dayOfWeek >= 0 && dayOfWeek < 5) { // Semaine du lundi au jeudi
    startTime = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 19, 0, 0).getTime();
    endTime = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate() + 1, 7, 0, 0).getTime(); // Le lendemain matin 7h00
  } else {
    Logger.log("Aucune configuration de réponse automatique n'est nécessaire aujourd'hui.");
    return;
  }

  // Obtenez le modèle de réponse automatique
  const vacationBody = creerModeleReponse({
    titre: "Nous sommes actuellement indisponibles",
    message: "Notre équipe est actuellement en dehors du bureau. Nous reviendrons vers vous dès que possible.",
    contactUrgence: "+33 x xx xx xx xx",
    signature: "Merci de votre compréhension."
  });

  // Configuration de la réponse de vacances
  const vacationSettings = {
    enableAutoReply: true,
    responseSubject: "Service fermé",
    responseBodyHtml: vacationBody,
    restrictToContacts: false,
    restrictToDomain: true,
    startTime: startTime,
    endTime: endTime
  };

  // Activation de la réponse automatique via l'API Gmail
  try {
    Gmail.Users.Settings.updateVacation(vacationSettings, "me");
    Logger.log("Le message d'absence a été configuré.");
  } catch (error) {
    Logger.log("Erreur lors de la configuration du message d'absence : " + error);
  }
}

// Fonction pour créer un modèle de réponse automatique
function creerModeleReponse(options) {
  const { titre, message, contactUrgence, signature } = options;

  return `
<div style="font-family: Arial, sans-serif; padding: 20px; background-color: #f9f9f9; border: 1px solid #e0e0e0; max-width: 600px; margin: 0 auto; border-radius: 8px;">
  <h2 style="font-size: 18px; color: #333333; margin-bottom: 10px; text-align: center;">${titre}</h2>
  <p style="font-size: 14px; color: #555555; line-height: 1.6;">${message}</p>
  <p style="font-size: 14px; color: #555555; line-height: 1.6;">
    En cas d'urgence, vous pouvez nous joindre au <a href="tel:${contactUrgence}" style="color: #1a73e8; text-decoration: none;">${contactUrgence}</a>.
  </p>
  <p style="font-size: 14px; color: #555555; line-height: 1.6; text-align: center;">
    ${signature}
  </p>
  <hr style="border: none; border-top: 1px solid #e0e0e0; margin: 20px 0;">
  <p style="font-size: 12px; color: #888888; text-align: center;">
    Ceci est un message automatique, veuillez ne pas répondre directement.
  </p>
</div>
`;

Explication du script

Le script se divise en deux parties principales :

1. configurerReponseAutomatique : Gère la mise en place de la réponse automatique en fonction du jour de la semaine et des horaires définis.

2. creerModeleReponse : Crée un modèle HTML pour le message d’absence, en utilisant les options fournies (titre, message, contact d’urgence, et signature).

Conseils pour personnaliser et rendre le script réutilisable

Le principal avantage de ce script réside dans sa réutilisabilité. En modifiant les valeurs transmises à creerModeleReponse, vous pouvez adapter le contenu du message sans changer le reste du code.

Par exemple, pour personnaliser votre message d’absence, ajustez simplement les paramètres comme suit :

const vacationBody = creerModeleReponse({
  titre: "Notre service est temporairement indisponible",
  message: "Nous ne sommes pas en mesure de répondre à votre email pour le moment, mais nous reviendrons vers vous dès que possible.",
  contactUrgence: "+33 1 23 45 67 89",
  signature: "Cordialement,"
});

Ce script Google Apps Script vous permet de gérer efficacement vos réponses automatiques de vacances de manière professionnelle et personnalisée. Que ce soit pour une utilisation personnelle ou pour l’ensemble de votre équipe, il offre une flexibilité et une adaptabilité qui peuvent grandement simplifier la gestion des absences.

Si vous avez des questions ou des suggestions pour améliorer ce script, n’hésitez pas à les partager dans les commentaires ci-dessous !


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.