Automatisation

Comment configurer un système qui annule et replanifie automatiquement les réunions conflictuelles dans google calendar

Comment configurer un système qui annule et replanifie automatiquement les réunions conflictuelles dans google calendar

Je vais vous expliquer comment j'ai mis en place un système qui détecte les réunions en conflit dans Google Calendar, annule automatiquement l'événement qui a le moins de priorité et propose des créneaux de replanification aux participants. C'est une solution que j'utilise pour éviter les double-bookings et les allers-retours par e-mail, tout en conservant un contrôle sur les déplacements de réunion.

Pourquoi automatiser l'annulation et la replanification des réunions ?

Je passais trop de temps à gérer des conflits d'agenda : des invitations acceptées sans vérifier le calendrier, des réunions qui se chevauchent ou des urgences qui déplacent tout. Plutôt que d'ouvrir manuellement chaque événement pour le modifier, j'ai voulu un système fiable qui :

  • détecte automatiquement les conflits,
  • annule ou met en attente l'événement moins prioritaire,
  • propose des créneaux alternatifs pertinents aux participants,
  • trace les modifications pour garder un historique.
  • J'ai testé plusieurs approches : règles manuelles, Zapier/Make, et enfin une combinaison de Google Apps Script + API Calendar pour garder le contrôle et limiter les coûts. Voici comment je procède — je vous donne des options selon votre niveau technique et vos contraintes (compte Google personnel vs Google Workspace).

    Architecture générale du système

    Le système se compose de trois briques :

  • Détection — un script ou un service qui surveille les événements nouvellement créés/acceptés et vérifie les conflits avec d'autres événements du calendrier.
  • Décision — une logique qui évalue la priorité (ex. organisateur, type d'événement, durée, participants, étiquette)
  • Action — annulation provisoire ou mise à jour de l'événement, et envoi d'une proposition de replanification via e-mail ou lien vers un sondage de créneaux (Calendly, Doodle, ou un formulaire interne).
  • Option 1 — Solution prête à l'emploi avec Zapier ou Make (moins technique)

    Si vous préférez une solution sans code :

  • Créez un "zap" ou un scénario avec le trigger Google Calendar "New Event" ou "Event Updated".
  • Ajoutez une action qui recherche les événements sur la même plage horaire (Google Calendar search).
  • Ajoutez une étape logique : si conflict > 0, décidez quel événement supprimer ou déplacer en fonction de conditions simples (organisateur = moi, nombre d'invités, mot-clé dans le titre).
  • Pour replanifier, utilisez une action qui crée un nouvel événement ou envoie un e-mail aux participants avec des créneaux alternatifs (ou créez un sondage dans Doodle et partagez le lien).
  • Avantages : rapide à mettre en place, interface visuelle. Inconvénients : limité si vous voulez une logique complexe, coût si volume important.

    Option 2 — Google Apps Script + Google Calendar API (contrôle total)

    Voici l'approche que j'ai finalement retenue pour Memotime : un script exécuté via Google Apps Script qui s'exécute périodiquement (trigger horaire ou trigger onEvent) et applique une politique définie.

    Étapes principales :

  • Activer l'API Calendar et créer un projet Google Cloud si nécessaire.
  • Écrire un script qui :
  • - récupère les événements créés ou modifiés depuis la dernière exécution,
  • - pour chaque événement, recherche des conflits sur la même plage et liste les événements concernés,
  • - applique la logique de priorité (exemples ci-dessous),
  • - annule (ou met en statut "tentative") l'événement choisi, en ajoutant un message dans la description et en notifiant les participants,
  • - propose des créneaux alternatifs : génère automatiquement 3 créneaux disponibles et envoie un e-mail contenant ces propositions et un lien "accepter" ou un petit formulaire Google Forms pour choisir.
  • Logique de priorité que j'utilise (adaptable) :

  • 1) Organisateur = moi → garder
  • 2) Événements marqués "Important" (label/titre) → garder
  • 3) Nombre de participants élevé → garder (réunions d'équipe plutôt que 1:1)
  • 4) Durée plus longue → garder
  • Si égalité → garder l'événement avec la date de création la plus ancienne.
  • Dans la pratique, j'insère un petit message automatique dans la description de l'événement annulé expliquant la raison et proposant un lien pour reprogrammer en un clic. Ça évite les incompréhensions.

    Exemples de messages et e-mails automatiquement envoyés

    Je privilégie des messages courts et clairs :

  • Objet : "Proposition de replanification — {Titre de l'événement}"
  • Corps : "Bonjour, Suite à un conflit d'agenda détecté automatiquement, j'ai proposé de déplacer cette réunion. Voici trois créneaux possibles : [date1], [date2], [date3]. Répondez à cet e-mail ou cliquez sur le lien pour choisir celui qui vous convient. Merci ! — Élodie"
  • Outils complémentaires utiles

    Calendly / YouCanBook.meExcellent pour laisser les autres réserver des créneaux et éviter les conflits dès l'origine.
    DoodlePratique pour proposer plusieurs créneaux et laisser les participants voter.
    Google FormsSimple et gratuit pour collecter les préférences de replanification.
    Google Workspace AdminPermet d'appliquer des politiques de calendrier à l'échelle de l'entreprise (utile si vous administrez plusieurs comptes).

    Bonnes pratiques et pièges à éviter

  • Ne supprimez jamais définitivement un événement sans conservation d'un historique — préférez le statut "Tentative" + note explicative.
  • Informez vos collègues que vous avez mis en place une automatisation pour éviter les surprises.
  • Testez d'abord sur un calendrier de test ou avec un nombre réduit d'utilisateurs.
  • Prévoyez un délai de rétractation (ex. notification avec bouton "Annuler l'annulation") si l'organisateur veut revenir en arrière facilement.
  • Surveillez les exceptions : événements récurrents, événements avec ressources réservées (salles) ou événements externes peuvent nécessiter un traitement spécial.
  • Suivi et amélioration

    J'ai ajouté un petit tableau de bord (Google Sheets connecté au script) qui enregistre chaque action : événement détecté, décision prise, créneaux proposés et réponse finale. Cela m'aide à affiner les règles (par exemple, ne plus proposer de replanification en dehors des heures de travail ou éviter de déplacer les réunions marquées "Non déplaçable").

    Si vous voulez, je peux vous fournir :

  • un modèle de Google Apps Script adapté à un compte personnel,
  • un template d'e-mail pour la notification et la replanification,
  • ou un scénario Zapier/Make préformaté pour les non-codeurs.
  • Dites-moi quelle option vous intéresse (no-code vs script) et votre contexte (compte Google perso / Workspace, nombre d'utilisateurs) : je vous envoie le guide pas-à-pas ou le script prêt à être copié-collé.

    Vous devriez également consulter les actualités suivante :

    Comment automatiser la création de tâches à partir de notes de réunion dans notion sans recopier manuellement
    Automatisation

    Comment automatiser la création de tâches à partir de notes de réunion dans notion sans recopier manuellement

    J'adore transformer un compte-rendu de réunion chaotique en une liste de tâches claires et...

    Mettre en place un tableau de bord notion minimal pour décider quoi déléguer en 10 minutes hebdomadaires
    Gestion du temps

    Mettre en place un tableau de bord notion minimal pour décider quoi déléguer en 10 minutes hebdomadaires

    Je vous propose une méthode simple et rapide pour savoir quoi déléguer chaque semaine en...