OpenClaw · Skill
Webuntis
Use the bundled script to log in and fetch the timetable via JSON-RPC.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install finnbusse/webuntisClawHub installer
npx clawhub@latest install finnbusse/webuntisOpenClaw CLI
openclaw skills install finnbusse/webuntisDirect OpenClaw install
openclaw install finnbusse/webuntisWhat this skill does
Use the bundled script to log in and fetch the timetable via JSON-RPC.
Why it matters
Pulls live timetable data directly from the school's WebUntis instance instead of requiring manual lookup through the web interface or app.
Typical use cases
- Check today's class schedule before heading to school
- Look up which room a class is in tomorrow
- Find out who is substituting for a teacher this week
- Get the full timetable for a specific date range
- Compare schedules across two student profiles at different schools
Source instructions
WebUntis (Untis) timetable
Use the bundled script to log in and fetch the timetable via JSON-RPC.
Security / credentials
- Do not ask the user to paste passwords into chat.
- Prefer a dedicated read-only student account if the school allows it.
- Credentials must be provided via environment variables (or injected securely by the operator).
Single profile:
WEBUNTIS_BASE_URL(e.g.https://xyz.webuntis.com)WEBUNTIS_SCHOOL(school name / key used by WebUntis)WEBUNTIS_USERWEBUNTIS_PASS- Optional:
WEBUNTIS_ELEMENT_TYPE(default5= student) - Optional:
WEBUNTIS_ELEMENT_ID(if auto-detect fails)
Multiple profiles (parallel):
- Set
WEBUNTIS_PROFILE=<name>or pass--profile <name> - Provide env vars prefixed by the profile name, e.g. for profile
cdg:WEBUNTIS_CDG_BASE_URLWEBUNTIS_CDG_SCHOOLWEBUNTIS_CDG_USERWEBUNTIS_CDG_PASS- optional:
WEBUNTIS_CDG_ELEMENT_TYPE,WEBUNTIS_CDG_ELEMENT_ID
Quick commands (exec)
Today:
cd skills/webuntis/scripts
./webuntis.py today
# or pick a profile
./webuntis.py --profile cdg today
Range:
cd skills/webuntis/scripts
./webuntis.py range 2026-02-10 2026-02-14
Troubleshooting
If you get "Could not determine element-id":
- Run once and capture the error.
- Add
WEBUNTIS_ELEMENT_ID=<number>and retry.
If auth fails:
- Verify
WEBUNTIS_BASE_URLis correct for your school. - Verify
WEBUNTIS_SCHOOLmatches the school key used by WebUntis.
Output
The script prints one line per lesson/event:
YYYY-MM-DD HH:MM-HH:MM · <subject> · Raum <room> · bei <teacher>