Weekly
Create next week's lesson plans in Drive every Sunday
Every Sunday you get a lesson plan Google Doc for each lesson next week, filed in your Lessons folder, with the links emailed to you.
- Runs
- Weekly
- Apps
- Google Docs, Google Drive
- AI
- Yes, uses the built-in AI allowance
- Access
- Drive drive.file; Docs write
Send this to your assistant
Create a ClickRuntime automation: each Sunday, create lesson plan Google Docs for next week's lessons in my Lessons folder.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A secondary school teacher spends most of Sunday afternoon writing plans for the week ahead: five classes, three year groups, two subjects. The plans follow the same structure each time, but filling them in from scratch takes hours she would rather spend marking or resting.
This automation drafts the whole week's plans on Sunday morning, so she spends a short time reviewing and adjusting them instead of writing every one from a blank page.
What you get out of it
Your weekend back
Reviewing drafted plans takes a fraction of the time it takes to write them, which frees up a large part of Sunday.
The same structure every time
Each plan follows your format, with objectives, activities and assessment, which keeps lessons consistent and easy to share.
Ready before the week starts
Plans are in your folder by Sunday, so Monday morning starts organised.
Easy to reuse and improve
Plans are ordinary Google Docs, so you can edit them, share them with colleagues and reuse them next year.
How it works
What happens, step by step
Every Sunday morning ClickRuntime reads the list of next week's lessons.
It skips any lesson that already has a plan in your Lessons folder.
AI writes a plan for each lesson using its class, subject and topic.
Each plan is saved as a Google Doc in your Lessons folder.
You get one email with links to all the plans.
Before it runs live
- Connect Google Docs
- Connect Google Drive
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Google Docs and Google Drive steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, ai, notify
FOLDER_ID = "your-lessons-folder-id"
LESSONS = ["Mon P1 Year 8 Science: states of matter", "Tue P3 Year 10 Science: electrolysis",
"Wed P2 Year 8 Science: particle model", "Thu P4 Year 12 Chemistry: redox", "Fri P1 Year 10 Science: rates"]
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
drive = build("drive", "v3", credentials=creds, cache_discovery=False)
docs = build("docs", "v1", credentials=creds, cache_discovery=False)
existing = {f["name"] for f in drive.files().list(q=f"'{FOLDER_ID}' in parents and trashed=false",
fields="files(name)").execute()["files"]}
links = []
for lesson in LESSONS:
if lesson in existing:
continue
plan = ai.generate(f"Write a lesson plan with Objectives, Starter, Main activity, Assessment, Plenary for: {lesson}",
max_output_tokens=1200).text
doc = drive.files().create(body={"name": lesson, "parents": [FOLDER_ID], "mimeType": "application/vnd.google-apps.document"},
fields="id,webViewLink").execute()
docs.documents().batchUpdate(documentId=doc["id"], body={"requests": [
{"insertText": {"location": {"index": 1}, "text": plan}}]}).execute()
links.append(f"{lesson}: {doc['webViewLink']}")
if links:
notify.email_me("Next week's lesson plans", "\n".join(links))
return {"plans": len(links)}FAQ
Common questions
Where does it get next week's lessons from?
Can it follow my school's lesson plan format?
What if a topic needs more than one lesson?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Research a company and save a report as a Google Doc
Submit a company name and a structured research report is saved as a Google Doc in your Reports folder.
See how it worksScore CVs in a Drive folder and keep a ranked report Doc
Every CV you drop into your Applicants folder is scored against the job description and added to a ranked summary in a Google Doc.
See how it worksCreate document drafts from new contract PDFs in Drive
Each contract PDF added to your Drive folder produces a draft from your Doc template with the parties, dates and amounts filled in.
See how it worksKeep exploring
Set up “Create next week's lesson plans in Drive every Sunday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.