Merge course calendars
merge_calendarsMerge several course calendars into one and list timed events that overlap. Inputs: calendars (each with an optional name and an ics string), optional calendar_name and optional output_path. Events with the same UID are kept once.
Instructions
Merge several course calendars into one and list timed events that overlap. Inputs: calendars (each with an optional name and an ics string), optional calendar_name and optional output_path. Events with the same UID are kept once. Weekly and daily recurring events are expanded when conflicts are checked. Example prompt: "Merge my three course calendars and tell me which classes conflict."
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| calendars | Yes | The calendars to merge, each with the calendar text and an optional name. | |
| output_path | No | Optional file path for the .ics file. The folder must already exist because folders are not created. Leave it out to get the calendar text back instead. | |
| calendar_name | No | Name for the merged calendar. Defaults to "Merged course calendar". |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ics | Yes | The merged calendar as text, with CRLF line breaks. | |
| valid | Yes | True when the merged calendar passed the built in checks. | |
| errors | Yes | Problems found by the checks. Empty when the calendar is valid. | |
| conflicts | Yes | Every pair of timed events that overlaps, in date order. | |
| event_count | Yes | How many events the merged calendar holds, after repeated UIDs are dropped. | |
| output_path | Yes | The file path the calendar was written to, or null when no path was passed. | |
| calendar_count | Yes | How many calendars were passed in. |