# calendar-api > Fetch Google Calendar events. Use when checking schedule, finding meetings, or verifying calendar entries. Invoked by morning-metrics, win-the-day, and other scheduling skills. - Author: Ed Dale - Repository: Eddale/powerhouse-lab - Version: 20260122125808 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/Eddale/powerhouse-lab - Web: https://mule.run/skillshub/@@Eddale/powerhouse-lab~calendar-api:20260122125808 --- --- name: calendar-api description: Fetch Google Calendar events. Use when checking schedule, finding meetings, or verifying calendar entries. Invoked by morning-metrics, win-the-day, and other scheduling skills. allowed-tools: Bash, Read --- # Calendar API ## What This Does Fetches events from Google Calendar (all visible calendars including shared ones). Returns structured JSON for other skills to consume. ## Instructions ### Available Commands Run the script with one of these flags: | Flag | Usage | Description | |------|-------|-------------| | `--today` | `--today` | Today's events with location | | `--upcoming` | `--upcoming 7` | Next N days (default 7) | | `--search` | `--search "Gagan"` | Find events matching term | | `--range` | `--range 2026-01-15 2026-01-20` | Events in date range | ### How to Invoke ```bash python3 /Users/eddale/Documents/GitHub/powerhouse-lab/skills/calendar-api/scripts/fetch_calendar.py [flags] ``` ### Parsing the Output The script returns JSON. Key fields: ```json { "calendars": ["Ed Dale - Personal", "Edward Dale"], "events": [ { "time": "2026-01-13T09:00:00+10:00", "summary": "David Smith and Ed Dale", "calendar": "Edward Dale", "location": "https://zoom.us/...", "attendees": ["david@example.com"], "description": "Weekly sync" } ], "count": 5, "status": "ok" } ``` ### Common Queries **Check if a meeting exists:** ```bash python3 .../fetch_calendar.py --search "Gagan" ``` If `count` is 0, the meeting isn't on the calendar. **What's on today:** ```bash python3 .../fetch_calendar.py --today ``` **Next week's schedule:** ```bash python3 .../fetch_calendar.py --upcoming 7 ``` ## Examples **User:** "Is the Gagan meeting on my calendar?" **Response flow:** 1. Run `--search "Gagan"` 2. Check if count > 0 3. If found: "Yes, [event summary] on [date/time]" 4. If not found: "No meeting with 'Gagan' found in the next 7 days" **User:** "What meetings do I have today?" **Response flow:** 1. Run `--today` 2. List events chronologically with times and locations ## Guidelines - Read-only: This skill fetches data, it does not create or modify events - Searches full event (title, attendees, description, location) - Returns events from ALL visible calendars (personal + shared) - Times are in local timezone (AEDT)