# webtop-skill > Complete homework management system with Google Calendar integration and WhatsApp notifications for Israeli schools. - Author: Shaike Lukov - Repository: shaike1/webtop-skill - Version: 20260128210705 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/shaike1/webtop-skill - Web: https://mule.run/skillshub/@@shaike1/webtop-skill~webtop-skill:20260128210705 --- --- name: webtop-skill description: Complete homework management system with Google Calendar integration and WhatsApp notifications for Israeli schools. metadata: {"clawdbot":{"emoji":"๐Ÿ“š","github":true},"github":true,"clawdhub":true} --- # Webtop Homework Skill A comprehensive homework management system for Israeli schools that integrates with Webtop (SmartSchool) student portal, Google Calendar, and WhatsApp messaging. ## ๐ŸŒŸ Features ### Core Functionality - ๐Ÿ“– **Homework Management** - Get and parse homework assignments from Webtop - ๐Ÿ‘ฅ **Multi-Student Support** - Track homework for multiple students simultaneously - ๐Ÿ”„ **Automated Monitoring** - Continuous monitoring of new homework assignments - ๐Ÿ“Š **Enhanced Parsing** - Advanced parsing of complex homework structures ### Calendar Integration - ๐Ÿ“… **Google Calendar Sync** - Automatic sync with Google Calendar - ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ **Family Calendar Management** - Dedicated family calendar synchronization - ๐Ÿ  **Family Event Tracking** - Track family activities, appointments, and kid's events - ๐Ÿ•˜ **Event Management** - Create, view, and manage calendar events - ๐ŸŒ™ **Automatic Cleanup** - Delete evening events (configurable time) - ๐Ÿ“‹ **Calendar Insights** - Get daily schedule and calendar insights ### ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family Calendar Sync - ๐Ÿ  **Family Calendar ID**: `your_family_calendar_id_here@group.v.calendar.google.com` - ๐Ÿ‘ฅ **Multi-Family Support** - Track all family members in one shared calendar - ๐Ÿ“… **Family Event Sync** - Automatically sync family activities and appointments - ๐ŸŽฏ **Kids' Activity Management** - Track extracurricular activities, lessons, and events - ๐Ÿ”„ **Smart Event Conflict Detection** - Identify overlapping schedules - ๐Ÿ’ **Special Occasion Reminders** - Birthdays, holidays, and family events ### Messaging & Notifications - ๐Ÿ’ฌ **WhatsApp Integration** - Automated messages to groups or individuals - ๐Ÿ“ฑ **Real-time Updates** - Instant notifications about homework changes - ๐Ÿ“ **Formatted Messages** - Rich text messages with emojis and structure - ๐Ÿ”„ **Scheduled Messages** - Automated daily/weekly homework summaries ### Advanced Features - ๐Ÿ” **Homework Analytics** - Track homework patterns and trends - โฐ **Time Management** - Suggest optimal study times based on calendar - ๐Ÿ’พ **Data Persistence** - Store homework history and state - ๐ŸŽฏ **Smart Notifications** - Context-aware homework reminders ## ๐Ÿš€ Installation ### Prerequisites - Python 3.7+ - Google Calendar API credentials - WhatsApp integration (via clawdbot) - Playwright browser automation ### Setup Steps 1. **Clone the skill:** ```bash git clone https://github.com/clawdbot/webtop-skill.git cd webtop-skill ``` 2. **Install dependencies:** ```bash pip install -r requirements.txt ``` 3. **Get your credentials:** - Student usernames and passwords from school - Google Calendar API credentials - WhatsApp group JID and phone number - Family Google Calendar ID 4. **Configure Google Calendar API:** - Enable Google Calendar API in Google Cloud Console - Create OAuth 2.0 credentials - Save credentials as `/root/clawd/skills/calendar/token.pickle` 5. **Set up credentials:** ```bash # Student credentials (format: username:password) - Replace with your actual credentials echo "STUDENT_CREDENTIALS=your_student1_username:password,your_student2_username:password" >> .env ``` ## ๐Ÿ“– Usage ### Basic Commands #### Get Homework ```bash # Get homework for a specific student python3 webtop.py homework [username] [password] # Get homework for all configured students python3 homework_to_group.py # Monitor homework continuously python3 homework_monitor.py ``` #### Calendar Operations ```bash # Check calendar events python3 calendar_simple.py # List all calendars and evening events python3 list_calendars.py # Automatically delete evening events python3 auto_delete_evening_events.py # Sync homework with calendar python3 homework_with_calendar.py # Family Calendar Management python3 family_calendar_manager.py # Homework formatting example python3 homework_formatting_example.py # Family Calendar Management ```bash # Interactive family calendar manager python3 family_calendar_manager.py # Add homework to family calendar python3 -c " from family_calendar_manager import FamilyCalendarManager manager = FamilyCalendarManager() manager.add_homework_to_family_calendar( 'GENERIC_STUDENT_1', {'subject': 'ืžืชืžื˜ื™ืงื”', 'content': 'ืคืจืง 4 ืชืจื’ื™ืœื™ื 1-8', 'due_date': '2026-01-31T18:00:00+02:00'} ) " # Generate family calendar summary python3 -c " from family_calendar_manager import FamilyCalendarManager manager = FamilyCalendarManager() summary = manager.generate_family_calendar_summary() print(summary) " ``` ``` #### WhatsApp Messaging ```bash # Send homework summary to WhatsApp python3 homework_to_group.py # Custom message formatting python3 send_homework_summary.py ``` ### Advanced Configuration #### Environment Variables ```bash # WhatsApp settings export WHATSAPP_GROUP_JID=your_group_jid_here@g.us export WHATSAPP_TARGET=your_phone_number_here # Calendar settings export GOOGLE_TOKEN_FILE=/root/clawd/skills/calendar/token.pickle export GOOGLE_CALENDAR_ID=REDACTED_EMAIL # Family Calendar settings export GOOGLE_FAMILY_CALENDAR_ID=your_family_calendar_id_here@group.v.calendar.google.com export FAMILY_CLEANUP_HOUR=18 export FAMILY_SYNC_ENABLED=true # Monitoring settings export EVENING_HOUR=18 export MONITOR_INTERVAL=3600 ``` #### Cron Jobs ```bash # Daily homework summary at 6 PM 0 18 * * * cd /root/clawd/skills/webtop-skill && python3 homework_to_group.py # Cleanup evening events daily 0 19 * * * cd /root/clawd/skills/webtop-skill && python3 auto_delete_evening_events.py # Monitor homework every hour 0 * * * * cd /root/clawd/skills/webtop-skill && python3 homework_monitor.py ``` ## ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family Calendar Features ### ๐Ÿ  Family Calendar ID ``` Family Calendar: family12177618533539040605@group.v.calendar.google.com Access Role: Owner Sync Status: Active ``` ### ๐Ÿ‘ฅ Multi-Member Support - **GENERIC_STUDENT_1 (Class A)**: Math, Hebrew, Science homework tracking - **GENERIC_STUDENT_2 (Class B)**: English, History, Math homework tracking - **Color coding**: Each family member has unique calendar colors - **Individual sync**: Per-student homework and activities ### ๐ŸŽฏ Smart Event Classification - **๐ŸŽ“ Lessons**: Music, sports, art classes (Orange) - **โš ๏ธ Tests & Exams**: School assessments (Red) - **๐ŸŽ‰ Celebrations**: Birthdays, holidays (Purple) - **๐Ÿฅ Medical**: Doctor appointments (Blue) - **๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family**: Family events and activities (Teal) - **๐Ÿ“š Homework**: School assignments (Orange) ### โšก Automation Features - **Daily cleanup**: Automatic deletion of evening events (6:00 PM+) - **Smart reminders**: Configurable notification system - **Conflict detection**: Identifies overlapping schedules - **Color-coded events**: Visual organization by event type ### ๐Ÿ“ฑ Integration Points - **WhatsApp**: Daily family calendar summaries - **Google Calendar**: Full two-way sync - **Webtop**: Automatic homework import - **Mobile**: Calendar access on all devices ## ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family Calendar Setup ### Configuration ```bash # Set family calendar ID export GOOGLE_FAMILY_CALENDAR_ID="family12177618533539040605@group.v.calendar.google.com" # Set family calendar management export FAMILY_CLEANUP_HOUR=18 # Delete events after 6 PM export FAMILY_SYNC_ENABLED=true ``` ### Family Calendar Scripts ```bash # View family calendar python3 list_calendars.py # Clean up family evening events python3 auto_delete_evening_events.py # Sync family activities python3 homework_with_calendar.py --family # Add family event python3 calendar_integration.py --add-family-event "Family Dinner" --date "2026-01-30" ``` ### Family Event Types - ๐Ÿ‘ถ **Kids' Lessons** - Music, sports, art classes - ๐Ÿฅ **Appointments** - Doctor, dentist, therapy - ๐ŸŽ‰ **Celebrations** - Birthdays, holidays, family events - ๐Ÿ“š **School Events** - Parent meetings, school activities - ๐Ÿš— **Transportation** - Pickups, drop-offs, carpools ## ๐Ÿ”ง Configuration Setup ### Security Notice โš ๏ธ **Never commit sensitive data** to version control. All personal information has been removed. ### 1. Student Credentials Create `students_data.json`: ```json { "students": [ { "name": "Child1_Name", "username": "student_username_1", "password": "student_password_1" }, { "name": "Child2_Name", "username": "student_username_2", "password": "student_password_2" } ] } ``` ### 2. Family Calendar Configuration Create `family_config.json`: ```json { "family_calendar": { "calendar_id": "your_family_calendar_id_here@group.v.calendar.google.com" } } ``` ### 3. Environment Variables Set up your credentials: ```bash # WhatsApp settings export WHATSAPP_GROUP_JID=your_group_jid_here@g.us export WHATSAPP_TARGET=your_phone_number_here # Calendar settings export GOOGLE_FAMILY_CALENDAR_ID=your_family_calendar_id_here@group.v.calendar.google.com export GOOGLE_CALENDAR_ID=your_parent_email@gmail.com ``` ### students_data.json ```json { "students": [ { "name": "GENERIC_STUDENT_1", "username": "REDACTED_STUDENT_1", "password": "REDACTED_PASSWORD_1" }, { "name": "GENERIC_STUDENT_2", "username": "REDACTED_STUDENT_2", "password": "REDACTED_PASSWORD_2" } ] } ``` ### homework_state.json ```json { "shira": { "hash": "5b88581c1d88c2346900a4f82aaaebba", "last_check": "2026-01-28T12:22:48.288090", "homework_text": "ืฉื™ืขื•ืจื™ ื‘ื™ืช..." } } ``` ## ๐Ÿ“ File Structure ``` webtop-skill/ โ”œโ”€โ”€ SKILL.md # Skill description and documentation โ”œโ”€โ”€ webtop.py # Main webtop interface โ”œโ”€โ”€ get_homework.py # Homework retrieval โ”œโ”€โ”€ homework_to_group.py # WhatsApp integration โ”œโ”€โ”€ calendar_simple.py # Google Calendar integration โ”œโ”€โ”€ list_calendars.py # Calendar listing tool โ”œโ”€โ”€ auto_delete_evening_events.py # Automated cleanup โ”œโ”€โ”€ calendar_integration.py # Calendar API integration โ”œโ”€โ”€ homework_with_calendar.py # Combined calendar sync โ”œโ”€โ”€ homework_monitor.py # Continuous monitoring โ”œโ”€โ”€ family_calendar_manager.py # Family calendar management โ”œโ”€โ”€ enhanced_homework_parser.py # Advanced parsing โ”œโ”€โ”€ homework_formatting_example.py # Homework formatting demo โ”œโ”€โ”€ send_homework_summary.py # Message formatting โ”œโ”€โ”€ requirements.txt # Python dependencies โ”œโ”€โ”€ students_data.json # Student credentials โ”œโ”€โ”€ homework_state.json # State tracking โ”œโ”€โ”€ family_config.json # Family calendar settings โ”œโ”€โ”€ HOMEWORK_FORMATTING.md # Homework formatting guide โ””โ”€โ”€ calendar/ # Calendar credentials and tokens โ””โ”€โ”€ token.pickle # Google Calendar API token ``` ## ๐Ÿ”’ Security Notes - **Never commit credentials** to version control - **Use environment variables** for sensitive data - **Store tokens securely** with restricted permissions - **Regular credential rotation** for enhanced security ## ๐Ÿ› Troubleshooting ### Common Issues 1. **Google Calendar API Errors** - Verify OAuth credentials are valid - Check API quotas and permissions - Ensure token file exists and is readable 2. **WhatsApp Connection Issues** - Verify clawdbot is installed and working - Check WhatsApp credentials and permissions - Test with simple message first 3. **Webtop Login Problems** - Verify student credentials are correct - Check if Webtop interface has changed - Ensure browser automation dependencies are installed ## ๐Ÿค Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests for new functionality 5. Submit a pull request ## ๐Ÿ“„ License This skill is part of the Clawdbot ecosystem and is licensed under the MIT License. ## ๐Ÿ™ Acknowledgments - SmartSchool/Webtop for providing the student portal - Google Calendar API for calendar integration - WhatsApp for messaging capabilities - Clawdbot for the automation platform ## ๐Ÿ“ž Support For issues and questions: - Create an issue on GitHub - Check the Clawdbot Discord community - Review the troubleshooting section above