Repository navigation
💡 New script: calendar-meeting-prep (pre-meeting context briefings with attendee intelligence) #504
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
A Google Apps Script that runs on an hourly trigger, identifies upcoming meetings (within a configurable lookahead window), and emails the user a pre-meeting brief containing: attendee list, recent email threads with each attendee (last 7 days), and links to any Google Docs/Sheets mentioned in the event description. Fills the meeting prep gap left by Clockwise's shutdown in March 2026.
Market Signal
Clockwise — a $76M-funded calendar intelligence platform serving 40,000 organizations including Uber, Netflix, and Atlassian — was shut down on March 27, 2026 after Salesforce's acqui-hire. Users were directed to Reclaim.ai for migration, but Reclaim focuses on time-blocking, not meeting prep. The meeting preparation intelligence niche is now genuinely vacant in both commercial and open-source tools. Superhuman's acquisition by Grammarly (July 2025) further consolidated the email productivity space without addressing calendar intelligence. No tool — free or paid — proactively briefs users before meetings with cross-service context.
User Signal
calendar-to-briefing-doc(already built in this repo) proves demand for calendar intelligence automation. The natural progression from "what meetings do I have?" (briefing doc) to "what do I need to know for each meeting?" (meeting prep) is the next evolutionary step. Cross-service context (Calendar + Gmail) is a workflow that no single Google product provides natively — Gemini in Gmail can check Calendar from the side panel, but cannot proactively brief you before meetings with attendee email history.Technical Opportunity
CalendarApp.getEvents()provides attendee emails viaevent.getGuestList().GmailApp.search('from:attendee newer_than:7d')retrieves relevant threads. The existingcalendar-to-briefing-docarchitecture provides the exact pattern to follow:shouldRunNow()scheduling logicCross-service queries are feasible within GAS execution limits for reasonable meeting counts (3–8 meetings/day). The hourly trigger distributes load naturally.
Assessment
Adversarial Review
Strongest objection: Cross-service queries (Calendar → Gmail search per attendee) are expensive. With 8 meetings averaging 5 attendees each, that's 40 Gmail searches per run — potentially hitting execution time limits.
Rebuttal:
GmailApp.search()is fast (typically <1 second per query). 40 searches × 1 second = 40 seconds, well within the 6-minute execution limit. Mitigation: (1) configurable lookahead window (default 2 hours, reducing meeting count per run to 1–3), (2) attendee deduplication across meetings (same person in multiple meetings = one search), (3) skip meetings with <2 attendees (solo focus blocks need no prep), (4) cache recent search results inPropertiesServiceto avoid redundant queries across hourly runs. The hourly trigger pattern (proven incalendar-to-briefing-doc) distributes load naturally.Suggested Next Step
Prototype the cross-service query flow:
CalendarApp.getEventsForDay()→ extract unique attendee emails →GmailApp.search()per attendee → format briefing email. Measure execution time with realistic meeting counts (5–10 meetings, 3–5 attendees each) to validate feasibility within GAS limits. Define the config.gs schema: lookahead window, minimum attendee count, email thread age limit.All reactions