Settings
Integrations & schedule
What's wired up, what isn't, and how to turn the rest on.
Sync Canvas
Pull the latest courses, assignments, and grades now.
Daily digest
See exactly what Seshat would send you today.
Device alerts
Get the stressors as push notifications on every device you open Seshat on — Mac, iPhone, iPad, any browser. Enable it once per device.
School calendar
Pull your classes (recurring ones too) from your Google secret iCal feed. Re-syncs every cycle.
Find it in Google Calendar → that calendar's Settings→ “Secret address in iCal format”. Keep it private — anyone with the link can read the calendar. docs/school-calendar.md
Integration status
Canvas
ActiveConnected to alueducation.instructure.com
AI (Claude)
Not configuredAdd ANTHROPIC_API_KEY to enable explain / outline / chat.
Get a key from the Anthropic console and set ANTHROPIC_API_KEY. docs/ai.md
Telegram
Not configuredSet TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID for push nudges.
Create a bot via @BotFather, grab the token and your chat id. docs/telegram.md
Google Calendar
Not configuredSet GOOGLE_CLIENT_ID, secret, and a refresh token to push due dates.
Run the OAuth flow to mint a refresh token (one-time). docs/google-calendar.md
Apple Reminders
Not configuredSet REMINDERS_ENABLED=true to mirror deadlines into Reminders.
Local runs osascript here; ssh runs it on your Mac over Tailscale. docs/reminders.md
Schedule
Read-only — set via env. Restart the app to apply changes.
- Canvas sync
- */30 * * * *
- how often Canvas is polled
- Daily digest
- 0 7 * * *
- when the summary fires
- Timezone
- Africa/Kigali
- used for all schedule times
Due-soon nudges fire at: 168,48,24,3 hours before each deadline.