Operate Google Calendar with the gog CLI.
Execution path: gog
Authenticated account: (account authenticated with gog)
Execution Notes
execWhen executing with the tool,timeout: 60specify- Date and time in RFC3339 format:
2026-02-15T10:00:00+09:00
Event list
Basic (next 7 days)
gog calendar events
gog calendar events --max 10
Specify period
gog calendar events --from "2026-02-01" --to "2026-02-28"
gog calendar events --from "2026-02-15T00:00:00+09:00" --to "2026-02-15T23:59:59+09:00"
Specific calendar
gog calendar events primary # メインカレンダー
gog calendar events "user@example.com" # 共有カレンダー
Today's events
TODAY=$(date +%Y-%m-%d)
gog calendar events --from "${TODAY}T00:00:00+09:00" --to "${TODAY}T23:59:59+09:00"
Create event
Basic
gog calendar create primary \
--summary "ミーティング" \
--from "2026-02-15T10:00:00+09:00" \
--to "2026-02-15T11:00:00+09:00"
All-day event
gog calendar create primary \
--summary "休暇" \
--from "2026-02-20" \
--to "2026-02-21" \
--all-day
With location and description
gog calendar create primary \
--summary "クライアントMTG" \
--from "2026-02-15T14:00:00+09:00" \
--to "2026-02-15T15:30:00+09:00" \
--location "東京都渋谷区〇〇ビル 5F" \
--description "議題:\n1. 進捗報告\n2. 次回スケジュール"
Add attendees
gog calendar create primary \
--summary "定例会議" \
--from "2026-02-15T10:00:00+09:00" \
--to "2026-02-15T11:00:00+09:00" \
--attendees "tanaka@example.com,sato@example.com"
With Google Meet
gog calendar create primary \
--summary "オンラインMTG" \
--from "2026-02-15T10:00:00+09:00" \
--to "2026-02-15T11:00:00+09:00" \
--with-meet
With reminder
gog calendar create primary \
--summary "重要MTG" \
--from "2026-02-15T10:00:00+09:00" \
--to "2026-02-15T11:00:00+09:00" \
--reminder "popup:30m" \
--reminder "email:1d"
Recurring event
# 毎週月曜
gog calendar create primary \
--summary "週次定例" \
--from "2026-02-17T10:00:00+09:00" \
--to "2026-02-17T11:00:00+09:00" \
--rrule "RRULE:FREQ=WEEKLY;BYDAY=MO"
# 毎月15日
gog calendar create primary \
--summary "月次報告" \
--from "2026-02-15T10:00:00+09:00" \
--to "2026-02-15T11:00:00+09:00" \
--rrule "RRULE:FREQ=MONTHLY;BYMONTHDAY=15"
Update event
gog calendar update primary <eventId> --summary "新しいタイトル"
gog calendar update primary <eventId> --from "2026-02-15T11:00:00+09:00" --to "2026-02-15T12:00:00+09:00"
gog calendar update primary <eventId> --location "オンライン"
Delete event
gog calendar delete primary <eventId>
gog calendar delete primary <eventId> --force # 確認スキップ
Search events
gog calendar search "ミーティング"
gog calendar search "MTG" --from "2026-02-01" --to "2026-02-28"
Calendar management
Calendar list
gog calendar calendars
Check free time
gog calendar freebusy "primary,user@example.com" \
--from "2026-02-15T09:00:00+09:00" \
--to "2026-02-15T18:00:00+09:00"
Check event conflicts
gog calendar conflicts --from "2026-02-15" --to "2026-02-21"
Special events
Focus Time
gog calendar focus-time primary \
--from "2026-02-15T14:00:00+09:00" \
--to "2026-02-15T17:00:00+09:00"
Out of Office
gog calendar out-of-office primary \
--from "2026-02-20" \
--to "2026-02-21"
Set working location
gog calendar working-location primary \
--from "2026-02-15" \
--to "2026-02-16" \
--type "home"
List of creation options
| Options | Description |
|---|---|
--summary |
Title |
--from |
Start date and time (RFC3339) |
--to |
End date and time (RFC3339) |
--all-day |
All-day event |
--location |
Location |
--description |
Description |
--attendees |
Attendees (comma-separated) |
--with-meet |
Create Google Meet |
--reminder |
Reminder (popup:30m, email:1d, etc.) |
--rrule |
Recurrence rule |
--event-color |
Color (1-11) |
--visibility |
Visibility (default/public/private) |
--transparency |
Show as (opaque=busy/transparent=free) |
--send-updates |
Notifications (all/externalOnly/none) |
--guests-can-invite |
Allow guest invitations |
--guests-can-modify |
Allow guest editing |
Date and time format
RFC3339 format
2026-02-15T10:00:00+09:00 # 日本時間
2026-02-15T01:00:00Z # UTC
Date for all-day events
2026-02-15 # 開始日
2026-02-16 # 終了日(翌日を指定)
Typical workflows
Check today's events → add a meeting
# 1. 今日の予定確認
TODAY=$(date +%Y-%m-%d)
gog calendar events --from "${TODAY}T00:00:00+09:00" --to "${TODAY}T23:59:59+09:00"
# 2. 空き時間確認
gog calendar freebusy "primary" --from "${TODAY}T09:00:00+09:00" --to "${TODAY}T18:00:00+09:00"
# 3. 予定作成(Google Meet付き)
gog calendar create primary \
--summary "緊急MTG" \
--from "${TODAY}T15:00:00+09:00" \
--to "${TODAY}T16:00:00+09:00" \
--with-meet \
--attendees "team@example.com"
Check next week's events
START=$(date -v+1d +%Y-%m-%d) # macOS
END=$(date -v+7d +%Y-%m-%d)
gog calendar events --from "$START" --to "$END"
Respond to an invitation (RSVP)
gog calendar respond primary <eventId> --status accepted
gog calendar respond primary <eventId> --status declined
gog calendar respond primary <eventId> --status tentative
Calendar color list
gog calendar colors
Get a single event
gog calendar event primary <eventId>
gog calendar event primary <eventId> --json
Access control (ACL)
# ACL一覧
gog calendar acl primary
# ACL追加
gog calendar acl primary --add "user@example.com" --role reader
# ACL削除
gog calendar acl primary --remove "user@example.com"
Notes
- Time Zone:
+09:00Always include (Japan time) - All-day event:
--toSpecify the day after the end date for - Attendee notifications: An invitation email is sent by default
- Delete recurring event: You will be asked whether to delete only this occurrence or all occurrences