InTouch Hub · Blue Isle Software

iCal Events

Parse an .ics (iCalendar) file or URL and list upcoming events within a lookahead window.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

calendarexporticallistingreminderservicesummary

iCal Events

Parse an .ics (iCalendar) file and list upcoming events within a lookahead window. Works with local files and with remote http(s):// URLs (e.g. Google Calendar's "Secret address in iCal format" feed).

Tool ID

ical-events

Credential Required

No.

Input Properties

Property Type Default Description
source string Required. Local .ics file path or http(s):// URL to an iCal feed
daysAhead string "7" Lookahead window in days
maxEvents string "20" Maximum events to return

Published Outputs

Output Description
summary Multi-line text listing upcoming events
events JSON array of {summary, start, allDay, location, description, uid}
count Number of events in the window
daysAhead Echo of the window size (for downstream use)

Example — Google Calendar feed

  1. In Google Calendar → Settings → Integrate calendar → copy the "Secret address in iCal format" (ending in .ics).
  2. Use that URL as the source:
{
  "tool": "ical-events",
  "properties": {
    "source": "https://calendar.google.com/calendar/ical/.../basic.ics",
    "daysAhead": "7"
  }
}

Example — local file

{
  "tool": "ical-events",
  "properties": {
    "source": "/home/me/calendar.ics",
    "daysAhead": "14"
  }
}

Actual captured output (with a test .ics containing 4 events, including a past event and a 30-day-out event):

Upcoming events — next 14 day(s) from 2026-04-21 13:59:
  - 2026-04-22T11:00: Team standup @ Zoom
  - 2026-04-26 (all day): Dentist appointment

(The past event was skipped. The 30-day-out event was outside the 14-day window. The all-day event was formatted with "(all day)".)

What's supported

What's NOT supported

For a typical "what's on my calendar this week" workflow, this covers the common cases without shipping a 3rd-party dep.

Chaining Patterns

Privacy note

Google Calendar's "secret address" iCal feed URL contains an access token. Treat it as a password. Don't commit it to git, don't share it. Prefer storing it as an InTouch credential or job property rather than hardcoding it in the YAML.

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
source string yes Local .ics file path (e.g. /home/me/calendar.ics) or an http(s) URL (e.g. Google Calendar secret-address ICS feed)
daysAhead string no 7 Lookahead window in days
maxEvents string no 20 Maximum events to return