Daily
Send an agenda the day before Sprint Planning
Attendees get an agenda built from your notes the day before each Sprint Planning meeting.
- Runs
- Daily
- Apps
- Gmail, Google Calendar
- AI
- Yes, uses the built-in AI allowance
- Access
- Calendar read; Gmail gmail.send
Send this to your assistant
Create a ClickRuntime automation: the day before any 'Sprint Planning' event, build an agenda from my notes and email it to all attendees.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An engineering lead runs sprint planning every two weeks. She keeps notes all fortnight, but the agenda goes out ten minutes before the meeting, if at all. People arrive without having looked at the open items, and the first twenty minutes are spent catching up.
An agenda in everyone's inbox the day before gives the team time to read, think and come ready to decide.
What you get out of it
Shorter, more focused meetings
When people have read the agenda beforehand, the meeting starts with decisions instead of background.
Your notes turn into the agenda
You keep writing notes the way you already do. The agenda is drafted from them, so there is no separate document to prepare.
Sent on time, every time
The agenda goes out the day before every Sprint Planning, even in a busy week when you would otherwise forget.
Everyone invited gets it
The email goes to the attendee list on the calendar event, so new team members are included without updating a mailing list.
How it works
What happens, step by step
Every day ClickRuntime checks your Google Calendar for a Sprint Planning event tomorrow.
If there is one, it reads your planning notes.
AI turns the notes into a short agenda with topics, decisions needed and owners.
The agenda is emailed to everyone invited to the meeting.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- Connect Google Calendar
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 Gmail and Google Calendar steps into one automation
Under the hood
The code that runs this automation
import base64
from datetime import datetime, timedelta, timezone
from email.message import EmailMessage
from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials
from clickruntime import on_trigger, credentials, ai, http
NOTES_DOC = "your-notes-doc-id"
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
start = datetime.now(timezone.utc) + timedelta(days=1)
events = build("calendar", "v3", credentials=creds, cache_discovery=False).events().list(calendarId="primary", q="Sprint Planning",
timeMin=start.replace(hour=0).isoformat(), timeMax=start.replace(hour=23).isoformat(), singleEvents=True).execute()["items"]
if not events:
return {"meeting": None}
notes = http.get(f"https://www.googleapis.com/drive/v3/files/{NOTES_DOC}/export", params={"mimeType": "text/plain"},
headers={"Authorization": f"Bearer {creds.token}"}).text[:8000]
agenda = ai.generate(f"Write a sprint planning agenda with topics, decisions and owners from these notes:\n{notes}", max_output_tokens=600).text
msg = EmailMessage()
msg["To"] = ", ".join(a["email"] for a in events[0].get("attendees", []))
msg["Subject"] = f"Agenda: {events[0]['summary']} tomorrow"
msg.set_content(agenda)
build("gmail", "v1", credentials=creds, cache_discovery=False).users().messages().send(
userId="me", body={"raw": base64.urlsafe_b64encode(msg.as_bytes()).decode()}).execute()
return {"sent_to": msg["To"].count("@")}FAQ
Common questions
Where do my notes need to be?
Does it work for other recurring meetings?
Can I review the agenda before it goes out?
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
Get a research brief before every external meeting
An hour before any meeting with people outside your company, you get an email about who they are, recent news and what you last discussed.
See how it worksBuild a daily timesheet from your calendar and sent email
Each evening you get a timesheet of the day grouped by client, built from your meetings and sent emails.
See how it worksDraft follow-ups for prospects who have gone quiet
Each morning you get ready-to-send follow-up drafts in Gmail for prospects who have not replied in a week, plus a slot in your calendar to send them.
See how it worksKeep exploring
Set up “Send an agenda the day before Sprint Planning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.