Class TriggerBuilder

TriggerBuilder

A generic builder for script triggers.

Methods

Method Return type Brief description
forDocument(document) DocumentTriggerBuilder Creates and returns a DocumentTriggerBuilder tied to the given document.
forDocument(key) DocumentTriggerBuilder Creates and returns a DocumentTriggerBuilder tied to the document with the given ID.
forForm(form) FormTriggerBuilder Creates and returns a FormTriggerBuilder tied to the given form.
forForm(key) FormTriggerBuilder Creates and returns a FormTriggerBuilder tied to the form with the given ID.
forSpreadsheet(sheet) SpreadsheetTriggerBuilder Creates and returns a SpreadsheetTriggerBuilder tied to the given spreadsheet.
forSpreadsheet(key) SpreadsheetTriggerBuilder Creates and returns a SpreadsheetTriggerBuilder tied to the spreadsheet with the given ID.
forUserCalendar(emailId) CalendarTriggerBuilder Returns a builder for building calendar triggers.
timeBased() ClockTriggerBuilder Creates and returns a ClockTriggerBuilder for building time-based triggers.

Detailed documentation

forDocument(document)

Creates and returns a DocumentTriggerBuilder tied to the given document.

ScriptApp.newTrigger('myFunction')
  .forDocument(DocumentApp.getActiveDocument())
  .onOpen()
  .create();

Parameters

Name Type Description
document Document the document

Return

DocumentTriggerBuilder — the new DocumentTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

forDocument(key)

Creates and returns a DocumentTriggerBuilder tied to the document with the given ID.

ScriptApp.newTrigger('myFunction')
  .forDocument('1234567890abcdefghijklmnopqrstuvwxyz')
  .onOpen()
  .create();

Parameters

Name Type Description
key String the ID for the document

Return

DocumentTriggerBuilder — the new DocumentTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

forForm(form)

Creates and returns a FormTriggerBuilder tied to the given form.

ScriptApp.newTrigger('myFunction')
  .forForm(FormApp.getActiveForm())
  .onFormSubmit()
  .create();

Parameters

Name Type Description
form Form the form

Return

FormTriggerBuilder — the new FormTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

forForm(key)

Creates and returns a FormTriggerBuilder tied to the form with the given ID.

ScriptApp.newTrigger('myFunction')
  .forForm('1234567890abcdefghijklmnopqrstuvwxyz')
  .onFormSubmit()
  .create();

Parameters

Name Type Description
key String the ID for the form

Return

FormTriggerBuilder — the new FormTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

forSpreadsheet(sheet)

Creates and returns a SpreadsheetTriggerBuilder tied to the given spreadsheet.

ScriptApp.newTrigger('myFunction')
  .forSpreadsheet(SpreadsheetApp.getActive())
  .onEdit()
  .create();

Parameters

Name Type Description
sheet Spreadsheet the spreadsheet

Return

SpreadsheetTriggerBuilder — the new SpreadsheetTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forSpreadsheet(key)

Creates and returns a SpreadsheetTriggerBuilder tied to the spreadsheet with the given ID.

ScriptApp.newTrigger('myFunction')
  .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz')
  .onEdit()
  .create();

Parameters

Name Type Description
key String the ID for the spreadsheet

Return

SpreadsheetTriggerBuilder — the new SpreadsheetTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forUserCalendar(emailId)

Returns a builder for building calendar triggers.

Parameters

Name Type Description
emailId String email ID of the user calendar the trigger monitors.

Return

CalendarTriggerBuilder — The new CalendarTriggerBuilder.

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.readonly
  • https://www.googleapis.com/auth/calendar.events
  • https://www.googleapis.com/auth/calendar.events.readonly
  • https://www.google.com/calendar/feeds

timeBased()

Creates and returns a ClockTriggerBuilder for building time-based triggers.

ScriptApp.newTrigger('myFunction')
  .timeBased()
  .atDate(2013, 10, 31)
  .create();

Return

ClockTriggerBuilder — the new ClockTriggerBuilder

Authorization

Scripts that use this method require authorization with one or more of the following scopes :

  • https://www.googleapis.com/auth/script.scriptapp