You're offline — showing cached data

Wiki

12-data-flows/morning-briefing
2026-06-13 08:46:17 SAST
Wiki Home → 12-data-flows/morning-briefing

Morning Briefing Flow

The morning briefing is a daily Telegram message sent to Elmar at 07:15 SAST on weekdays, summarizing the day's schedule and open tasks.

Task Definition

Flow Diagram

life_manager.py today-calendar    --> Today's events (Outlook + Google)
life_manager.py week-calendar     --> This week's remaining events
life_manager.py open-tickets      --> Open Life project tickets
           |
           v
    Claude formats message
           |
           v
    notify.py sends Telegram DM
           |
           v
    Elmar reads on phone

Steps

  1. Fetch today's calendar: Runs python3 ~/workspace/scripts/life_manager.py today-calendar to get Outlook + Google Calendar events for today
  2. Fetch week calendar: Runs python3 ~/workspace/scripts/life_manager.py week-calendar to get remaining events through Friday
  3. Fetch open tickets: Runs python3 ~/workspace/scripts/life_manager.py open-tickets to get all open Life project tickets
  4. Format message: Claude assembles the briefing:
  5. Header: Luci | Morning Briefing -- [Day] [Date]
  6. TODAY section: meetings/events with times (Outlook + Google, deduplicated). "No meetings today" if empty.
  7. THIS WEEK section: upcoming meetings for the rest of the week, grouped by day. Skips today and empty days.
  8. OPEN TICKETS section: high-priority Life tickets (max 5). Omitted if none.
  9. Send: Uses notify.py or the notify skill to send as a Telegram DM to Elmar

Related: Life Manager Digest

A companion flow runs twice daily (12:00 + 17:00 SAST):

Data Sources

Source API What It Provides
Outlook Calendar MS Graph API (via graph_api.py) Work meetings and events
Google Calendar Google Calendar API (via life_manager.py) Personal events
Google Tasks Google Tasks API (via life_manager.py) Personal reminders with due dates
MC tickets Mission Control API Open Life project tickets

Key Takeaways

Help