Class Trigger

  • getEventType() returns the type of event that causes the trigger to fire.

  • getHandlerFunction() returns the name of the script function that runs when the trigger fires.

  • getTriggerSource() identifies the origin of the event that activates the trigger.

  • getTriggerSourceId() provides an ID specific to the event source, like a spreadsheet ID.

  • getUniqueId() returns a unique identifier for the trigger itself.

Trigger

A script trigger.

Methods

MethodReturn typeBrief description
getEventType()EventTypeReturns the event type that the trigger fires on.
getHandlerFunction()StringReturns the function that is called when the trigger fires.
getTriggerSource()TriggerSourceReturns the source of events that causes the trigger to fire.
getTriggerSourceId()StringReturns the id specific to the source.
getUniqueId()StringReturns a unique identifier that can be used to distinguish triggers from each other.

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 is 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 causes the trigger to fire.

For example, a spreadsheet onEdit trigger returns SPREADSHEETS, or a time based trigger returns 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 is 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