x402AgentTools

📆ICS Calendar Parser

Parse iCalendar (.ics) content — meeting invites, conference calendars, exports from Google/Outlook — into structured event JSON: title, start/end, location, organizer and description.

Worked examples

Simple meeting invite

GET /api/v1/dev/ics-parser?ics=BEGIN%3AVCALENDAR%0AVERSION%3A2.0%0ABEGIN%3AVEVENT%0ASUMMARY%3AQuarterly%20Review%0ADTSTART%3A20261103T140000Z%0ADTEND%3A20261103T150000Z%0ALOCATION%3ARoom%204%20%2F%20Zoom%0AORGANIZER%3BCN%3DPM%20Office%3Amailto%3Apm%40example.com%0AEND%3AVEVENT%0AEND%3AVCALENDAR

Result: 1 event

Two events with descriptions

GET /api/v1/dev/ics-parser?ics=BEGIN%3AVCALENDAR%0AVERSION%3A2.0%0ABEGIN%3AVEVENT%0ASUMMARY%3AStandup%0ADTSTART%3A20261020T090000Z%0ADTEND%3A20261020T091500Z%0ADESCRIPTION%3ADaily%20sync%0AEND%3AVEVENT%0ABEGIN%3AVEVENT%0ASUMMARY%3ARetro%0ADTSTART%3A20261023T160000Z%0ADTEND%3A20261023T170000Z%0AEND%3AVEVENT%0AEND%3AVCALENDAR

Result: 2 events

Machine API (x402)

$0.002 / call

This tool is also a JSON API for AI agents. Requests without payment receive 402 Payment Required plus instructions; agents pay USDC on Base via the x402 protocol — no accounts, no API keys.

GET /api/v1/dev/ics-parser?ics=BEGIN%3AVCALENDAR%0AVERSION%3A2.0%0ABEGIN%3AVEVENT%0ASUMMARY%3AQuarterly%20Review%0ADTSTART%3A20261103T140000Z%0ADTEND%3A20261103T150000Z%0ALOCATION%3ARoom%204%20%2F%20Zoom%0AORGANIZER%3BCN%3DPM%20Office%3Amailto%3Apm%40example.com%0AEND%3AVEVENT%0AEND%3AVCALENDAR HTTP/1.1
Host: agenttools-hub.vercel.app

→ 402 (payment required, instructions in headers)
→ 200 (after X-PAYMENT header; JSON body below)

{
  "tool": "dev/ics-parser",
  "input": {"ics":"BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Quarterly Review\nDTSTART:20261103T140000Z\nDTEND:20261103T150000Z\nLOCATION:Room 4 / Zoom\nORGANIZER;CN=PM Office:mailto:pm@example.com\nEND:VEVENT\nEND:VCALENDAR"},
  "result": { "value": 1, "answer": "1 event" }
}

Agent docs: /llms.txt · OpenAPI spec · integration guide

About this tool

Calendar files arrive as RFC 5545 iCalendar — a format LLMs mis-parse constantly (timezones, recurring rules, escaped commas). This parser extracts every event into clean JSON with ISO UTC timestamps, ready for scheduling logic. Full event arrays are returned in `result.artifacts.events`.

ical.js parse → VCALENDAR → VEVENT[] → { summary, start, end, location, organizer, description }

Frequently asked questions

Does it handle recurring events?

It returns the base event with its RRULE in the description context; expanding recurrence instances needs a recurrence library (planned).

Are times normalized?

Yes — every start/end is converted to an ISO 8601 UTC timestamp, whatever timezone the file used.

Related tools