skills$openclaw/gcal-pro
bilalmohamed187-cpu3.1k

by bilalmohamed187-cpu

gcal-pro – OpenClaw Skill

gcal-pro is an OpenClaw Skills integration for security workflows. Google Calendar integration for viewing, creating, and managing calendar events. Use when the user asks about their schedule, wants to add/edit/delete events, check availability, or needs a morning brief. Supports natural language like "What's on my calendar tomorrow?" or "Schedule lunch with Alex at noon Friday." Free tier provides read access; Pro tier ($12) adds create/edit/delete and morning briefs.

3.1k stars7.6k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026security

Skill Snapshot

namegcal-pro
descriptionGoogle Calendar integration for viewing, creating, and managing calendar events. Use when the user asks about their schedule, wants to add/edit/delete events, check availability, or needs a morning brief. Supports natural language like "What's on my calendar tomorrow?" or "Schedule lunch with Alex at noon Friday." Free tier provides read access; Pro tier ($12) adds create/edit/delete and morning briefs. OpenClaw Skills integration.
ownerbilalmohamed187-cpu
repositorybilalmohamed187-cpu/gcal-pro-calendar
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @bilalmohamed187-cpu/gcal-pro-calendar
last updatedFeb 7, 2026

Maintainer

bilalmohamed187-cpu

bilalmohamed187-cpu

Maintains gcal-pro in the OpenClaw Skills directory.

View GitHub profile
File Explorer
13 files
.
docs
GOOGLE_CLOUD_SETUP.md
4.6 KB
references
api-quickref.md
3.0 KB
scripts
gcal_auth.py
7.4 KB
gcal_core.py
20.7 KB
gcal_license.py
5.6 KB
_meta.json
308 B
README-INSTALL.txt
1.5 KB
README.md
3.3 KB
requirements.txt
170 B
SKILL.md
5.7 KB
SKILL.md

name: gcal-pro description: Google Calendar integration for viewing, creating, and managing calendar events. Use when the user asks about their schedule, wants to add/edit/delete events, check availability, or needs a morning brief. Supports natural language like "What's on my calendar tomorrow?" or "Schedule lunch with Alex at noon Friday." Free tier provides read access; Pro tier ($12) adds create/edit/delete and morning briefs.

gcal-pro

Manage Google Calendar through natural conversation.

Quick Reference

ActionCommandTier
View todaypython scripts/gcal_core.py todayFree
View tomorrowpython scripts/gcal_core.py tomorrowFree
View weekpython scripts/gcal_core.py weekFree
Search eventspython scripts/gcal_core.py search -q "meeting"Free
List calendarspython scripts/gcal_core.py calendarsFree
Find free timepython scripts/gcal_core.py freeFree
Quick addpython scripts/gcal_core.py quick -q "Lunch Friday noon"Pro
Delete eventpython scripts/gcal_core.py delete --id EVENT_ID -yPro
Morning briefpython scripts/gcal_core.py briefPro

Setup

First-time setup required:

  1. User must create Google Cloud project and OAuth credentials
  2. Save client_secret.json to ~/.config/gcal-pro/
  3. Run authentication:
    python scripts/gcal_auth.py auth
    
  4. Browser opens → user grants calendar access → done

Check auth status:

python scripts/gcal_auth.py status

Tiers

Free Tier

  • View events (today, tomorrow, week, month)
  • Search events
  • List calendars
  • Find free time slots

Pro Tier ($12 one-time)

  • Everything in Free, plus:
  • Create events
  • Quick add (natural language)
  • Update/reschedule events
  • Delete events
  • Morning brief via cron

Usage Patterns

Viewing Schedule

When user asks "What's on my calendar?" or "What do I have today?":

cd /path/to/gcal-pro
python scripts/gcal_core.py today

For specific ranges:

  • "tomorrow" → python scripts/gcal_core.py tomorrow
  • "this week" → python scripts/gcal_core.py week
  • "meetings with Alex" → python scripts/gcal_core.py search -q "Alex"

Creating Events (Pro)

When user says "Add X to my calendar" or "Schedule Y":

Option 1: Quick add (natural language)

python scripts/gcal_core.py quick -q "Lunch with Alex Friday at noon"

Option 2: Structured create (via Python)

from scripts.gcal_core import create_event, parse_datetime

create_event(
    summary="Lunch with Alex",
    start=parse_datetime("Friday noon"),
    location="Cafe Roma",
    confirmed=True  # Set False to show confirmation prompt
)

Modifying Events (Pro)

⚠️ CONFIRMATION REQUIRED for destructive actions!

Before deleting or significantly modifying an event, ALWAYS confirm with the user:

  1. Show event details
  2. Ask "Should I delete/reschedule this?"
  3. Only proceed with confirmed=True or -y flag after user confirms

Delete:

# First, find the event
python scripts/gcal_core.py search -q "dentist"
# Shows event ID

# Then delete (with user confirmation)
python scripts/gcal_core.py delete --id abc123xyz -y

Finding Free Time

When user asks "When am I free?" or "Find time for a 1-hour meeting":

python scripts/gcal_core.py free

Morning Brief (Pro + Cron)

Set up via Clawdbot cron to send daily agenda:

from scripts.gcal_core import generate_morning_brief
print(generate_morning_brief())

Cron setup example:

  • Schedule: 8:00 AM daily
  • Action: Run python scripts/gcal_core.py brief
  • Delivery: Send output to user's messaging channel

Error Handling

ErrorCauseSolution
"client_secret.json not found"Setup incompleteComplete Google Cloud setup
"Token refresh failed"Expired/revokedRun python scripts/gcal_auth.py auth --force
"requires Pro tier"Free user attempting writePrompt upgrade or explain limitation
"Event not found"Invalid event IDSearch for correct event first

Timezone Handling

  • All times are interpreted in user's local timezone (default: America/New_York)
  • When user specifies timezone (e.g., "2 PM EST"), honor it
  • Display times in user's local timezone
  • Store in ISO 8601 format with timezone

Response Formatting

For event lists, use this format:

📅 **Monday, January 27**
  • 9:00 AM — Team standup
  • 12:00 PM — Lunch with Alex 📍 Cafe Roma
  • 3:00 PM — Client call

📅 **Tuesday, January 28**
  • 10:00 AM — Dentist appointment 📍 123 Main St

For confirmations:

✓ Event created: "Lunch with Alex"
  📅 Friday, Jan 31 at 12:00 PM
  📍 Cafe Roma

For morning brief:

☀️ Good morning! Here's your day:
📆 Monday, January 27, 2026

You have 3 events today:
  • 9:00 AM — Team standup
  • 12:00 PM — Lunch with Alex
  • 3:00 PM — Client call

👀 Tomorrow: 2 events

File Locations

~/.config/gcal-pro/
├── client_secret.json   # OAuth app credentials (user provides)
├── token.json           # User's access token (auto-generated)
└── license.json         # Pro license (if purchased)

Integration with Clawdbot

This skill works with:

  • Cron: Schedule morning briefs
  • Memory: Store calendar preferences
  • Messaging: Deliver briefs via Telegram/WhatsApp/etc.

Upgrade Prompt

When a Free user attempts a Pro action, respond:

⚠️ Creating events requires gcal-pro Pro ($12 one-time).

Pro includes: Create, edit, delete events + morning briefs.

👉 Upgrade: [gumroad-link]

For now, I can show you your schedule (free) — want to see today's events?

README.md

gcal-pro

Google Calendar skill for Clawdbot — manage your calendar through natural conversation.

Pricing: Free tier (read-only) | Pro $12 one-time (full access)

Features

Free Tier

  • ✅ View today's events
  • ✅ View tomorrow / this week
  • ✅ Search events
  • ✅ List calendars
  • ✅ Find free time slots

Pro Tier ($12)

  • ✅ Everything in Free
  • ✅ Create events
  • ✅ Quick add (natural language)
  • ✅ Update/reschedule events
  • ✅ Delete events
  • ✅ Morning brief (via Clawdbot cron)

Installation

Prerequisites

  • Python 3.11+
  • Google account
  • Clawdbot installed

Quick Start

  1. Install Python dependencies:

    pip install -r requirements.txt
    
  2. Set up Google Cloud:

  3. Authenticate:

    python scripts/gcal_auth.py auth
    
  4. Test:

    python scripts/gcal_core.py today
    

One-Line Setup (after Google Cloud setup)

.\scripts\setup.ps1

Usage

View Schedule

# Today's events
python scripts/gcal_core.py today

# Tomorrow
python scripts/gcal_core.py tomorrow

# This week
python scripts/gcal_core.py week

# Search
python scripts/gcal_core.py search -q "meeting"

Create Events (Pro)

# Natural language
python scripts/gcal_core.py quick -q "Lunch with Alex Friday noon at Cafe Roma"

Find Free Time

python scripts/gcal_core.py free

Morning Brief

python scripts/gcal_core.py brief

File Structure

gcal-pro/
├── SKILL.md              # Clawdbot skill definition
├── README.md             # This file
├── requirements.txt      # Python dependencies
├── PLAN.md               # Product plan & roadmap
├── scripts/
│   ├── gcal_auth.py      # OAuth authentication
│   ├── gcal_core.py      # Calendar operations
│   └── setup.ps1         # Windows setup script
├── docs/
│   └── GOOGLE_CLOUD_SETUP.md
└── references/
    └── (API docs, examples)

Configuration

Config files are stored in ~/.config/gcal-pro/:

FilePurpose
client_secret.jsonOAuth app credentials (you provide)
token.jsonYour access token (auto-generated)
license.jsonPro license (if purchased)

Clawdbot Integration

As a Skill

Copy to your Clawdbot skills directory or reference directly.

Morning Brief Cron

Set up in Clawdbot:

Schedule: 0 8 * * * (8 AM daily)
Command: python /path/to/gcal-pro/scripts/gcal_core.py brief

Troubleshooting

"client_secret.json not found"

Complete Google Cloud setup and save credentials to ~/.config/gcal-pro/

"Token refresh failed"

Re-authenticate: python scripts/gcal_auth.py auth --force

"Access blocked: unverified app"

During testing, click "Advanced" → "Go to gcal-pro (unsafe)"

"requires Pro tier"

Write operations need Pro license. View operations are free.

License

Proprietary. Free tier for personal use. Pro license required for write operations.

Support

  • Issues: [GitHub Issues]
  • Upgrade to Pro: [Gumroad Link]

Built for Clawdbot by Bilal

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install gcal-pro?

Run openclaw add @bilalmohamed187-cpu/gcal-pro-calendar in your terminal. This installs gcal-pro into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/bilalmohamed187-cpu/gcal-pro-calendar. Review commits and README documentation before installing.