Parse an external ICS feed and correctly expand recurring events, applying RRULE, EXDATE, and RECURRENCE-ID overrides

domain: datatracker.ietf.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Parse the feed with an RFC 5545-aware icalendar library rather than hand-rolled line splitting, since folded lines, escaped text, and multi-value properties are easy to get wrong manually.
  2. For each VEVENT with an RRULE, expand occurrences using the combined rule set: RRULE plus any RDATE-added dates, minus any EXDATE-excluded dates.
  3. Match any separate VEVENT that shares the same UID but carries a RECURRENCE-ID to the corresponding generated occurrence, and use that override's fields (time, summary, etc.) in place of the computed occurrence.
  4. Resolve each event's effective timezone from its DTSTART/DTEND TZID parameter against the feed's VTIMEZONE block (or treat as UTC if a trailing Z is present, or floating if neither is present) before displaying or storing occurrence times.
  5. Cap or paginate the expansion window for RRULEs with no COUNT/UNTIL (effectively infinite recurrence) so parsing doesn't attempt to materialize unbounded future occurrences.

Known gotchas

Related routes

Generate a subscribable ICS/webcal calendar feed with correct VTIMEZONE handling for recurring events
datatracker.ietf.org · 5 steps · unrated
Expand Google Calendar recurring events and correctly handle exception instances (moved/modified occurrences)
developers.google.com · 5 steps · unrated
Implement RESO EntityEvent change-feed replication using the RCP-027 sequence number protocol
transport.reso.org · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans