Quick overview
Fill in a form with your exam date, subjects, daily available hours, and study start time, and this workflow generates a complete personalised day-by-day study schedule using GPT-4o-mini, adds every session to Google Calendar automatically, logs the full plan to Google Sheets, and emails.
How it works
- You fill in a form with your name, exam date, subjects, daily available hours, preferred study start time, and email address.
- GPT-4o-mini reads your inputs and generates a complete day-by-day study plan in structured JSON — with specific topics per subject, session types (New Learning, Revision, Practice Test, Quick Review), durations between 1.5 and 3 hours, and start and end times. The first 60% of days focus on new learning and the last 40% shift to revision and practice. The final two days before the exam are reserved for quick review only.
- The schedule is parsed and split into individual study sessions — one per calendar event.
- Each study session is processed one at a time through a loop. For every session, a Google Calendar event is created with the subject, topic, start time, end time, session type, priority, and exam date in the description. The loop continues until all sessions have been added to the calendar.
- Once all calendar events are created, the full session list is reassembled and one row per study session is appended to your Google Sheets Study Planner tab.
- Gmail sends a formatted HTML confirmation email with the full day-by-day schedule table, session type and priority badges, a study plan overview, and five personalised study tips.
Setup
- Open the OpenAI — GPT-4o-mini Model step and connect your OpenAI API credential.
- Open node 5. Google Calendar — Create Study Event, connect your Google Calendar OAuth2 credential, and replace YOUR_CALENDAR_ID with your actual calendar ID. To find it: open Google Calendar → Settings → click your calendar name → scroll to Calendar ID. For most users it is your Google account email address.
- Create a Google Sheet tab named exactly Study Planner with these 12 column headers: Student Name, Exam Date, Subject, Topic, Date, Day, Start Time, End Time, Duration (hrs), Session Type, Priority, Status.
- Open node 7. Google Sheets — Log Study Plan, connect your Google Sheets OAuth2 credential, and replace YOUR_GOOGLE_SHEET_ID. Find the Sheet ID by opening your spreadsheet in a browser and copying the string between /d/ and /edit in the URL.
- Open node 8. Gmail — Send Confirmation Email and connect your Gmail OAuth2 credential. The email is sent automatically to whatever address the student submits in the form.
- Activate the workflow and copy the form URL from node 1. Form — Study Planner Input to share with students.
Requirements
- Active n8n instance (self-hosted or cloud)
- OpenAI account with GPT-4o-mini API access
- Google Calendar connected via OAuth2
- Google Sheets with a tab named Study Planner
- Gmail account connected via OAuth2 for sending confirmation emails
Customization
- Change the session duration range — in the system prompt of node 2. AI Agent — Generate Study Schedule, change "between 1.5 and 3 hours" to a different range to generate shorter or longer study blocks depending on your preference
- Change the new learning vs revision split — in the same system prompt, change "First 60% of days: New Learning" to a different percentage — for example 50/50 for a more balanced plan or 70/30 for exams that are further away
- Add a Slack notification when the schedule is ready — after node 8. Gmail — Send Confirmation Email, add a Slack step that posts the student name, exam date, total sessions, and a confirmation message to a study group channel
- Change the calendar event color per session type — in node 5. Google Calendar — Create Study Event, expand the additional fields and add a colorId value — Google Calendar supports color IDs 1 through 11, which you can map to each session type using an IF check before the calendar step
- Add reminder alerts to calendar events — in node 5. Google Calendar — Create Study Event, add a reminders field in the additional fields section to set a popup reminder 30 or 60 minutes before each study session
Additional info
The calendar event loop in this workflow uses SplitInBatches to process one study session at a time. Output 0 creates the next calendar event. Output 1 fires only when all sessions have been processed — this is what triggers the Sheets logging and email. Do not modify the SplitInBatches connections or the loop will break.
GPT-4o-mini generates the full schedule based on the number of days between today and the exam date. If the exam date is less than 2 days away, the AI may return a very short plan or an empty daily plan — the workflow will throw a clear error in that case. The exam date must be at least 3 days in the future for a meaningful plan to be generated.
The study start time field in the form must be entered in 24-hour format, for example 09:00 or 14:30. The AI uses this time as the anchor for scheduling all sessions throughout the day. An incorrectly formatted start time may cause calendar events to be created with invalid timestamps.
The Google Sheets log step uses autoMapInputData which maps the sheet_rows array directly. Make sure the column headers in your Study Planner tab match exactly — including capitalization and spacing — otherwise rows may be saved to the wrong columns or the step may fail.