Retour
Projet personnel · Automatisation

Ghost Room
Detector.

Un script Google Apps Script qui détecte automatiquement les réunions où 100% des participants sont en télétravail et libère la salle réservée inutilement un e-mail à l'organisateur, et c'est réglé.

JavaScript Google Apps Script Calendar API Automatisation
Aperçu du Ghost Room Detector
Type Projet personnel
Stack Google Apps Script
APIs Calendar · Gmail
Déclencheur Quotidien · 9h00

Le problème à résoudre.

Dans un contexte de travail hybride, il est fréquent que des réunions soient organisées avec une salle de conférence réservée alors que tous les participants sont finalement en télétravail ce jour-là. Ces salles « fantômes » restent bloquées et indisponibles pour les collègues présents sur site.

Personne ne pense systématiquement à libérer la salle lorsque tout le monde est en remote. Le processus est manuel, oublié, et génère de la frustration dans les équipes surtout les jours d'affluence au bureau.

9h00
détection automatique chaque matin
0 infra
100% Google Workspace, pas de serveur
1 e-mail
à l'organisateur, et la salle est libérée

Automatisation end-to-end.

Un script qui tourne tout seul chaque matin, croise présence et calendrier, et notifie l'organisateur.

→ 01

Récupération des événements du jour.

Le script s'exécute chaque matin à 9h00 via un TimeDrivenTrigger. Il récupère tous les événements du calendrier de la journée via CalendarApp.getEventsForDay().

→ 02

Détection des salles réservées.

Pour chaque événement, le script identifie si une ressource de type « salle de conférence » est invitée via le domaine des ressources Google Workspace.

→ 03

Analyse du statut de présence.

Croisement avec les données de présence (télétravail / sur site) de chaque participant humain. Si 100% des invités sont en remote, la réunion est classifiée « fantôme ».

→ 04

Notification automatique.

Envoi d'un e-mail à l'organisateur via GmailApp.sendEmail() avec le nom de la réunion, l'horaire et un lien direct vers l'événement pour libérer la salle en un clic.

// déclencheur quotidien — détection des salles fantômes
function detectGhostRooms() {
  const events = CalendarApp.getEventsForDay(new Date());
  for (const ev of events) {
    if (!hasRoom(ev)) continue;
    if (allRemote(ev.getGuestList())) {
      GmailApp.sendEmail(ev.getCreators()[0], 'Salle fantôme détectée', buildBody(ev));
    }
  }
}

Résultats obtenus.

→ 01

Salles libérées chaque matin

Détection et libération automatique des salles fantômes avant 9h, prêtes pour les collègues présents au bureau.

→ 02

Zéro action manuelle

L'organisateur reçoit un e-mail avec un lien d'action direct, sans devoir surveiller son calendrier ni penser à libérer.

→ 03

Déploiement éclair

Solution mise en place en quelques heures, sans infrastructure serveur 100% Google Workspace, hébergé chez Google.

→ 04

Architecture extensible

Code modulaire permettant d'ajouter facilement d'autres critères : taille de salle, type de réunion, fenêtre horaire…

→ Projet suivant
Refonte Rubix Wishlist — A/B test sur l'accueil.
Voir le projet