Meeting Scheduler
Identifies optimal meeting times across multiple participants' calendars and time zones, proposes ranked scheduling options, generates structured agendas, and creates calendar invites — eliminating the back-and-forth of manual coordination.
When to Use
- User needs to schedule a meeting with multiple people across different time zones
- User asks to "find a time that works for everyone" for a group meeting
- A recurring meeting series needs to be established
- User wants to send a calendar invite with a structured agenda
- A meeting needs to be rescheduled around a conflict
- User wants to avoid scheduling fatigue by finding low-interruption time slots
- A sequence of project meetings needs to be planned across a project timeline
Process
Gather scheduling requirements:
- Participants: names, email addresses, and their time zones (infer from email domain or ask)
- Duration: how long the meeting needs to be
- Urgency: must happen today, this week, or within a specific window
- Constraints: hard constraints ("not before 9 AM", "never on Fridays", "avoid back-to-back") and soft preferences ("morning preferred")
- Meeting type: one-time, recurring (frequency), or ad hoc
- Purpose and agenda: what is the meeting for? What decisions need to be made?
Resolve time zones:
- Map each participant to their IANA time zone (
America/New_York, Europe/London, etc.)
- Identify the overlap of working hours (9 AM–5 PM) across all participants
- If no full overlap exists: find the closest overlap and flag which participants are at the edge of their working day
- Account for Daylight Saving Time transitions if the meeting is in the future
Query availability (when calendar access is available):
- Fetch free/busy data for each participant during the candidate window
- Identify blocks where all participants are simultaneously free for at least the required duration
- Add a 15-minute buffer on each side of proposed slots to avoid back-to-back meetings
- Flag participants who appear to have no availability in the window
Rank scheduling options:
- Score each open slot:
- +3: falls within core working hours for all participants
- +2: earlier in the week (reduces calendar anxiety)
- +2: not immediately before or after lunch for any participant
- +1: within the requester's stated time preferences
- −2: requires any participant to join before 8 AM or after 6 PM local time
- Present the top 3–5 options with time in each participant's local zone
Generate a structured agenda:
- Draft an agenda based on the stated meeting purpose
- Standard structure: Welcome / Context (5 min) → Main Topics → Decisions Needed → Action Item Assignment → Next Steps (5 min)
- Assign estimated time to each agenda item based on total meeting duration
- List any pre-reads or prep work participants should complete beforehand
Create the calendar event:
- Title: action-oriented and specific ("Q3 Budget Approval" not "Meeting")
- Include agenda and pre-read links in the description
- Add video conferencing link if participants are not co-located
- Set reminders: 24 hours and 15 minutes prior
- For recurring meetings: specify recurrence rule (RRULE) and end date
Handle no-availability scenarios:
- If no slot works for all participants: identify who blocks the most slots and suggest async alternatives (recorded Loom, shared doc for async input)
- Surface the "least bad" option with explicit note of whose schedule is impacted
Output Format
Scheduling Options
📅 Meeting: Q3 Roadmap Review (60 min)
Participants: Alice (EST), Bob (PST), Carol (GMT+1 Berlin)
Available Slots (ranked):
1. ✅ Tuesday, June 10 · 10:00 AM EST | 7:00 AM PST | 4:00 PM Berlin
All within core hours. Best overall fit.
2. ✅ Wednesday, June 11 · 2:00 PM EST | 11:00 AM PST | 8:00 PM Berlin
⚠️ Evening for Carol — she confirmed 8 PM is acceptable.
3. ⚠️ Thursday, June 12 · 9:00 AM EST | 6:00 AM PST | 3:00 PM Berlin
Very early for Bob — not recommended unless urgent.
Recommendation: Option 1 (Tuesday 10 AM EST). Proceed?
Calendar Invite Preview
📌 Calendar Invite
Title: Q3 Roadmap Review
Date: Tuesday, June 10, 2025
Time: 10:00 AM – 11:00 AM EST
· Alice: 10:00 AM EST
· Bob: 7:00 AM PST
· Carol: 4:00 PM CEST (Berlin)
Location: Zoom — https://zoom.us/j/987654321
Attendees: alice@co.com · bob@co.com · carol@co.com
---
AGENDA
Pre-read: Q3 OKR draft (link) — please review before the meeting
1. Review Q3 OKR progress [15 min]
2. Prioritize roadmap items for H2 [25 min]
3. Assign owners for each initiative [10 min]
4. Open discussion / blockers [5 min]
5. Next steps and action item confirmation [5 min]
---
Reminders: 24 hours before · 15 minutes before
Examples
Example Input
Schedule a 45-minute retrospective for a team: Sam (London), Lisa (New York), Kim (Singapore). Sometime next week, preferably Tuesday or Wednesday. Generate an agenda for a sprint retro.
Example Output
Time zone overlap analysis:
- London (BST, UTC+1) · New York (EDT, UTC-4) · Singapore (SGT, UTC+8)
- Usable overlap for all three within working hours: None exists simultaneously.
- Best compromise: 9:00 AM London / 4:00 AM New York / 4:00 PM Singapore
OR: 5:00 PM London / 12:00 PM New York / 12:00 AM Singapore (midnight — not viable for Kim)
Best option: Wednesday June 11 · 9:00 AM London · 4:00 AM New York · 4:00 PM Singapore
⚠️ Lisa in New York joins at 4:00 AM — recommend confirming she's comfortable with this, or consider async retro format.
Agenda (45 min):
1. What went well? [10 min — each person shares 1–2 items]
2. What could be improved? [15 min]
3. Action items to improve next sprint [15 min — assign owner and deadline per item]
4. Team shoutouts [5 min]
Boundaries
- Always display meeting times in each participant's local time zone — never only in a single zone.
- Do NOT send calendar invites without explicit user confirmation of the time, participants, and content.
- When working-hour overlap is impossible, flag it clearly and offer async alternatives rather than silently scheduling a 3 AM call.
- Respect stated constraints (no Fridays, no before 9 AM) — do NOT suggest times that violate them without explicit override from the user.
- For recurring meetings, confirm the end date or recurrence limit before creating the series.
- When calendar access is unavailable, present proposed slots as suggestions rather than confirmed bookings.
1---2name: meeting-scheduler3description: Identifies optimal meeting windows across participants' calendars and time zones, and sends invites with agendas. Invoke when asked to schedule a meeting, find a time that works for everyone, coordinate across time zones, or send a calendar invite with an agenda.4---56# Meeting Scheduler78Identifies optimal meeting times across multiple participants' calendars and time zones, proposes ranked scheduling options, generates structured agendas, and creates calendar invites — eliminating the back-and-forth of manual coordination.910## When to Use1112- User needs to schedule a meeting with multiple people across different time zones13- User asks to "find a time that works for everyone" for a group meeting14- A recurring meeting series needs to be established15- User wants to send a calendar invite with a structured agenda16- A meeting needs to be rescheduled around a conflict17- User wants to avoid scheduling fatigue by finding low-interruption time slots18- A sequence of project meetings needs to be planned across a project timeline1920## Process21221. **Gather scheduling requirements**:23 - **Participants**: names, email addresses, and their time zones (infer from email domain or ask)24 - **Duration**: how long the meeting needs to be25 - **Urgency**: must happen today, this week, or within a specific window26 - **Constraints**: hard constraints ("not before 9 AM", "never on Fridays", "avoid back-to-back") and soft preferences ("morning preferred")27 - **Meeting type**: one-time, recurring (frequency), or ad hoc28 - **Purpose and agenda**: what is the meeting for? What decisions need to be made?29302. **Resolve time zones**:31 - Map each participant to their IANA time zone (`America/New_York`, `Europe/London`, etc.)32 - Identify the overlap of working hours (9 AM–5 PM) across all participants33 - If no full overlap exists: find the closest overlap and flag which participants are at the edge of their working day34 - Account for Daylight Saving Time transitions if the meeting is in the future35363. **Query availability** (when calendar access is available):37 - Fetch free/busy data for each participant during the candidate window38 - Identify blocks where all participants are simultaneously free for at least the required duration39 - Add a 15-minute buffer on each side of proposed slots to avoid back-to-back meetings40 - Flag participants who appear to have no availability in the window41424. **Rank scheduling options**:43 - Score each open slot:44 - +3: falls within core working hours for all participants45 - +2: earlier in the week (reduces calendar anxiety)46 - +2: not immediately before or after lunch for any participant47 - +1: within the requester's stated time preferences48 - −2: requires any participant to join before 8 AM or after 6 PM local time49 - Present the top 3–5 options with time in each participant's local zone50515. **Generate a structured agenda**:52 - Draft an agenda based on the stated meeting purpose53 - Standard structure: Welcome / Context (5 min) → Main Topics → Decisions Needed → Action Item Assignment → Next Steps (5 min)54 - Assign estimated time to each agenda item based on total meeting duration55 - List any pre-reads or prep work participants should complete beforehand56576. **Create the calendar event**:58 - Title: action-oriented and specific ("Q3 Budget Approval" not "Meeting")59 - Include agenda and pre-read links in the description60 - Add video conferencing link if participants are not co-located61 - Set reminders: 24 hours and 15 minutes prior62 - For recurring meetings: specify recurrence rule (RRULE) and end date63647. **Handle no-availability scenarios**:65 - If no slot works for all participants: identify who blocks the most slots and suggest async alternatives (recorded Loom, shared doc for async input)66 - Surface the "least bad" option with explicit note of whose schedule is impacted6768## Output Format6970### Scheduling Options71```72📅 Meeting: Q3 Roadmap Review (60 min)73Participants: Alice (EST), Bob (PST), Carol (GMT+1 Berlin)7475Available Slots (ranked):76771. ✅ Tuesday, June 10 · 10:00 AM EST | 7:00 AM PST | 4:00 PM Berlin78 All within core hours. Best overall fit.79802. ✅ Wednesday, June 11 · 2:00 PM EST | 11:00 AM PST | 8:00 PM Berlin81 ⚠️ Evening for Carol — she confirmed 8 PM is acceptable.82833. ⚠️ Thursday, June 12 · 9:00 AM EST | 6:00 AM PST | 3:00 PM Berlin84 Very early for Bob — not recommended unless urgent.8586Recommendation: Option 1 (Tuesday 10 AM EST). Proceed?87```8889### Calendar Invite Preview90```91📌 Calendar Invite9293Title: Q3 Roadmap Review94Date: Tuesday, June 10, 202595Time: 10:00 AM – 11:00 AM EST96 · Alice: 10:00 AM EST97 · Bob: 7:00 AM PST98 · Carol: 4:00 PM CEST (Berlin)99100Location: Zoom — https://zoom.us/j/987654321101102Attendees: alice@co.com · bob@co.com · carol@co.com103104---105AGENDA106107Pre-read: Q3 OKR draft (link) — please review before the meeting1081091. Review Q3 OKR progress [15 min]1102. Prioritize roadmap items for H2 [25 min]1113. Assign owners for each initiative [10 min]1124. Open discussion / blockers [5 min]1135. Next steps and action item confirmation [5 min]114115---116Reminders: 24 hours before · 15 minutes before117```118119## Examples120121### Example Input122```123Schedule a 45-minute retrospective for a team: Sam (London), Lisa (New York), Kim (Singapore). Sometime next week, preferably Tuesday or Wednesday. Generate an agenda for a sprint retro.124```125126### Example Output127```128Time zone overlap analysis:129- London (BST, UTC+1) · New York (EDT, UTC-4) · Singapore (SGT, UTC+8)130- Usable overlap for all three within working hours: None exists simultaneously.131- Best compromise: 9:00 AM London / 4:00 AM New York / 4:00 PM Singapore132 OR: 5:00 PM London / 12:00 PM New York / 12:00 AM Singapore (midnight — not viable for Kim)133134Best option: Wednesday June 11 · 9:00 AM London · 4:00 AM New York · 4:00 PM Singapore135⚠️ Lisa in New York joins at 4:00 AM — recommend confirming she's comfortable with this, or consider async retro format.136137Agenda (45 min):1381. What went well? [10 min — each person shares 1–2 items]1392. What could be improved? [15 min]1403. Action items to improve next sprint [15 min — assign owner and deadline per item]1414. Team shoutouts [5 min]142```143144## Boundaries145146- Always display meeting times in each participant's local time zone — never only in a single zone.147- Do NOT send calendar invites without explicit user confirmation of the time, participants, and content.148- When working-hour overlap is impossible, flag it clearly and offer async alternatives rather than silently scheduling a 3 AM call.149- Respect stated constraints (no Fridays, no before 9 AM) — do NOT suggest times that violate them without explicit override from the user.150- For recurring meetings, confirm the end date or recurrence limit before creating the series.151- When calendar access is unavailable, present proposed slots as suggestions rather than confirmed bookings.