https://www.googleapis.com/auth/spreadsheets: Allows DataMateApps to see, edit, create, and delete Google Sheets™. We use this to create and manage spreadsheets for records, templates (e.g., inventory, timesheets), contact lists, and usage counters. A narrower scope wouldn’t suffice because dynamic spreadsheet operations are central to the app.
https://www.googleapis.com/auth/drive: (Only used in open-source code for UploadFile and Signature form fields when deployed as web app.) Allows DataMateApps to see, edit, create, and delete files in Google Drive™. We use this to store form uploads (e.g., images, PDFs), signatures, and generated files, such as reports or templates. A narrower scope wouldn’t suffice because full Drive access is required for file management.
https://www.googleapis.com/auth/script.container.ui: Allows DataMateApps to display third-party web content in prompts, dialogs, and sidebars within Google Sheets™. We use this to show interactive UI elements, such as form previews, contact forms, or sidebars for data entry. A narrower scope wouldn’t suffice because custom UI is required for user interaction.
https://www.googleapis.com/auth/script.send_mail: To send notifications to send emails via Google Apps Script when a form is submitted. A narrower scope wouldn’t suffice because this scope ensures reliable email delivery.
https://www.googleapis.com/auth/gmail.send: This scope is essential for the core functionality of DataMateApps, specifically the "Mail It" feature, which enables users to send emails directly from a Google™ Spreadsheet. This feature allows users to select a range of spreadsheet data, format it as an HTML table, and send it as an email to recipients listed in a "contacts" sheet (Column P for email addresses, Column A for names). The emails are sent using the Gmail™App.sendEmail method in Google Apps Script™, which constructs and sends HTML-formatted emails based on user inputs from a sidebar interface.
https://www.googleapis.com/auth/script.external_request: Allows AddressBlock to connect to external services. We use this to fetch address-related data (e.g., via geocoding APIs) to enhance address accuracy. A narrower scope wouldn’t suffice because external data integration is critical for the feature.
https://www.googleapis.com/auth/script.scriptapp: Allows SnapSync to programmatically manage triggers for automated syncs and scheduled tasks. A narrower scope wouldn’t suffice because automated syncs and scheduling is critical for the feature.