Google Calendar

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…

Adrian Miller

@adrianmiller99

What This Skill Does

Provides programmatic access to Google Calendar via a command-line interface. Supports listing upcoming events, creating new events, updating existing ones, and deleting events by ID. Requires OAuth setup with a Google Cloud project.

Replaces manual calendar management and GUI interactions by enabling scripted, headless control over Google Calendar events.

When to Use It

  • List upcoming events for a specific date range
  • Create a new event with title, time, and attendees
  • Update an existing event's description or time
  • Delete an event by its calendar event ID
  • Automate calendar event creation from a script or workflow

Install

$ openclaw skills install @adrianmiller99/google-calendar

Google Calendar Skill

Overview

This skill provides a thin wrapper around the Google Calendar REST API. It lets you:

  • list upcoming events (optionally filtered by time range or query)
  • add a new event with title, start/end time, description, location, and attendees
  • update an existing event by its ID
  • delete an event by its ID

The skill is implemented in Python (scripts/google_calendar.py). It expects the following environment variables to be set (you can store them securely with openclaw secret set):

GOOGLE_CLIENT_ID=…
GOOGLE_CLIENT_SECRET=…
GOOGLE_REFRESH_TOKEN=…   # obtained after OAuth consent
GOOGLE_CALENDAR_ID=primary   # or the ID of a specific calendar

The first time you run the skill you may need to perform an OAuth flow to obtain a refresh token – see the Setup section below.

Commands

google-calendar list [--from <ISO> --to <ISO> --max <N>]
google-calendar add   --title <title> [--start <ISO> --end <ISO>]
                     [--desc <description> --location <loc> --attendees <email1,email2>]
google-calendar update --event-id <id> [--title <title> ... other fields]
google-calendar delete --event-id <id>

All commands return a JSON payload printed to stdout. Errors are printed to stderr and cause a non‑zero exit code.

Setup

  1. Create a Google Cloud project and enable the Google Calendar API.
  2. Create OAuth credentials (type Desktop app). Note the client_id and client_secret.
  3. Run the helper script to obtain a refresh token:
    GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… python3 -m google_calendar.auth
    
    It will open a browser (or print a URL you can open elsewhere) and ask you to grant access. After you approve, copy the refresh_token it prints.
  4. Store the credentials securely:
    openclaw secret set GOOGLE_CLIENT_ID <value>
    openclaw secret set GOOGLE_CLIENT_SECRET <value>
    openclaw secret set GOOGLE_REFRESH_TOKEN <value>
    openclaw secret set GOOGLE_CALENDAR_ID primary   # optional
    
  5. Install the required Python packages (once):
    pip install --user google-auth google-auth-oauthlib google-api-python-client
    

How it works (brief)

The script loads the credentials from the environment, refreshes the access token using the refresh token, builds a service = build('calendar', 'v3', credentials=creds), and then calls the appropriate API method.

References


Note: This skill does not require a GUI; it works entirely via HTTP calls, so it is suitable for headless servers.

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

Calendar

@xejrax

Manage Google Calendar events using `gcalcli`. Create, list, and delete calendar events from the CLI.

14.7k

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

Outlook

@byungkyu

Microsoft Outlook API integration with managed OAuth. Read, send, and manage emails, folders, calendar events, and contacts via Microsoft Graph. Use this skill when users want to interact with Outlook. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

4623k

Google Calendar (via gcalcli)

@lstpsche

Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

1017k

Google Merchant Center

@byungkyu

Google Merchant Center API integration with managed OAuth. This is a write-capable integration — it can read, create, update, and delete products, inventories, data sources, promotions, account settings, and conversions in Google Shopping. Use this skill when users want to interact with their Mercha

56.5k