A collection of automation scripts for managing student accounts, rostering, and inventory systems. These scripts are tailored to our organization's specific workflows and integrations.
Note: This repository is public but many scripts are organization-specific and may require adaptation for use elsewhere.
This repository contains Python scripts that automate various administrative tasks across two main areas:
Scripts for managing student and staff accounts across multiple systems including FileMaker, Google Workspace, Active Directory, and third-party platforms.
Key Scripts:
single_student.py- Orchestrates the complete student onboarding workflownew-staff/- New staff member account creationdrop_student/- Student removal workflowgoogle_group_update/- Google Groups membership managementgoogle_classroom_label/- Automated Gmail label creation for Google Classroomuploadprofilepic/- Profile picture management and upload to Googlefacecrop/- Automated face cropping for profile photosactive_directory/- Active Directory student account cleanupaeries/- Aeries SIS student accoutn email notificationsclevergenFMAPI/- Clever rostering file generation from FileMakertabeonline/- TABE Online (DRC Insight) student data exportfilemaker_api/- Shared FileMaker Data API integration module
Scripts for managing Chromebook and device inventory using Snipe-IT.
Key Scripts:
chromebook_repair/chromebook_maintenance.py- Automated Chromebook maintenance workflow (damage reporting, check-in, status updates)inventory_barcodescan.py- Barcode scanning for inventory management
- Python 3.6 or higher
- Virtual environment (recommended)
Different scripts require access to various systems:
- FileMaker Server - Student information database
- Google Workspace - User and group management
- Active Directory - Windows domain accounts
- Snipe-IT - Asset inventory management
- Aeries SIS - Student information system
- Clever - Rostering platform
- TABE Online/DRC Insight - Testing platform
- Clone the repository:
git clone https://github.com/yourusername/GrizzlyScripts.git
cd GrizzlyScripts- Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- Install dependencies:
pip install -r requirements.txtMost scripts use environment variables for configuration. Create a .env file in the appropriate script directory with required credentials and settings.
FileMaker Configuration:
FMS_URL=https://your-filemaker-server.com
FMS_USERNAME=api_user
FMS_PASSWORD=api_password
FMS_DATABASE=YourDatabase
FMS_LAYOUT=LAYOUT
FMS_LIMIT=500
Google Workspace:
- Requires GAM (Google Apps Manager) or similar tooling
- Service account credentials for API access
Snipe-IT Configuration:
SNIPEIT_API_KEY=your-api-key
SNIPEIT_BASE_URL=https://your-instance.snipe-it.io/api/v1
SNIPEIT_DAMAGED_STATUS_ID=3
SNIPEIT_SUPPLIER_ID=1
Organization-Specific:
DISTRICT_CODE=your-district-code
SCHOOL_CODE=your-school-code
CLASS_NUMBER=your-class-number
OUTPUT_FOLDER=/path/to/output
Refer to individual script documentation (CLAUDE.md, README.md, SETUP.md files in subdirectories) for specific configuration requirements.
Scripts are designed to be run individually as needed. Many include interactive prompts or CLI menus.
cd accounts_and_rostering
python3 single_student.pycd inventory/chromebook_repair
python3 chromebook_maintenance.pycd accounts_and_rostering/tabeonline
python3 tabe_export.pyIndividual scripts and modules may include additional documentation:
CLAUDE.md- AI assistant guidance and detailed architectureREADME.md- Script-specific documentationSETUP.md- Setup and configuration instructions
- Never commit credentials or API keys to version control
- Use environment variables or
.envfiles (already in.gitignore) - Restrict API permissions to minimum required access
- Review scripts before running in production environments
Many scripts implement workflows specific to our organization's procedures:
- Platoon-based grouping and prefixes
- FileMaker as the source of truth for student data
- Integration with Google Apps Directory Sync
- Chromebook assignment and tracking
- Multi-step onboarding processes with manual approval gates
These workflows may need significant adaptation for use in other environments.
This repository is maintained for internal use. If adapting scripts for your organization, please fork the repository and modify as needed.
For questions or issues specific to these scripts, please open an issue in this repository.