walnut-calendar

Solid

Read and edit the user's real calendars (macOS Calendar: iCloud, Google, Exchange accounts) through Walnut's /api/calendar REST endpoints. Use when asked about the user's schedule, meetings, or availability, or to create, move, retime, or delete calendar events. Covers listing events in a date range, enumerating calendars, and write-back that syncs to the cloud provider via macOS.

AI & Automation 32 stars 8 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
51
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Walnut Calendar API Walnut exposes the Mac's calendars (every account added in macOS System Settings → Internet Accounts: iCloud, Google, Exchange, …) over REST. Edits write back through macOS EventKit, so a change made here shows up in Google Calendar / iCloud within seconds — no separate login or OAuth involved. Base URL: `http://localhost:3456/api/calendar` (Walnut server). ## Date format contract (IMPORTANT) All dates are **tz-less local ISO** — the server's local wall time, never a `Z` or `+hh:mm` suffix: - Timed: `2026-08-05T09:00:00` - All-day / date-only: `2026-08-05` ## Read ```bash # Events in a date range (inclusive days) curl -s 'http://localhost:3456/api/calendar/events?from=2026-08-03&to=2026-08-09' # → { "events": [ { "id", "title", "start", "end", "allDay", "calendarId", # "calendarName", "accountName", "color", "location?", "readonly?", # "status?", "selfStatus?" } ], # "sources": [ { "id": "eventkit", "available", "enabled", "reason?", # "message?", "lastRefresh?" } ] } # Add fresh=1 when a stale answer would be worse than a slow one (~0.25s extra): # it bypasses the read cache and re-reads macOS. curl -s 'http://localhost:3456/api/calendar/events?from=2026-08-27&to=2026-08-27&fresh=1' # List the calendars themselves (to pick a create target) curl -s 'http://localhost:3456/api/calendar/sources' # → { "sources": [...], "calendars": [ { "id", "title", "account", "color", # "readonly", "hidden" } ] } ``` - If `sources[0].avai...

Details

Author
EvanZhang008
Repository
EvanZhang008/open-walnut
Created
6 months ago
Last Updated
4 days ago
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category