Skip to content

iCal Feeds

Every Chronary calendar automatically gets a live iCal feed URL. Paste this URL into any calendar app to see agent-managed events alongside your personal calendar.

When you create a calendar, the response includes an ical_url field:

{
"id": "cal_x1y2z3",
"name": "Sales Meetings",
"ical_url": "https://api.chronary.ai/ical/abc123def456.ics"
}

This URL serves an RFC 5545 iCalendar feed that updates automatically as events are created, modified, or deleted.

Get the ical_url from the calendar response, or retrieve it with:

Terminal window
curl https://api.chronary.ai/v1/calendars/cal_x1y2z3 \
-H "Authorization: Bearer chr_sk_test_your_key_here"

Google Calendar:

  1. Open Google Calendar settings
  2. Click “Other calendars” > “From URL”
  3. Paste the ical_url
  4. Click “Add calendar”

Apple Calendar:

  1. File > New Calendar Subscription
  2. Paste the ical_url
  3. Set refresh interval (every 5 minutes recommended)
  4. Click Subscribe

Outlook:

  1. Open Outlook Calendar
  2. Add calendar > Subscribe from web
  3. Paste the ical_url
  4. Click Import
PropertyValue
FormatRFC 5545 iCalendar (.ics)
AuthenticationNone — the URL token is the access control
Cache TTL5 minutes at the Cloudflare edge
ETag supportYes — conditional requests with If-None-Match
Rate limitingBy IP address (to prevent abuse)

Calendar apps poll the feed URL at their own interval:

AppTypical refresh
Google CalendarEvery 12–24 hours
Apple CalendarConfigurable (5 min to daily)
OutlookEvery 3 hours

Chronary caches feeds at the edge for 5 minutes, so even frequent polling won’t overload the API. The feed includes ETag headers — apps that support conditional requests will get 304 Not Modified when nothing has changed.

  • Feed URLs contain a cryptographically random token — treat them like passwords
  • No API key authentication is required to access the feed
  • If a calendar is deleted, its feed URL returns 404
  • Feed URLs cannot be changed — to rotate the URL, delete and recreate the calendar