Calendar Invites the Hard Way
January 12, 2026
I run Clawd as my personal assistant. It handles messages across Telegram, iMessage, whatever—locally, on my own devices. Works great until you want it to create calendar events.
Our family uses iCloud's shared calendar. Programmatically adding events to iCloud calendars is somewhere between painful and impossible. Apple's ecosystem doesn't play nice with automation unless you're deep in Shortcuts territory or willing to reverse-engineer private APIs.
But there's a backdoor: .ics files.
When you download an ICS file on iOS, the system presents its native "Add to Calendar" sheet. No API auth, no OAuth dance, no Apple ID token juggling. Just a file that triggers native UI.
So I built quick-ics—a Cloudflare Worker that generates calendar invites from URL parameters.
https://ics.solberg.is/add.ics?title=Dentist&start=2024-03-15T09:00&duration=1h
That's it. Title, start time, optional duration/end/location/description. Timezone is auto-detected from Cloudflare's geo headers, or you can override it.
The front page is a manpage-style reference because documentation should be readable, not pretty.
Now Clawd can create calendar events by constructing a URL and sending me the link. One tap, event added. No permissions, no integrations, no iCloud credentials floating around.
Sometimes the simplest workaround is just serving a file.