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.