Stay organized with collections
Save and categorize content based on your preferences.
Apps Script triggers cause a specified script
function (the trigger function) to execute whenever a specified event
occurs. Only certain events can cause triggers to fire, and each
Google Workspace application supports a different set of events.
When a trigger fires, an event object is created. This JSON structure
contains details about the event that occurred. The information in the event
object structure is organized differently based on the trigger type.
Once the event object is created, Apps Script passes it as a parameter to the
trigger function. The trigger function is a callback function that you must
implement yourself, to take whatever actions are appropriate to respond to the
event. For example, in a
Google Workspace add-on that extends Gmail, you can
define a trigger that creates a new card interface when the user opens a message
thread. In this case, you implement a contextual callback function to create
the cards making up the new UI using the data passed in the
event object.
This page provides guidelines on using triggers in
Google Workspace
add-on projects.
Manifest triggers
Unlike Editor add-ons, Google Workspace add-ons
currently can't use Apps Script simple triggers
Instead, they use triggers designed specifically for
Google Workspace add-ons: manifest triggers.
Manifest triggers are defined completely in the
Google Workspace add-on's
manifest. Examples of manifest triggers include the
following:
Homepage triggers that build and display the add-on homepage.
Calendar eventOpen triggers that display a new card or take
other actions when a Calendar event is opened.
Calendar eventUpdate triggers that display a new card or take
other actions when a user edits and saves a Calendar event.
Drive onItemsSelected triggers that display a new card or take
other actions when a user selects one or more files or folders in Drive.
Gmail compose triggers that display an add-on card when the
user opens the add-on in the Gmail compose window.
Gmail contextual triggers that display a new card or take other
actions when the user opens a Gmail message.
Editor onFileScopeGranted triggers that display a new card when users
grant authorization for the drive.file OAuth scope in the current Editor
document.
In the above list, only homepage triggers are non-contextual; the rest are
contextual triggers. See Manifest
for more information about manifest trigger definitions.
In addition to manifest triggers, Google Workspace
add-ons can also use Apps Script
installable triggers.
Restrictions
Manifest triggers have certain restrictions to their use.
These triggers are only used in Google Workspace add-on projects; they have no purpose in any other application.
Since they are defined in the add-on manifest and not in its code, you can't
use the Apps Script Script
service to create or modify these triggers.
Gmail contextual triggers currently can only have an unconditional criteria.
This means contextual triggers fire for every email message, regardless of
content.
Each add-on can only have one trigger of each type, per user, per document.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eApps Script triggers execute a specific function when a defined event occurs within a Google Workspace application.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Workspace add-ons utilize manifest triggers, defined in the add-on's manifest, to respond to events like opening a document or composing an email.\u003c/p\u003e\n"],["\u003cp\u003eManifest triggers can be contextual, reacting to specific user actions within a document or application, or non-contextual, like those that build the add-on's homepage.\u003c/p\u003e\n"],["\u003cp\u003eWhile manifest triggers offer event-driven functionality, they have limitations, including restrictions on their use and creation methods.\u003c/p\u003e\n"]]],["Apps Script triggers initiate a script function when specific events occur, creating an event object with event details. This object is then passed to a user-implemented trigger function, enabling actions based on the event. Google Workspace add-ons use manifest triggers, defined in the add-on's manifest, to trigger actions like displaying cards on homepage, when opening/updating Calendar events, selecting Drive items, or opening a message in Gmail. Contextual triggers and installable triggers are also supported but with some restrictions.\n"],null,["[Apps Script triggers](/apps-script/guides/triggers) cause a specified script\nfunction (the *trigger function*) to execute whenever a specified event\noccurs. Only certain events can cause triggers to fire, and each\nGoogle Workspace application supports a different set of events.\n\nWhen a trigger fires, an *event object* is created. This JSON structure\ncontains details about the event that occurred. The information in the event\nobject structure is organized differently based on the trigger type.\n\nOnce the event object is created, Apps Script passes it as a parameter to the\ntrigger function. The trigger function is a callback function that you must\nimplement yourself, to take whatever actions are appropriate to respond to the\nevent. For example, in a\nGoogle Workspace add-on that extends Gmail, you can\ndefine a trigger that creates a new card interface when the user opens a message\nthread. In this case, you implement a contextual callback function to create\nthe cards making up the new UI using the data passed in the\n[event object](/workspace/add-ons/concepts/event-objects).\n\nThis page provides guidelines on using triggers in\nGoogle Workspace\nadd-on projects.\n\nManifest triggers\n\nUnlike Editor add-ons, Google Workspace add-ons\ncurrently can't use Apps Script [simple triggers](/apps-script/guides/triggers)\nInstead, they use triggers designed specifically for\nGoogle Workspace add-ons: *manifest triggers*.\n\nManifest triggers are defined completely in the\nGoogle Workspace add-on's\n[manifest](/workspace/add-ons/concepts/workspace-manifests). Examples of manifest triggers include the\nfollowing:\n\n- **Homepage triggers** that build and display the add-on homepage.\n- **Calendar eventOpen triggers** that display a new card or take other actions when a Calendar event is opened.\n- **Calendar eventUpdate triggers** that display a new card or take other actions when a user edits and saves a Calendar event.\n- **Drive onItemsSelected triggers** that display a new card or take other actions when a user selects one or more files or folders in Drive.\n- **Gmail compose triggers** that display an add-on card when the user opens the add-on in the Gmail compose window.\n- **Gmail contextual triggers** that display a new card or take other actions when the user opens a Gmail message.\n- **Editor onFileScopeGranted triggers** that display a new card when users grant authorization for the `drive.file` OAuth scope in the current Editor document.\n\nIn the above list, only homepage triggers are non-contextual; the rest are\ncontextual triggers. See [Manifest](/workspace/add-ons/concepts/workspace-manifests)\nfor more information about manifest trigger definitions.\n\nIn addition to manifest triggers, Google Workspace\nadd-ons can also use Apps Script\n[installable triggers](/apps-script/guides/triggers/installable).\n\nRestrictions\n\nManifest triggers have certain restrictions to their use.\n\n- These triggers are only used in Google Workspace add-on projects; they have no purpose in any other application.\n- Since they are defined in the add-on manifest and not in its code, you can't use the Apps Script [`Script`](/apps-script/reference/script) service to create or modify these triggers.\n- Gmail contextual triggers currently can only have an `unconditional` criteria. This means contextual triggers fire for every email message, regardless of content.\n- Each add-on can only have one trigger of each type, per user, per document."]]