You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 via event.getGuestList(). GmailApp.search('from:attendee newer_than:7d') retrieves relevant threads. The existing calendar-to-briefing-doc architecture provides the exact pattern to follow:
Hourly trigger with shouldRunNow() scheduling logic
Multi-calendar support with configurable exclusion lists
MailApp delivery with rich formatting (emoji indicators, grouping, conflict warnings)
Dependency injection for full testability
Cross-service queries are feasible within GAS execution limits for reasonable meeting counts (3–8 meetings/day). The hourly trigger distributes load naturally.
Assessment
Dimension
Score
Rationale
Feasibility
med
Cross-service queries (Calendar → Gmail) are more complex than single-service scripts. GmailApp.search() per attendee is fast (~1s each) but scales with meeting count × attendee count. Requires careful batching.
Impact
high
Fills a genuinely vacant market niche (Clockwise dead, Reclaim doesn't do this, no OSS alternative). Calendar intelligence is a validated $76M+ market.
Urgency
high
Clockwise died March 2026 — the gap is fresh, users are actively looking for alternatives, and first-mover advantage in open-source is available now.
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 in PropertiesService to avoid redundant queries across hourly runs. The hourly trigger pattern (proven in calendar-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.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
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