This Google Apps Script project automates the process of maintaining Food4Philly's member directory by integrating with a Google Form. The script extracts, cleans, and appends membership data to the directory spreadsheet, ensuring consistency and reducing manual data entry errors. In addition, the script automatically adds members to Food4Philly's Wix CRM for emailing convenience.
Food4Philly has a large and growing member base across various chapters. Managing this data manually is time-consuming and prone to errors. This program ensures: Food4Philly's
- Efficiency: Automates data cleaning and organization.
- Accuracy: Standardizes member details, including names, phone numbers, and chapters.
- Scalability: Handles a growing number of form responses seamlessly.
-
Automatic Data Cleaning:
- Formats phone numbers to
xxx-xxx-xxxx. - Normalizes names to "First Last" capitalization.
- Matches chapters using fuzzy string matching for consistency.
- Formats phone numbers to
-
Integration with Google Form and Google Sheets:
- Processes new membership form submissions automatically.
- Appends cleaned data to the directory spreadsheet.
-
Validation and Alerts:
- Highlights missing data in the directory.
- Validates entries against predefined chapter, team, and grade lists.
-
Custom Sorting:
- Ensures members are grouped by teams and chapters in the directory.
-
WIX Integration
- Uses WIX's REST API to automatically add members to Food4Philly's WIX CRM.
- Access to the Food4Philly Membership Form
- Access to the Food4Philly Directory spreadsheet
- Access to the Food4Philly Gmail account
- Git is installed locally
- Download the Google Apps Script CLI Tool
- Login to Google using the command
clasp login- Clone this repository using the command
git clone https://github.com/Shynee1/Food4Philly-Directory-Updater.git- Create a new Apps Script project with the command
clasp create-script --type sheets --title "Food4Philly Directory Updater"- Push local code to the cloud using the command
clasp push- Navigate to the Apps Script Cloud Dashboard
- Run the
registerTriggers()function to link the script to the Google Form.- This ensures
handleFormSubmissionis triggered automatically for each new submission.
- This ensures
- To process all pending form submissions in bulk, manually run the
updateFullDirectory()function from the Apps Script editor.