Back/Personal/ChatGPT
BeginnerPersonal

How to Create a Custom Google Calendar from a ChatGPT Prompt

Create a purpose-built shared calendar from an authoritative event schedule by filtering the exact dates that matter, generating an ICS file, and validating every event before import.

How to Create a Custom Google Calendar from a ChatGPT Prompt

Michal asks ChatGPT for Oracle Park home games before 2 p.m., requires both an ICS file and a textual event list, checks the dates, and imports the file as a shared parking-planning calendar.

Before you start

What you need

  • A precise location, time window, and planning purpose
  • Authoritative schedule sources
  • The target calendar and timezone
  • Rules for all-day status, availability, reminders, and naming

What you’ll make

A separate calendar containing only the events that affect the planning problem, with accurate local times, source details, and no blocked working hours.

Tools used

Step by step

The workflow

Follow the sequence once, then adapt the prompts, checks, and handoffs to your own setup.

4 steps

Step01

Identify a Recurring, Date-Based Problem

Define the practical rule for inclusion, such as home games at one venue beginning before 2 p.m. over the next six months. Specify the local timezone, event title, description, availability, and calendar owner.

Step02

Craft a Specific, One-Shot Prompt

Give ChatGPT the official schedule source or retrieved event table and ask it to filter the exact rule, generate an ICS file, and return a parallel text table for inspection.

Example prompt
Using only the attached official schedule, select home events at [venue] between [start date] and [end date] with local start times before [cutoff] in [timezone]. Create an ICS file with all-day events, transparent availability, stable UIDs, source URL, event details, and original start time in the description. Also return a text table of every included date and event.

The instructions `create an ICS file`, make it an `all day event`, and set `Availability: free` are crucial for getting a useful, non-intrusive calendar file.

Step03

Generate and Download the Calendar File

Compare the text table and raw ICS entries with the official schedule. Check inclusions, omissions, local dates, timezone fields, stable UIDs, transparent availability, and duplicates before importing.

Step04

Import and Share the Calendar

Import the tested file into a new dedicated calendar, inspect several events in the calendar UI, then share it with the affected team. Assign an owner to correct schedule changes and avoid repeat imports.

What good looks like

  • Every imported event matches an authoritative source date and start time.
  • Timezone, all-day behavior, free or busy status, and recurrence are correct.
  • The file imports into a separate calendar without duplicates.
  • The calendar has an owner and a process for schedule changes or cancellations.

Build your next product with ChatPRD

Turn an idea into a PRD, user stories, and a plan.

Try ChatPRD free

After the steps

Runbook notes

How to recover when the loop fails and where human judgment helps.

Recover

If it goes sideways

The model invents, omits, or uses an outdated event
Compare the generated list with the official schedule and regenerate from corrected source data.
UTC conversion or all-day formatting shifts the event date
Set the target timezone explicitly, inspect raw ICS fields, and test a small file before full import.
All-day events block everyone’s availability
Set TRANSP:TRANSPARENT or the calendar’s free status and confirm it after import.
A postponed or canceled event remains on the shared calendar
Assign an owner, retain stable event identifiers and source URLs, and publish corrections rather than importing duplicates.

Start shipping
better products.

Join 100,000+ product managers who use ChatPRD to write better docs, align teams faster, and build products users love.

Free to start
No credit card
SOC 2 certified
Enterprise ready