calendar_lite.py script provides comprehensive calendar management including event viewing, client/project matching, Meet link management, and transcription handling.
Command Syntax
Calendar Selection
Specify a single calendar by name. Takes priority over
CALENDAR_NAME environment variable and config files.Metavar: NOMBREPrint the name of the active calendar(s) and exit. Does not fetch events.
List all calendars in your Google account with names and whether they’re the primary calendar.
Calendar priority:
--calendar argument > CALENDAR_NAME env variable > config/calendar.local.yaml > config/calendar.yaml > “primary”Date Range Options
Specify a date range for events. Accepts:
todayorhoy: Today’s eventsthis_weekoresta_semana: Current week (Monday-Sunday UTC)next_weekorproxima_semana: Next weekYYYY-MM-DD:YYYY-MM-DD: Custom date range (inclusive)
SPECShow events for the current week (Monday 00:00 UTC to next Monday).
Show today’s events and recent events (last 7 days). This is the default if no range is specified.
Event Display Options
Show attendee list and response status (accepted, declined, tentative, needsAction) for each event.
Match event titles with clients and projects from
config/clients.yaml and project matches.yaml files.Generate an agenda summary using event descriptions. Shows a condensed view with the first line of each event’s description.
Event Response
Accept, decline, or mark an invitation as tentative. Requires two arguments:
- Response type:
accept,decline, ortentative(also acceptsyes,no,accepted,declined) - Event ID
calendar.events scope (re-run setup_oauth.py if needed)Metavar: (accept|decline|tentative, EVENT_ID)Meet Link Management
Add Google Meet links to events that don’t have them. Only processes events in the specified range.Requires:
calendar.events scopeWhen used with
--add-meet, only add Meet links to events where you’re the organizer or an invited attendee.Transcription Management
Activate transcription for events with Meet links. First attempts to use Meet API to enable automatic transcription; if that fails, adds a reminder to the event description.Requires:
calendar.events scope (reminder), meetings.space.settings scope (automatic activation)When used with
--add-transcription-reminder, apply to all Meet events in range (not just events where you’re organizer/attendee).Read transcription content from a Google Doc linked in an event. Looks for events with Google Docs attachments or links in the description.
Date of the event to read transcription from (YYYY-MM-DD format). Defaults to yesterday if not specified.Metavar:
YYYY-MM-DDFilter transcription reading by client name (e.g., “mcr”).Metavar:
CLIENTEImport transcriptions from Google Docs linked in calendar events. Saves to
context/clients/<client>/projects/<project>/meetings/transcripcion-YYYY-MM-DD-<slug>.mdDate to import transcriptions from (YYYY-MM-DD format). Defaults to yesterday.Metavar:
YYYY-MM-DDUsage Examples
View today’s events
View events with attendees
Match events with clients and projects
Add Meet links to today’s events
Enable transcription for Meet events
Import transcriptions from yesterday
Read transcription from a specific date
Get agenda summary
Accept a calendar invitation
List all available calendars
Check which calendar is active
Exit Codes
- 0: Success - operation completed successfully
- 1: Error - missing credentials, API error, or invalid parameters
Error Conditions
API Scopes Required
Different operations require different Google API scopes:| Operation | Required Scope |
|---|---|
| View events | calendar.readonly |
| Add Meet, respond to events | calendar.events |
| Enable transcription (API) | meetings.space.settings |
| Read transcription docs | documents.readonly |
Configuration Files
The calendar command uses these configuration files:config/calendar.local.yaml(gitignored) - Local calendar namesconfig/calendar.yaml- Shared calendar configurationconfig/clients.yaml- Client matching rulescontext/clients/<client>/projects/*/matches.yaml- Project matching keywords
Related Commands
- run-morning - Full morning routine (includes calendar steps)
- setup-oauth - Configure Google Calendar API access