CLI & MCP

Waymaker calendar

Manage calendar events in Commander. Create, list, and update events across connected calendars.

CalendarEvents
Last updated: January 21, 2026

Overview

Manage calendar events in Commander. Create, list, and update events across connected calendars.

Usage

waymaker calendar <subcommand> [options]

Subcommands

SubcommandDescription
listList calendar events
getGet event details
createCreate a new event
updateUpdate an event
deleteDelete an event

List Events

waymaker calendar list

Output:

Upcoming Events (12)

id           title                    start              duration   attendees
----------------------------------------------------------------------------
evt_abc123   Q1 Planning Meeting      Jan 22, 10:00 AM   1h         5
evt_def456   Product Review           Jan 22, 2:00 PM    30m        3
evt_ghi789   Team Standup             Jan 23, 9:00 AM    15m        8

Filter by Date Range

waymaker calendar list --from "2026-01-22" --to "2026-01-29"

Filter by Calendar

waymaker calendar list --calendar work

JSON Output

waymaker calendar list --json
[
  {
    "id": "evt_abc123",
    "title": "Q1 Planning Meeting",
    "start": "2026-01-22T10:00:00Z",
    "end": "2026-01-22T11:00:00Z",
    "attendees": ["john@company.com", "jane@company.com"],
    "location": "Conference Room A",
    "calendar": "work"
  }
]

Get Event Details

waymaker calendar get <event-id>

Output:

Q1 Planning Meeting

ID: evt_abc123
Calendar: work
Start: January 22, 2026 10:00 AM
End: January 22, 2026 11:00 AM
Duration: 1 hour
Location: Conference Room A

Description:
Quarterly planning session to review OKRs and set priorities.

Attendees: (5)
  - john@company.com (organizer)
  - jane@company.com (accepted)
  - bob@company.com (accepted)
  - alice@company.com (tentative)
  - charlie@company.com (pending)

Video Call: https://meet.google.com/xxx-yyyy-zzz

Create Event

waymaker calendar create \
  --title "New Meeting" \
  --start "2026-01-25T14:00:00" \
  --duration 60 \
  --attendees "user1@company.com,user2@company.com"

Output:

✓ Event created
ID: evt_new123
Title: New Meeting
Start: January 25, 2026 2:00 PM
Duration: 1 hour

Create with Location

waymaker calendar create \
  --title "Team Lunch" \
  --start "2026-01-26T12:00:00" \
  --duration 90 \
  --location "123 Main St, Suite 100"

Create Recurring Event

waymaker calendar create \
  --title "Weekly Standup" \
  --start "2026-01-27T09:00:00" \
  --duration 15 \
  --recurrence "weekly" \
  --until "2026-06-30"

Create with Video Call

waymaker calendar create \
  --title "Remote Meeting" \
  --start "2026-01-28T15:00:00" \
  --duration 30 \
  --video-call

Update Event

waymaker calendar update <event-id> \
  --title "Updated Title" \
  --start "2026-01-25T15:00:00"

Add Attendees

waymaker calendar update <event-id> \
  --add-attendees "newuser@company.com"

Remove Attendees

waymaker calendar update <event-id> \
  --remove-attendees "user@company.com"

Update Description

waymaker calendar update <event-id> \
  --description "Updated meeting agenda..."

Delete Event

waymaker calendar delete <event-id>

Output:

✓ Event deleted
Title: Q1 Planning Meeting

Delete Recurring Event

# Delete single occurrence
waymaker calendar delete <event-id> --occurrence "2026-02-03"

# Delete all occurrences
waymaker calendar delete <event-id> --all-occurrences

Options Reference

list

OptionTypeDescription
--fromstringStart date (YYYY-MM-DD)
--tostringEnd date (YYYY-MM-DD)
--calendarstringFilter by calendar
--jsonflagOutput as JSON

get

OptionTypeDescription
--jsonflagOutput as JSON

create

OptionTypeDescription
--titlestringRequired. Event title
--startstringRequired. Start time (ISO 8601)
--durationnumberDuration in minutes
--endstringEnd time (alternative to duration)
--attendeesstringComma-separated emails
--locationstringEvent location
--descriptionstringEvent description
--calendarstringTarget calendar
--recurrenceenumRecurrence pattern (daily, weekly, monthly)
--untilstringRecurrence end date
--video-callflagAdd video call link

update

OptionTypeDescription
--titlestringNew title
--startstringNew start time
--durationnumberNew duration
--locationstringNew location
--descriptionstringNew description
--add-attendeesstringAttendees to add
--remove-attendeesstringAttendees to remove

delete

OptionTypeDescription
--occurrencestringDelete specific occurrence
--all-occurrencesflagDelete all recurring occurrences
--forceflagSkip confirmation

AI Agent Workflow

# Get today's events
TODAY=$(date +%Y-%m-%d)
EVENTS=$(waymaker calendar list --from $TODAY --to $TODAY --json)

# Find free time for new meeting
BUSY=$(echo $EVENTS | jq '[.[] | {start, end}]')

# Create meeting at available time
waymaker calendar create \
  --title "AI-Scheduled Meeting" \
  --start "$AVAILABLE_TIME" \
  --duration 30 \
  --attendees "$ATTENDEE_LIST"

# Get upcoming meetings for summary
UPCOMING=$(waymaker calendar list --from $TODAY --to "$(date -v+7d +%Y-%m-%d)" --json)
echo "You have $(echo $UPCOMING | jq 'length') meetings this week"