Google Calendar (via gogcli)

Access and manage Google Calendar events with gogcli for cross-calendar agendas, keyword search, and filtered outputs avoiding unwanted calendars like holidays.

Nikita Shkoda

@lstpsche

What This Skill Does

Command-line tool to manage Google Calendar events across multiple calendars. Supports agenda views (today, week, custom range) and keyword search across all calendars, with automatic filtering of unwanted calendars like holidays. Output defaults to plain text for token efficiency, with JSON available for structured workflows.

Replaces manually checking multiple Google Calendar views or building custom calendar integrations by providing a single CLI for cross-calendar agenda, search, and filtering.

When to Use It

  • Check today's agenda across all your Google Calendars
  • Search for a specific event keyword across all calendars for the next 6 months
  • Get a plain-text summary of events for a custom date range
  • Filter out holiday calendars from agenda or search results
  • List all your Google Calendars with their IDs and names
  • Confirm before writing or modifying calendar events

Install

$ openclaw skills install @lstpsche/gog-calendar

gog-calendar

Use gog (gogcli) for Google Calendar: agenda (events list) and keyword search across calendars.

Output rule (tokens vs reliability)

gogcli stdout should stay parseable; prefer --plain / --json and put hints to stderr. oai_citation:0‡GitHub

  • Default to --plain for read-only listing you only summarize (cheaper tokens):
    • agenda listing (today / next days / range)
    • calendars list
  • Use --json only when structure is required:
    • aggregating results across calendars (cross-calendar keyword search)
    • deduping / sorting / extracting IDs for follow-up calls
    • any write workflow where exact fields matter
  • In automation runs, add --no-input (fail instead of prompting). oai_citation:1‡GitHub

Calendar exclusions (post-processing)

Users may explicitly exclude certain calendars from searches/agenda (e.g., “National holidays”).
When answering, you MUST:

  1. Query broadly (e.g., events --all or iterate all calendars for search),
  2. Then filter out excluded calendars in post-processing.

How to determine excluded calendars:

  • First, check the user’s preferences/memory for an explicit “exclude calendars” list.
  • If none is provided, apply a conservative default filter for obvious noise calendars:
    • calendars whose name/summary contains: holiday, holidays, national holidays (and localized equivalents)
  • Never filter out user-owned calendars unless explicitly excluded.

Filtering rule:

  • If you have calendar metadata (from gog calendar calendars), filter by calendar name/summary.
  • If you only have events output, filter by matching event’s calendarId to the excluded calendarIds resolved from the calendars list.

Always mention filtering briefly if it materially changes the answer:

  • “(Filtered out: National holidays)”

Agenda (always cross-calendar, then filter)

For “what’s on my calendar today / tomorrow / this week / between X and Y”:

  • MUST query all calendars:
    • gog calendar events --all --from <date_or_iso> --to <date_or_iso> --plain
  • Then apply calendar exclusions (above).
  • Do not answer “nothing scheduled” unless you ran the command for the correct window and applied filtering.

Examples:

  • Today: gog calendar events --all --from 2026-02-04 --to 2026-02-05 --plain
  • Next 7 days: gog calendar events --all --from 2026-02-04 --to 2026-02-11 --plain

Output formatting:

  • sort by start time
  • group by day
  • show: time range, summary, location (calendar name only if it helps)

Keyword search across calendars (best-effort, aggregate, then filter)

Calendar event queries are scoped to a calendarId (API is /calendars/{calendarId}/events), so keyword search must iterate calendars and aggregate results. oai_citation:2‡Google for Developers

Default window:

  • if user didn’t specify a range: next 6 months from today (inclusive)
  • if user specified date/range: use it

Workflow (do not skip):

  1. List calendars (need IDs + names for filtering):
    • gog calendar calendars --json
  2. Build the set of excluded calendarIds from the exclusions rule.
  3. For EACH non-excluded calendarId, search (JSON required for merge/dedupe):
    • gog calendar search "<query>" --calendar <calendarId> --from <from> --to <to> --max 50 --json --no-input
  4. Aggregate all matches across calendars (do NOT stop on first match unless user asked).
  5. Deduplicate by (calendarId, eventId), sort by start time.
  6. Report results and explicitly mention the searched window (and any filters applied).

If nothing found in default window:

  • say: “No events found in the next 6 months (<from><to>). Want me to search further (e.g., 12 months) or within specific dates?”

Fallback if user is sure it exists:

  • ask/derive an approximate date and list around it (then filter):
    • gog calendar events --all --from <date-7d> --to <date+7d> --plain
  • then match by title tokens locally (casefold + token overlap)

Writes (create/update/delete/RSVP)

Before any write action:

  • summarize exact intent (calendar, title, start/end, timezone, attendees, location)
  • ask for explicit “yes”
  • then run the command

Related skills

Google Calendar

@byungkyu

Google Calendar API integration with managed OAuth. Create events, list calendars, check availability, and manage schedules. Use this skill when users want to interact with Google Calendar. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

2111k

Google Calendar

@adrianmiller99

Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.

1117k

Outlook

@jotamed

Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.

2011k

Google Calendar

@hith3sh

Check Google Calendar calendars, find free time, schedule meetings, and update events via the Google Calendar API. Use this skill when users want help schedu...

335.1k

gogcli - Google Workspace CLI

@luccast

Command-line tool to manage Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Slides, Contacts, Tasks, People, Groups, and Keep.

611k

Apple Calendar CLI

@joargp

This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.

116.9k