Webtop / Galim / Ofek
Use this skill to work with Webtop / SmartSchool, Galim Pro, and Ofek student task portals.
Status
Both portals are working ✅
- Ofek (
students.myofek.cet.ac.il) — working via Ministry of Education SSO - Galim Pro (
lms.galim.org.il) — working via Ministry of Education SSO
Quick start
# Webtop only
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/webtop_fetch_summary.py
# Galim only
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/galim_fetch_tasks.py
# Ofek only
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/fetch_tasks.py
# Unified report (Webtop + Galim + Ofek)
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/unified_report.py
# Expanded report for WhatsApp / review
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/expanded_report.py --days 30 --limit 5
# Sync Galim due dates to calendar
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/sync_galim_calendar.py --days 30
# JSON output
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/fetch_tasks.py --json
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/galim_fetch_tasks.py --json
Credentials
Stored in /root/.openclaw/workspace/.env/galim.env:
GALIM_USERNAME_CHILD1=... GALIM_PASSWORD_CHILD1=...
GALIM_USERNAME_CHILD2=... GALIM_PASSWORD_CHILD2=...
OFEK_USERNAME_CHILD1=... OFEK_PASSWORD_CHILD1=...
OFEK_USERNAME_CHILD2=... OFEK_PASSWORD_CHILD2=...
Credentials are Ministry of Education student IDs and passwords. Same credentials work for both portals.
Important: Ofek URL
The correct URL for Ofek is students.myofek.cet.ac.il (not myofek.cet.ac.il).
myofek.cet.ac.il blocks datacenter IPs (503). students.myofek.cet.ac.il does not.
Login flow
Ofek:
https://students.myofek.cet.ac.il/he- Click "התחברות משרד החינוך"
- Redirects to
lgn.edu.gov.ilSSO (EduCombinedAuthUidPwd) - Fill
#userName+#password, click "כניסה" - Redirects back to
students.myofek.cet.ac.il/hewith full session
Galim Pro:
https://userdata.galim.org.il/login_idm?request_uri=https%3A%2F%2Fpro.galim.org.il%2F%3Flang%3Dhe- Fill
#userName+#password, click "כניסה" - Navigate to
https://lms.galim.org.il/personal?lang=he
Task counters extracted
Ofek (from page body text):
לביצוע (N)→ open_countהוחזר לתיקון (N)→ fix_countמחכה לבדיקת מורה (N)→ waiting_countבוצע ונבדק (N)→ checked_count- Visible activity extraction when present:
- title
- subject
- teacher
- due date
- sections such as urgent / overdue activities
Galim (parsed from table text):
- Per task: assigned_at, title, task_type, subject, due_at, overdue
Suggested output format
📚 משימות תלמידים
👤 Child 1
גלים: 13 משימות | אופק: לביצוע 9, לתיקון 1
👤 Child 2
גלים: 1 משימה ⚠️ | אופק: לביצוע 27
Automation
Configured daily flow:
06:15—scripts/sync_galim_calendar.py --days 30- creates family-calendar events for Galim tasks with clear due dates
- reminders: 1 day before + 3 hours before
06:20—scripts/expanded_report.py --days 30 --limit 5- sends a WhatsApp update to the family updates group
- covers Ofek + Galim + Webtop
Notes:
- Calendar target is configurable via
OFEK_GALIM_CALENDAR_ID - WhatsApp target group is configurable via
OFEK_GALIM_WHATSAPP_GROUP - Child credentials should be provided via env vars /
OFEK_KIDS_JSON, not stored in the skill - Ofek currently provides counters plus visible activity details parsed from page text (for example overdue / urgent visible items); Galim still provides the richer structured task list with due dates.
Files
scripts/webtop_fetch_summary.py— Webtop / SmartSchool fetcherscripts/galim_fetch_tasks.py— Galim Pro fetcher (Playwright, LMS)scripts/fetch_tasks.py— Ofek fetcher (Playwright, students portal)scripts/unified_report.py— runs Webtop + Galim + Ofek and prints a combined Hebrew reportscripts/expanded_report.py— richer report with task titles and due datesscripts/sync_galim_calendar.py— syncs Galim tasks with due dates into the family Google Calendarscripts/auto_update_flow.py— helper for stateful daily automation flowscripts/install.sh— creates a local env template and prints setup/test stepsscripts/galim_probe.py— legacy Selenium probe (kept for reference)scripts/webtop_fetch_summary.py— Webtop/SmartSchool fetcherreferences/ofek-bot-notes.md— notes from reference repo and migration historyreferences/ofek-investigation-summary.md— detailed Ofek debugging notes and findingsreferences/env-example.md— credentials file format