Permissions & OAuth Scopes

FormScheduler uses the minimum practical scopes for scheduling automation.

Primary scopes

  • forms.currentonly — Access the current form context to open/close it and read response counts.
  • script.scriptapp — Manage installable triggers so the background scheduler can run every 5 minutes.
  • script.external_request — Communicate with the AppDashboard API for licensing and telemetry.
  • userinfo.email — Map the installation to your user identity for subscription validation.
  • script.container.ui — Render the sidebar and modal dialogs inside Google Forms.

Calendar mode scopes

  • calendar.app.created — Create and manage the app-owned FormScheduler Schedules calendar.
  • calendar.calendarlist.readonly — Read available calendars to verify the managed calendar exists.
Note: FormScheduler does not use the Calendar advanced service. All calendar operations are performed via REST API calls with the scopes above. This keeps permissions minimal.

What is intentionally not requested

  • No Gmail send scope — FormScheduler does not send emails directly from your mailbox.
  • No Drive-wide scope — FormScheduler only touches the current form, not your Drive files.
  • No broad forms scope — Only the current form context is accessed, not all forms in your account.
  • No Calendar read/write for personal calendars — FormScheduler only creates and manages its own app-owned calendar.

Security note

All API requests to AppDashboard are authenticated with add-on headers and scoped to your organization context. No form data or response content is transmitted to the backend — only licensing and telemetry metadata.