GitHub: https://github.com/aamoghS/attendanceAutomator
Author: Aamogh Sawant
Main function to aggregate attendance data from multiple Google Forms into a single master spreadsheet. Tracks participation counts, prevents duplicate processing, and supports configurable folders.
| Name | Type | Description |
|---|---|---|
| config | Object | Configuration object containing settings for the import process |
| Property | Type | Description |
|---|---|---|
| parentFolderNamerequired | string | Name of the parent folder containing forms |
| outputSpreadsheetNamerequired | string | Name of the master output spreadsheet |
| outputSheetNamerequired | string | Name of the sheet within the spreadsheet |
| subfolderName | string | Optional subfolder name to process |
| logSheetName | string | Name of log sheet (default: "Processed") |
| skipRSVP | boolean | Whether to skip forms with "RSVP" in name (default: true) |
| verbose | boolean | Enable detailed logging (default: true) |
| Type | Description |
|---|---|
| Object | Summary object containing processing statistics and spreadsheet URL |
Recursively processes a folder and all its subfolders to find and process Google Forms. Iterates through all forms in the specified folder, extracts respondent information (name and email), updates attendance counts, and recursively processes any subfolders. Maintains processing state to avoid duplicate form processing.
| Name | Type | Description |
|---|---|---|
| folder | GoogleAppsScript.Drive.Folder | The folder to process |
| emailMap | Map | Map of email addresses to attendance data objects containing name and count |
| processedForms | Set | Set of form IDs that have already been processed in previous runs |
| newlyProcessedFormIds | Set | Set to collect form IDs processed in the current run |
| config | Object | Configuration object with settings like skipRSVP and verbose |
| stats | Object | Statistics object tracking forms processed, responses, and new emails |
| indent | string | String used for indentation in log output to show folder hierarchy |
Conditional logging helper that outputs messages only when verbose mode is enabled.
| Name | Type | Description |
|---|---|---|
| message | string | The message to log to the console |
| verbose | boolean | Whether verbose logging is enabled; message only prints if true |