Class Trigger
Stay organized with collections
Save and categorize content based on your preferences.
Trigger
A script trigger.
Detailed documentation
getEventType()
Returns the event type that the trigger fires on.
const triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
if (triggers[i].getEventType() === ScriptApp.EventType.CLOCK) {
// Some code here - other options are:
// ScriptApp.EventType.ON_EDIT
// ScriptApp.EventType.ON_FORM_SUBMIT
// ScriptApp.EventType.ON_OPEN
}
}
Return
EventType
— the event type that this is a trigger for
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/script.scriptapp
getHandlerFunction()
Returns the function that will be called when the trigger fires.
// Create a trigger for the script.
ScriptApp.newTrigger('myFunction')
.forSpreadsheet('id of my spreadsheet')
.onEdit()
.create();
Logger.log(ScriptApp.getProjectTriggers()[0]
.getHandlerFunction()); // logs "myFunction"
Return
String
— the method name
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/script.scriptapp
getTriggerSource()
Returns the source of events that will cause the trigger to fire.
For example, a spreadsheet onEdit trigger would return SPREADSHEETS, or a time based trigger
would return CLOCK.
const triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
if (triggers[i].getTriggerSource() === ScriptApp.TriggerSource.CLOCK) {
Logger.log(`${triggers[i].getUniqueId()} source is clock`);
} else if (
triggers[i].getTriggerSource() === ScriptApp.TriggerSource.SPREADSHEETS) {
Logger.log(`${triggers[i].getUniqueId()} source is spreadsheets`);
}
}
Return
TriggerSource
— the publisher this is a trigger for
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/script.scriptapp
getTriggerSourceId()
Returns the id specific to the source.
For example, if the trigger source is a spreadsheet, this would be the id of the
spreadsheet. For clock events this returns null.
Return
String
— the id of the entity in the publisher that this is a trigger for
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/script.scriptapp
getUniqueId()
Returns a unique identifier that can be used to distinguish triggers from each other.
Return
String
— the unique identifier of the trigger
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/script.scriptapp
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-03 UTC.
[null,null,["Last updated 2024-12-03 UTC."],[[["\u003cp\u003eA script trigger is a function that automatically runs in response to a certain event, like opening a document, editing a cell, or a timed event.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTrigger\u003c/code\u003e object provides methods to access information about the trigger such as its event type, associated function, source, source ID, and a unique identifier.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egetEventType()\u003c/code\u003e, \u003ccode\u003egetHandlerFunction()\u003c/code\u003e, \u003ccode\u003egetTriggerSource()\u003c/code\u003e, \u003ccode\u003egetTriggerSourceId()\u003c/code\u003e, and \u003ccode\u003egetUniqueId()\u003c/code\u003e methods provide information on the trigger's configuration and behavior.\u003c/p\u003e\n"],["\u003cp\u003eAll methods associated with the Trigger object necessitate authorization with the scope \u003ccode\u003ehttps://www.googleapis.com/auth/script.scriptapp\u003c/code\u003e.\u003c/p\u003e\n"]]],["This document details the functionality of script triggers, which are automated actions. Key actions include retrieving information about a trigger using five methods: `getEventType()`, which identifies the event type that activates the trigger; `getHandlerFunction()`, which returns the function executed when the trigger fires; `getTriggerSource()`, which specifies the event source; `getTriggerSourceId()`, which provides the source's ID; and `getUniqueId()`, which offers a unique identifier for the trigger. All methods require specific authorization scopes.\n"],null,["# Class Trigger\n\nTrigger\n\nA script trigger. \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------|---------------------------------------------------------------|---------------------------------------------------------------------------------------|\n| [getEventType()](#getEventType()) | [EventType](/apps-script/reference/script/event-type) | Returns the event type that the trigger fires on. |\n| [getHandlerFunction()](#getHandlerFunction()) | `String` | Returns the function that will be called when the trigger fires. |\n| [getTriggerSource()](#getTriggerSource()) | [TriggerSource](/apps-script/reference/script/trigger-source) | Returns the source of events that will cause the trigger to fire. |\n| [getTriggerSourceId()](#getTriggerSourceId()) | `String` | Returns the id specific to the source. |\n| [getUniqueId()](#getUniqueId()) | `String` | Returns a unique identifier that can be used to distinguish triggers from each other. |\n\nDetailed documentation\n----------------------\n\n### `get``Event``Type()`\n\nReturns the event type that the trigger fires on.\n\n```javascript\nconst triggers = ScriptApp.getProjectTriggers();\nfor (let i = 0; i \u003c triggers.length; i++) {\n if (triggers[i].getEventType() === ScriptApp.EventType.CLOCK) {\n // Some code here - other options are:\n // ScriptApp.EventType.ON_EDIT\n // ScriptApp.EventType.ON_FORM_SUBMIT\n // ScriptApp.EventType.ON_OPEN\n }\n}\n```\n\n#### Return\n\n\n[EventType](/apps-script/reference/script/event-type) --- the event type that this is a trigger for\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/script.scriptapp`\n\n*** ** * ** ***\n\n### `get``Handler``Function()`\n\nReturns the function that will be called when the trigger fires.\n\n```javascript\n// Create a trigger for the script.\nScriptApp.newTrigger('myFunction')\n .forSpreadsheet('id of my spreadsheet')\n .onEdit()\n .create();\nLogger.log(ScriptApp.getProjectTriggers()[0]\n .getHandlerFunction()); // logs \"myFunction\"\n```\n\n#### Return\n\n\n`String` --- the method name\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/script.scriptapp`\n\n*** ** * ** ***\n\n### `get``Trigger``Source()`\n\nReturns the source of events that will cause the trigger to fire.\n\nFor example, a spreadsheet onEdit trigger would return SPREADSHEETS, or a time based trigger\nwould return CLOCK.\n\n```javascript\nconst triggers = ScriptApp.getProjectTriggers();\nfor (let i = 0; i \u003c triggers.length; i++) {\n if (triggers[i].getTriggerSource() === ScriptApp.TriggerSource.CLOCK) {\n Logger.log(`${triggers[i].getUniqueId()} source is clock`);\n } else if (\n triggers[i].getTriggerSource() === ScriptApp.TriggerSource.SPREADSHEETS) {\n Logger.log(`${triggers[i].getUniqueId()} source is spreadsheets`);\n }\n}\n```\n\n#### Return\n\n\n[TriggerSource](/apps-script/reference/script/trigger-source) --- the publisher this is a trigger for\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/script.scriptapp`\n\n*** ** * ** ***\n\n### `get``Trigger``Source``Id()`\n\nReturns the id specific to the source.\n\nFor example, if the trigger source is a spreadsheet, this would be the id of the\nspreadsheet. For clock events this returns null.\n\n#### Return\n\n\n`String` --- the id of the entity in the publisher that this is a trigger for\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/script.scriptapp`\n\n*** ** * ** ***\n\n### `get``Unique``Id()`\n\nReturns a unique identifier that can be used to distinguish triggers from each other.\n\n#### Return\n\n\n`String` --- the unique identifier of the trigger\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/script.scriptapp`"]]