Ne plus oublier son message d’absence dans Gmail
Avez vous déjà oublié d’activer votre message automatique d’absence sur Gmail avant de partir en congé ? Si oui, je vous propose ce script permettant en lisant votre agenda de le positionner automatiquement afin de ne plus jamais oublier cette tâche.
Une automatisation simple mais puissante avec Apps Script
Étant un grand fan de Google Apps Script, j’étais convaincu qu’il y avait un moyen d’automatiser cette tâche pour éviter d’oublier d’activer le message automatique d’absence de Gmail.
J’ai créé un script autonome qui utilise les services avancés de l’API Google Agenda et de l’API Gmail. Le programme recherche les événements de type Absent du bureau et fonction des dates positionne le message d’absence.
Étapes de l’automatisation
- Récupération des Événements de Type ‘OutOfOffice’ :
Le script récupère tous les événements de type ‘OufOfOffice’ pour le jour en cours. Si de tels événements existent et ont ‘Absent du bureau’ comme résumé (texte par défaut), la fonction appelleactiverRepondeurAutomatique_()
. - Vérification et Activation du Répondeur Automatique :
La fonctionactiverRepondeurAutomatique_()
vérifie d’abord si le message automatique d’absence est déjà activé pour éviter des activations répétitives inutiles. Si le répondeur n’est pas activé, la fonction le configure dans les paramètres de Gmail.
Exemple de code
// Fonction pour obtenir les événements de type "outOfOffice" du jour en cours function obtenirEvenementsAbsence() { // ID du calendrier principal const idCalendrier = 'primary'; // Paramètres optionnels pour la requête des événements const options = { eventTypes: ['outOfOffice'], showDeleted: false, // Ne pas montrer les événements supprimés timeMin: obtenirDateEtHeure_(0, 1), // Heure de début : 00:01 timeMax: obtenirDateEtHeure_(23, 59), // Heure de fin : 23:59 }; // Récupération de la réponse de la liste des événements const reponse = Calendar.Events.list(idCalendrier, options); // Vérifie si des événements sont trouvés if (reponse.items && reponse.items.length > 0) { // Parcourt les événements pour vérifier le type et le résumé for (let evenement of reponse.items) { if (evenement.eventType === 'outOfOffice' && evenement.summary === 'Absent du bureau') { activerRepondeurAutomatique_(); // Activer le répondeur automatique break; // Sort dès qu'un événement "outOfOffice" est trouvé } } } } // Fonction pour obtenir la date et l'heure au format requis function obtenirDateEtHeure_(heure, minutes) { const date = new Date(); date.setHours(heure); date.setMinutes(minutes); date.setSeconds(0); date.setMilliseconds(0); return date.toISOString(); // Retourne la date et l'heure en format ISO } // Fonction pour activer le répondeur automatique function activerRepondeurAutomatique_() { // Récupérer le statut actuel du répondeur automatique const statutRepondeur = Gmail.Users.Settings.getVacation('me'); // Si le répondeur automatique n'est pas activé if (!statutRepondeur.enableAutoReply) { // Mettre à jour les paramètres du répondeur automatique Gmail.Users.Settings.updateVacation({ enableAutoReply: true, // Activer le répondeur automatique responseSubject: 'Je suis absent du bureau aujourd\'hui', // Sujet de réponse responseBodyHtml: "Bonjour,<br><br>Je suis actuellement absent du bureau et ne pourrai pas répondre à vos emails jusqu'à mon retour. Si votre demande est urgente, veuillez contacter un membre de mon équipe ou utiliser notre numéro de contact général.<br><br>Merci de votre compréhension et à bientôt.<br><br>Cordialement,<br>[Votre Nom]", // Corps du message de réponse restrictToContacts: true, // Restreindre aux contacts restrictToDomain: true, // Restreindre au domaine }, 'me'); } }
Penser également au fichier manifeste.
{ "timeZone": "Europe/Paris", "dependencies": { "enabledAdvancedServices": [ { "userSymbol": "Calendar", "version": "v3", "serviceId": "calendar" }, { "userSymbol": "Gmail", "version": "v1", "serviceId": "gmail" } ] }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8" }
Configuration de la tâche planifiée
Pour que le script s’exécute tous les jours, j’ai configuré un déclencheur temporel qui s’exécute quotidiennement entre 4h et 5h du matin. J’ai également choisi d’être immédiatement notifiée en cas d’échec du script, pour une efficacité maximale.
- 1. Ouvrez l’IDE Apps Script.
- 2. Allez dans Éditeur > Déclencheurs et créez un nouveau déclencheur.
- 3. Sélectionnez la fonction obtenirEvenementsAbsence.
- 4. Définissez l’intervalle de temps pour qu’il s’exécute quotidiennement entre 4h et 5h du matin.
Importance de cette automatisation
Cette petite automatisation montre le potentiel plus large de Google Apps Script. Elle témoigne de la puissance de la personnalisation et de la capacité à adapter nos environnements numériques à nos besoins spécifiques.
L’Atelier Informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.
Une réflexion sur “ Ne plus oublier son message d’absence dans Gmail ”
Les commentaires sont fermés.