An assistant can produce calendar syntax that looks plausible while getting the schedule wrong. A file checker can catch some structural problems; it cannot know whether a class really meets on Tuesday or whether a shift was omitted. Compare the result with the original schedule before importing.
Start with a reviewable table
For a schedule in a PDF or image, ask the assistant for a table first. Review its dates and times against the original. If the schedule is private, consider whether you want to share it with an external assistant at all. CalPorter processes files locally and does not use an AI service.
This prompt is a starting point for extraction, not a guarantee of accuracy:
Extract the schedule into a table with these columns: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location. Use YYYY-MM-DD dates and 24-hour times. Do not invent missing dates, times or a year. List ambiguous entries separately for me to resolve. Do not silently drop exceptions or cancelled sessions. Show the table for review before producing a CSV.
After correcting the table, save it as CSV and use the CSV to ICS converter. For CalPorter’s CSV format, all-day end dates are inclusive. Its output uses floating local times. If your schedule spans time zones or complex recurring exceptions, this simple CSV workflow is not sufficient.
If you already have an ICS file
Use the import checker to inspect common errors. Missing calendar blocks, invalid dates, missing event IDs and conflicting records need attention. Text outside the VCALENDAR block, such as an explanation or Markdown code fence, is not part of an ICS file. Keep a copy before editing it.
Passing the check is only one step
Open the file viewer and compare titles, dates, time zones and event counts with the source schedule. A recurring series appears as one stored record, not one row for every occurrence. Expand the event details to inspect its rule and exclusions. Valid syntax does not verify the assistant’s interpretation of the source.
Test the receiving calendar
Import into a new temporary calendar. Check the first and last dates, cancelled sessions, all-day events, and dates around daylight-saving changes. If a valid file still fails, follow the receiving app’s current import instructions. Reimporting into your main calendar while experimenting can leave duplicates.
Sources: Google’s import troubleshooting, Apple’s import instructions, and RFC 5545. CalPorter is independent of the calendar providers and AI assistants mentioned here.