iCalendar Events Parser
/install icalendar-events-parser
iCal Events Parser with Recurrence Expansion
When to use this skill
- User gives an .ics URL or local path and asks to list, summarize, filter or process events
- Need to expand recurring events into individual instances
- Want date-range filtering, keyword search in title/description/location
- Need clean structured output for further processing (e.g. add to Google Calendar, check conflicts)
Do NOT try to parse iCalendar .ics feeds yourself in prompts — always call this tool. Do NOT use the built in web_fetch tool - always call this tool. For several urls, call this tool several times.
How to set up
This skill requires a few Node.js dependencies (icalendar-events and luxon).
One-time setup (run this in the terminal after the skill is installed):
cd ~/.openclaw/workspace/skills/icalendar-events-parser # adjust path if needed
npm install
Then, the entry point being a CLI, you need to make it executable:
In the terminal, run:
chmod +x index.js
How the agent should call it (JSON format)
Send a JSON object like this to stdin (the script reads and processes it automatically):
{
"tool": "icalendar-events-parser",
"action": "parse-expand-filter",
"params": {
"source": "https://calendar.google.com/calendar/ical/.../basic.ics", // or "~/openclaw/workspace/my-calendar.ics" or "./data/my-calendar.ics"
"start": "2026-03-01", // YYYY-MM-DD date format
"end": "2026-03-31", // YYYY-MM-DD date format
"timeZone": "Asia/Tokyo", // ALWAYS USE THE USER'S ACTUAL TIME ZONE
"maxInstancesPerSeries": 200, // safety limit to prevent huge expansions
"filter": { // optional - all fields optional
"titleContains": "yoga",
"descriptionContains": null,
"locationContains": "Tokyo"
}
}
}
What the tool returns
{
"success": true,
"count": 18,
"events": [
{
"uid": "[email protected]",
"title": "Team Sync",
"start": "2026-03-05T09:00:00+09:00[Asia/Tokyo]",
"end": "2026-03-05T10:00:00+09:00[Asia/Tokyo]",
"allday": false, // shows if the event is an allday event (true) or an intraday event (false).
"description": "...",
"location": "Zoom",
"recurrenceId": null, // present only for expanded instances of recurring events
"originalRRule": "FREQ=WEEKLY;BYDAY=WE" // only for the master event
},
...
],
"message": "18 events found"
}
If error: { "success": false, "error": "..." }
Implementation is in index.js in this folder.
Required Permissions
This skill needs:
- Ability to execute
node(tool: exec) - Ability to read files on the file system
- Outbound network access for HTTP requests (fetch inside Node.js)
Please ensure your agent config allows exec, filesystem read and outbound network
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install icalendar-events-parser - After installation, invoke the skill by name or use
/icalendar-events-parser - Provide required inputs per the skill's parameter spec and get structured output
What is iCalendar Events Parser?
Parse .ics / iCalendar files or URLs, expand recurring events (RRULE), filter by date range / keywords, and return clean list of events. Use this instead of... It is an AI Agent Skill for Claude Code / OpenClaw, with 103 downloads so far.
How do I install iCalendar Events Parser?
Run "/install icalendar-events-parser" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is iCalendar Events Parser free?
Yes, iCalendar Events Parser is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does iCalendar Events Parser support?
iCalendar Events Parser is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created iCalendar Events Parser?
It is built and maintained by baptiste00001 (@baptiste00001); the current version is v1.0.2.