πŸ“…

CALENDAR

Natural language β†’ Google Calendar β†’ WhatsApp reminders

Neo types a plain-English reminder; Zion parses date, time, and title with Groq or Gemini, writes to Google Calendar, confirms on WhatsApp, then calendar_reminder.py polls every 10 minutes and sends 24h / 2h / 1h heads-ups.

A Real Conversation

Create in chat β€” reminders fire automatically from the calendar service

@zion remind me dentist tomorrow 3pm 11:20 AM [Zion] βœ… Event Created! ━━━━━━━━━━━━━━━━━━━━━━ πŸ“… Dentist πŸ“† Tomorrow, 3:00 PM ⏰ Reminder: 1 hour before Added to Google Calendar 11:20 AM βœ“βœ“ [Zion] πŸ“… Reminder: Dentist in 1 hour! (Today 3:00 PM) 2:00 PM βœ“βœ“ Also: @zion what's today? β†’ shows all events πŸ” click to read full brief NEO πŸ“± WhatsApp β€” same thread ZION routes @zion remind calendar intent NL command GROQ / GEMINI parse title + date/time timezone-aware JSON structured event draft GOOGLE CALENDAR API OAuth2 β€” create event eventId stored in DB calendar_reminders.db WhatsApp confirm [Zion] βœ… Created… Bridge /api/send instant confirmation calendar_reminder.py poll every 10 min 24h / 2h / 1h windows zion-calendar.service later: scheduled pings Key files: calendar_create.py Β· calendar_reminder.py

Capability Map

Calendar construct β€” center hub + four domains

πŸ“… CALENDAR CREATE natural language β†’ event Groq / Gemini parser Google Calendar API write title + datetime + tz REMINDERS 24h, 2h, 1h before poll every 10 minutes zion-calendar.service calendar_reminder.py WhatsApp nudge text SYNC Google Calendar OAuth2 calendar_reminders.db event IDs + fire times durable reminder queue COMMANDS @zion remind me … @zion calendar @zion today list / query / cancel flows

Tech Stack

RuntimePython 3 β€” zion.service + zion-calendar.service
ParserGroq OpenAI GPT-OSS-120B / Gemini Flash β€” NL β†’ structured event
CalendarGoogle Calendar API β€” OAuth2, create + list
Reminderscalendar_reminder.py β€” 10 min poll, 24h/2h/1h tiers
Storagecalendar_reminders.db β€” SQLite on VM
DeliveryWhatsApp Bridge POST /api/send
Key Filescalendar_create.py, calendar_reminder.py
βœ•
πŸ“… CALENDAR
@zion remind me dentist
tomorrow 3pm
11:20 AM
[Zion] βœ… Event Created!
━━━━━━━━━━━━━━━━━━━━━━
πŸ“… Dentist
πŸ“† Tomorrow, 3:00 PM
⏰ Reminder: 1 hour before
Added to Google Calendar
11:20 AM βœ“βœ“
[Zion] πŸ“… Reminder:
Dentist in 1 hour!
(Today 3:00 PM)
2:00 PM βœ“βœ“
Also: @zion what's today? β†’ shows all events