Les déclencheurs (triggers)
Qu’est-ce qu’un déclencheur ?
Les déclencheurs, ou triggers en anglais, permettent à Apps Script d’exécuter automatiquement une fonction lorsqu’un événement spécifique survient. C’est un élément majeur dans l’automatisation de processus avec Apps Script.
Cela peut être :
-
l’ouverture d’un document ;
-
la modification d’une cellule ;
-
la soumission d’un formulaire ;
-
ou encore une exécution planifiée à une heure donnée.
Un déclencheur est donc un pont entre un événement et une fonction.
Par exemple, je souhaite être notifiée par e-mail lorsque mon formulaire est soumis, ou je souhaite recevoir un rapport hebdomadaire basé sur un Google Sheets de suivi. Apps Script nous met à disposition des outils précieux pour gérer ce genre de workflow.
Apps Script transmet également à la fonction déclenchée un objet événement (e), qui contient des informations sur le contexte.
Les types de déclencheurs
Il existe deux catégories principales de déclencheurs : les déclencheurs « simples », qui sont rapides à utiliser et basés sur des noms de fonctions réservés, et les déclencheurs « installables », qui offrent davantage de personnalisation et peuvent être configurés manuellement ou par code.
1. Les déclencheurs simples
Les déclencheurs simples sont intégrés à Apps Script. Il suffit de créer une fonction avec un nom réservé et elle s’exécutera automatiquement lors de l’événement correspondant.
Exemples principaux :
-
onOpen(e) : s’exécute lorsqu’un utilisateur ouvre un fichier Google Sheets, Docs, Slides ou Forms (en mode édition).
-
onInstall(e) : s’exécute lorsqu’un module complémentaire est installé dans un éditeur.
-
onEdit(e) : s’exécute lorsqu’une cellule d’une feuille de calcul est modifiée manuellement.
-
onSelectionChange(e) : s’exécute lorsqu’un utilisateur change de sélection dans Google Sheets.
-
doGet(e) et doPost(e) : s’exécutent lorsqu’un utilisateur ou un programme envoie une requête HTTP à une application Web Apps Script.
Ces déclencheurs ne nécessitent aucune installation, il suffit simplement d’utiliser l’une de ces fonctions. Par exemple, dans un projet lié à un Google Sheets, je peux utiliser la fonction onOpen(e) pour exécuter à chaque ouverture du document l’installation d’un menu :
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addToUi();
}
Une fois la fonction sauvegardée et le document Google Sheets actualisé, le menu apparaît.

Certaines limitations importantes sont à prendre en compte lorsque l’on utilise...
Créer des déclencheurs
1. Manuellement
Rendez-vous dans l’onglet Triggers de l’éditeur d’Apps Script pour créer ou gérer les déclencheurs du projet.

En cliquant sur Add Trigger, une fenêtre s’ouvre pour configurer le déclencheur.
C’est à cet endroit que l’on sélectionne la fonction à exécuter ainsi que les conditions de son déclenchement.
Les possibilités d’événements dépendent du type de projet. Nous les détaillerons plus loin dans ce chapitre.
Voyons d’un peu plus près la structure de cette fenêtre :

a. Choix de la fonction à exécuter
Le premier menu déroulant vous permet de choisir la fonction à exécuter. Toutes les fonctions disponibles dans votre projet sont listées ici. Si plusieurs fonctions portent le même nom, elles seront identifiées par un astérisque (*) pour vous alerter.
b. Choix du déploiement à exécuter
Ce menu n’est pertinent que pour des projets déployés. Il permet de sélectionner la version à utiliser pour les exécutions. Par défaut et pour un projet non déployé, la valeur est sur Head, qui correspond à l’état actuel du code, celui que l’on voit depuis l’éditeur.
c. Choix...
Spécificités des déclencheurs par type de fichier
1. Quels déclencheurs par hôte ?
Comme nous l’avons vu au cours de ce chapitre, les possibilités offertes par les déclencheurs dépendent fortement du contexte du projet. Un projet autonome, par exemple, n’aura pas accès aux mêmes événements qu’un projet directement lié à un conteneur Google, comme un Google Sheets ou un Google Forms. De même, les déclencheurs spécifiques à un Google Sheets diffèrent de ceux disponibles pour un Google Forms.
Il est donc essentiel de bien comprendre les types de déclencheurs à disposition en fonction de l’application hôte de votre script. Voyons ensemble la liste des principales possibilités par produit et par type de déclencheur :

Source : documentation officielle https://developers.google.com/apps-script/guides/triggers
2. L’objet événement ou « e »
Dans cette section, nous allons nous pencher sur un élément récurrent et jusqu’alors inexpliqué : le paramètre « e » des fonctions lancées par les déclencheurs. Il s’agit d’un objet contenant des informations contextuelles sur l’événement qui a activé le déclencheur....