Google Calendar & Meet
Search and manage Google Calendar events and fetch Google Meet transcripts.
Overview
This skill provides comprehensive access to Google Calendar and Google Meet functionality:
- •Calendar Events: List, search, and get detailed meeting information
- •Meet Transcripts: Fetch transcripts from recorded Google Meet sessions
- •Meeting Invites: Check both calendar and Gmail for upcoming meetings
Prerequisites
Required:
- •Google Cloud Project with Calendar API and Meet API enabled
- •OAuth credentials in
~/.config/opencode/.mcp-credentials.json(reuses 'gmail' section) - •First run will prompt for OAuth authorization
Verify Credentials:
cat ~/.config/opencode/.mcp-credentials.json
If not configured:
# Enable APIs in Google Cloud Console: # - Calendar API (https://console.cloud.google.com/apis/library/calendar-json.googleapis.com) # - Google Meet API (https://console.cloud.google.com/apis/library/meet.googleapis.com)
Usage
CLI Commands
# List meetings (default: past 30 days to next 30 days) ~/.config/opencode/skills/comms/gcal/scripts/gcal.py list [days_past] [days_future] # Search meetings by query ~/.config/opencode/skills/comms/gcal/scripts/gcal.py search '<query>' [max_results] # Get specific meeting details ~/.config/opencode/skills/comms/gcal/scripts/gcal.py get '<query>' [index] # List conference records (for transcripts) ~/.config/opencode/skills/comms/gcal/scripts/gcal.py records [max_results] # Get meeting transcript ~/.config/opencode/skills/comms/gcal/scripts/gcal.py transcript [meeting_code] [index] # Check all meetings (Calendar + Gmail invites) ~/.config/opencode/skills/comms/gcal/scripts/gcal.py check [days_forward] [days_past]
Command Examples
List upcoming meetings for next 7 days:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py list 0 7
Search for standup meetings:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py search "standup"
Get details of first matching meeting:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py get "standup" 0
List available conference records:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py records 10
Get transcript by meeting code:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py transcript abc-mnop-xyz
Get transcript by index:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py transcript 0
Comprehensive meeting check (Calendar + Gmail invites):
~/.config/opencode/skills/comms/gcal/scripts/gcal.py check 7 1
Authentication
On first run, the script will:
- •Open a browser window for OAuth authorization
- •Save token to
~/.config/opencode/skills/comms/gcal/gcal_token.json(Calendar API) - •For Meet transcripts, run Meet API commands to create separate token
To re-authenticate:
# Delete token files and run again rm ~/.config/opencode/skills/comms/gcal/gcal_token.json rm ~/.config/opencode/skills/comms/gcal/gcal_meet_token.json ~/.config/opencode/skills/comms/gcal/scripts/gcal.py list
Output Format
List output:
Found 5 meetings: 1. Team Standup Start: 2025-01-02T09:00:00Z End: 2025-01-02T09:30:00Z Meet: https://meet.google.com/abc-mnop-xyz Attendees: user1@example.com, user2@example.com 2. Project Review Start: 2025-01-02T14:00:00Z ...
Transcript output:
Transcript for: abc-mnop-xyz Meeting Code: abc-mnop-xyz Start Time: 2025-01-02T09:00:00Z Entries: 45 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [John Doe @ 2025-01-02T09:01:23Z] Good morning everyone, let's get started [Jane Smith @ 2025-01-02T09:01:45Z] I'll start with the updates ...
Error Handling
- •
OAuth credentials not found
- •Error:
OAuth credentials not found at ~/.config/opencode/.mcp-credentials.json - •Solution: Create credentials file with Gmail/Google OAuth credentials
- •Error:
- •
API not enabled
- •Error:
API is not enabled for this project - •Solution: Enable Calendar API and/or Meet API in Google Cloud Console
- •Error:
- •
Token expired
- •Error:
Token has been revoked or expired - •Solution: Delete token files and re-run to re-authenticate
- •Error:
- •
No conference records
- •Error:
No conference records found - •Solution: Transcripts are only available if meeting recording was enabled
- •Error:
Examples
Example 1: Daily Meeting Check
User Request: "What meetings do I have today?"
Command:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py check 0 0
Output:
📅 Calendar Events (3 found): 1. Daily Standup Start: 2025-01-02T09:00:00Z End: 2025-01-02T09:30:00Z Meet: https://meet.google.com/abc-mnop-xyz Attendees: team@example.com 2. Client Call Start: 2025-01-02T11:00:00Z ... 📧 Email Invites: None found
Example 2: Fetch Meeting Transcript
User Request: "Get the transcript from yesterday's standup"
Command:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py records 10 # Then use meeting code from output ~/.config/opencode/skills/comms/gcal/scripts/gcal.py transcript abc-mnop-xyz
Example 3: Search Past Meetings
User Request: "Find meetings about the Q1 planning from last month"
Command:
~/.config/opencode/skills/comms/gcal/scripts/gcal.py search "Q1 planning"