π¦ ClawHub
PortEden - secured calendar(Gmail, Outlook, Exchange) access for OpenClaw
by @porteden
Secured Calendar management - Google Calendar, Microsoft Outlook & Exchange - list, search, create, update, delete, and respond to calendar events across mul...
TERMINAL
clawhub install porteden-calendarπ About This Skill
name: porteden description: Secured Calendar management - Google Calendar, Microsoft Outlook & Exchange - list, search, create, update, delete, and respond to calendar events across multiple accounts (gog-cli secure alternative). homepage: https://porteden.com metadata: {"openclaw":{"emoji":"π ","requires":{"bins":["porteden"],"env":["PE_API_KEY"]},"primaryEnv":"PE_API_KEY","install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}}
porteden
Use porteden for calendar management across multiple accounts. Use -jc flags for AI-optimized output.
If porteden is not installed: brew install porteden/tap/porteden (or go install github.com/porteden/cli/cmd/porteden@latest).
Setup (once)
porteden auth login β opens browser, credentials stored in system keyringporteden auth login --token β stored in system keyringporteden auth statusPE_API_KEY is set in the environment, the CLI uses it automatically (no login needed).Common commands
porteden calendar calendars -jcporteden calendar events --today -jcporteden calendar events --from 2026-02-01 --to 2026-02-07 -jcporteden calendar events --week --all -jcporteden calendar events -q "meeting" --today -jcporteden calendar by-contact "user@example.com" -jc (or --name "John Smith")porteden calendar event -jc porteden calendar create --calendar --summary "Meeting" --from "..." --to "..." --location "Room A" --attendees "a@b.com,c@d.com" porteden calendar update --summary "New Title" (also: --from, --to, --location)porteden calendar update --add-attendees "new@example.com" (or --remove-attendees; add --notify to send notifications)porteden calendar delete (add --no-notify to skip attendee notifications)porteden calendar respond accepted (or: declined, tentative)Event Status Values
confirmed - Accepted/scheduledtentative - Maybe attendingneedsAction - Requires response from usercancelled - Event was cancelledTime Formats
2026-02-01T10:00:00Z--all-day flagstartUtc, endUtc, durationMinutes fieldsNotes
PE_PROFILE=work to avoid repeating --profile.-jc is shorthand for --json --compact: filters noise, truncates descriptions, limits attendees, reduces tokens.--all to auto-fetch all pages; check meta.hasMore and meta.totalCount in JSON output.--limit 100 --offset 0, then --offset 100, etc.by-contact supports partial matching: "@acme.com" for email domain, --name "Smith" for name.porteden calendar calendars -jc.PE_API_KEY, PE_PROFILE, PE_TIMEZONE, PE_FORMAT, PE_COLOR, PE_VERBOSE.