Google Calendar Event Creator
Creates Google Calendar events from natural language descriptions using gcalcli or Calendar API. Handles recurring events, attendees, reminders, and conference links. Prerequisites: gcalcli, gcloud, curl, jq.
MCP get_skill({ skillId: "google-calendar-event-creator-a6650e0b" })Use this skill with your agent
Create a free account and connect via MCP
# Google Calendar Event Creator
Create calendar events from natural language. Parses time, attendees, recurrence, and reminders, then creates the event in Google Calendar.
## When to Use
- "Schedule a meeting with Sarah tomorrow at 2pm"
- "Block 2 hours for deep work every morning this week"
- "Create a recurring 1:1 with my manager every Tuesday"
## Requirements
- **gcalcli** (`pip install gcalcli`) or **Google Cloud CLI** with Calendar API
- OAuth scopes: `calendar.events`
## Workflow
### Step 1 — Parse Natural Language Input
Extract from the user's request:
- **Title** — event name
- **Date/time** — start and end (infer duration: meetings=30min, focus=2h, lunch=1h)
- **Attendees** — email addresses
- **Recurrence** — one-time, daily, weekly, monthly
- **Location** — physical address or "Google Meet"
- **Reminders** — default or custom
- **Description** — agenda or notes
### Step 2 — Confirm Details
Show parsed event to user before creating:
```
📅 Event: Weekly 1:1 with Sarah
⏰ Tuesday, Apr 1, 2026 14:00 - 14:30
👥 Attendees: sarah@company.com
🔄 Recurrence: Every Tuesday
📍 Location: Google Meet (auto-generate link)
🔔 Reminder: 10 minutes before
```
Ask for confirmation.
### Step 3 — Create Event via gcalcli
```bash
# Simple event
gcalcli add --title "Weekly 1:1 with Sarah" \
--when "Tuesday 2pm" \
--duration 30 \
--where "Google Meet" \
--description "Weekly sync - discuss current sprint and blockers" \
--reminder 10 \
--noprompt
# Verify creation
gcalcli agenda "Tuesday" "Wednesday" --tsv
```
### Alternative: Create via Calendar API
```bash
ACCESS_TOKEN=$(gcloud auth print-access-token)
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"summary": "Weekly 1:1 with Sarah",
"location": "Google Meet",
"description": "Weekly sync",
"start": {"dateTime": "2026-04-01T14:00:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-04-01T14:30:00", "timeZone": "America/New_York"},
"attendees": [{"email": "sarah@company.com"}],
"recurrence": ["RRULE:FREQ=WEEKLY;BYDAY=TU"],
"conferenceData": {"createRequest": {"requestId": "unique-id", "conferenceSolutionKey": {"type": "hangoutsMeet"}}},
"reminders": {"useDefault": false, "overrides": [{"method": "popup", "minutes": 10}]}
}' \
"https://www.googleapis.com/calendar/v3/calendars/primary/events?conferenceDataVersion=1" | jq '{id: .id, link: .htmlLink, meet: .conferenceData.entryPoints[0].uri}'
```
### Step 4 — Handle Batch Creation
For requests like "block focus time every morning this week":
1. Calculate each day's time slot
2. Check for conflicts with existing events
3. Create event for each non-conflicting slot
4. Report: "Created 4 focus blocks (Mon-Thu). Friday conflicted with All-Hands."
### Step 5 — Confirm & Report
After creation, show:
- Event link (click to open in Google Calendar)
- Google Meet link (if applicable)
- Recurrence summary
## Important Rules
- Always check for conflicts before creating events
- Always confirm with user before creating (show preview first)
- Default to 30-min duration for meetings if not specified
- Use user's timezone from Google Calendar settings
## Example Prompts
- "Schedule a 1-hour deep work block tomorrow at 9am"
- "Create a 15-min standup every weekday at 9am with team@company.com"
- "Block my lunch from 12-1 every day this week"Related Skills
More skills in Calendar & Scheduling
Google Calendar Availability Finder
Finds mutual free times across multiple Google Calendar users and proposes meeting slots. Generates scheduling links or draft calendar invites. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Daily Planner
Pulls today's or tomorrow's Google Calendar events via gcalcli, analyzes meeting density, identifies focus blocks, and generates a time-blocked daily plan. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Meeting Prep
Pulls upcoming meeting details from Google Calendar, researches attendees and topics via Brave Search, and generates a meeting prep brief with talking points. Prerequisites: gcalcli, gcloud, curl, jq, brave-search MCP.
Google Calendar Weekly Review
Generates a weekly calendar review: time spent in meetings vs focus work, meeting categories, overload analysis, and improvement recommendations. Prerequisites: gcalcli, gcloud, curl, jq.
Explore Other Categories
Skills from other categories with shared topics
API Test Generator
Generates comprehensive API test suites from OpenAPI specs or endpoints. Prerequisites: curl, jq.
Git Commit Message Writer
Generates conventional commit messages from staged changes. Prerequisites: git.
Gmail Follow-Up Tracker
Scans your Gmail sent folder for unanswered emails, identifies stale threads, and creates follow-up drafts with context-aware nudges via Google CLI. Prerequisites: gcloud, curl, jq.