AI Meeting Preparation Assistant
Automated meeting preparation with agenda generation, document synthesis, and talking points.
Workflow Steps
- 1
Context Gatherer Agent collects relevant documents and previous meeting notes
- 2
Agenda Generator Agent creates a structured meeting agenda
- 3
Talking Points Agent prepares key discussion topics
- 4
Pre-Read Synthesizer Agent creates a summary of pre-reading materials
- 5
Action Item Tracker Agent prepares to track meeting outcomes
- 6
Reminder Agent sends meeting reminders with context
Download
Documentation
AI Meeting Preparation Assistant
Overview
The AI Meeting Preparation Assistant automates the preparation process for meetings by gathering context, generating agendas, preparing talking points, and creating pre-read summaries. It helps ensure meetings are productive, well-organized, and that participants are properly prepared.
Meeting preparation is often rushed or skipped entirely, leading to unproductive meetings. This workflow automates the research, synthesis, and organization of meeting materials, freeing up time for actual meeting facilitation.
Difficulty
Easy — Straightforward workflow with clear outputs.
Tools Required
| Tool | Purpose |
|---|---|
| OpenAI Agents SDK | Agent orchestration and tool calling |
| Claude | Content synthesis and agenda generation |
| Notion MCP | Access meeting notes and documents |
| Google Calendar | Get meeting details and attendee info |
| Slack | Send reminders and share materials |
| Filesystem MCP | Access local documents and files |
Workflow Steps
Step 1: Context Gatherer Agent
The Context Gatherer Agent collects relevant information:
- Retrieve previous meeting notes on the topic
- Gather related documents and files
- Collect recent Slack/Email discussions
- Identify key stakeholders and their roles
- Find relevant metrics and data
# Example: Gather context
context = context_gatherer_agent.run(f"""
Gather all relevant context for this meeting:
Meeting: {meeting_title}
Date: {meeting_date}
Attendees: {attendees}
Collect:
1. Previous meeting notes on this topic
2. Related documents and files
3. Recent discussions (Slack, Email)
4. Key metrics and data points
5. Action items from previous meetings
6. Stakeholder roles and responsibilities
Summarize the key context in 1-2 paragraphs.
""")
Step 2: Agenda Generator Agent
The Agenda Generator Agent creates a structured agenda:
- Define meeting objectives
- Allocate time for each topic
- Identify decision points
- Assign discussion owners
- Include pre-work if needed
# Example: Generate agenda
agenda = agenda_generator_agent.run(f"""
Create a structured agenda for this meeting:
Meeting: {meeting_title}
Duration: {meeting_duration}
Attendees: {attendees}
Context: {context_summary}
Include:
1. Clear meeting objectives (3-5 bullet points)
2. Time-boxed agenda items
3. Discussion owners for each item
4. Decision points to resolve
5. Pre-work or preparation needed
6. Expected outcomes
Format as a clean, readable agenda.
""")
Step 3: Talking Points Agent
The Talking Points Agent prepares key discussion topics:
- Identify key discussion points
- Prepare data and evidence for each point
- Anticipate questions and objections
- Prepare backup information
- Create concise summaries
# Example: Prepare talking points
talking_points = talking_points_agent.run(f"""
Prepare talking points for this meeting:
Agenda: {agenda}
Context: {context_summary}
For each agenda item:
1. Key points to discuss
2. Supporting data or evidence
3. Anticipated questions and answers
4. Decision criteria
5. Recommended position or proposal
Keep each point concise (2-3 sentences max).
""")
Step 4: Pre-Read Synthesizer Agent
The Pre-Read Synthesizer Agent creates a summary:
- Synthesize all context into a brief
- Highlight key decisions needed
- Include relevant metrics
- Summarize previous action items
- Create a one-page pre-read
# Example: Create pre-read
pre_read = pre_read_synthesizer_agent.run(f"""
Create a one-page pre-read for this meeting:
Context: {context_summary}
Agenda: {agenda}
Include:
1. Meeting purpose and objectives
2. Key decisions to be made
3. Relevant background (brief)
4. Key metrics or data
5. Previous action items status
6. Pre-work for attendees
Keep it to one page, scannable format.
""")
Step 5: Action Item Tracker Agent
The Action Item Tracker Agent prepares to track outcomes:
- Set up action item template
- Define tracking fields
- Prepare follow-up schedule
- Configure notifications
# Example: Set up tracking
tracker = action_item_tracker_agent.run(f"""
Set up action item tracking for this meeting:
Meeting: {meeting_title}
Attendees: {attendees}
Create:
1. Action item template with fields:
- Action item description
- Owner
- Due date
- Status
- Notes
2. Follow-up schedule (1 day, 1 week, 1 month)
3. Notification settings
""")
Step 6: Reminder Agent
The Reminder Agent sends meeting reminders:
- Send calendar invites with agenda
- Share pre-read materials
- Send day-before reminder
- Send day-of reminder with talking points
- Post-meeting follow-up
# Example: Send reminders
reminder_agent.run(f"""
Send meeting reminders:
Meeting: {meeting_title}
Date: {meeting_date}
Time: {meeting_time}
Attendees: {attendees}
1. Send calendar invite with agenda attached
2. Share pre-read materials via Slack/Email
3. Schedule day-before reminder
4. Schedule day-of reminder with talking points
5. Schedule post-meeting follow-up for action items
""")
Example Usage
Weekly Team Meeting
# Initialize preparation
prep = MeetingPreparationWorkflow(
meeting_id="weekly-team-sync",
calendar="team-calendar@example.com",
notion_space="team-docs",
slack_channel="#team-sync",
)
# Prepare for next meeting
meeting = prep.prepare_next_meeting(
duration_minutes=60,
include_pre_read=True,
include_talking_points=True,
)
print(f"Agenda: {meeting.agenda}")
print(f"Pre-read: {meeting.pre_read}")
Project Kickoff Meeting
prep = MeetingPreparationWorkflow(
meeting_title="Project Phoenix Kickoff",
attendees=["alice@example.com", "bob@example.com", "carol@example.com"],
duration_minutes=90,
context_sources=["notion://project-phoenix", "slack://#project-phoenix"],
)
meeting = prep.prepare(
include_pre_read=True,
include_talking_points=True,
include_action_tracking=True,
)
# Send to attendees
prep.send_to_attendees(meeting)
Pros
- ✅ Time Savings: Automates tedious preparation work
- ✅ Consistency: Standardized meeting prep
- ✅ Better Meetings: Well-prepared participants
- ✅ Context Preservation: Never lose previous meeting context
- ✅ Action Tracking: Built-in follow-up system
- ✅ Scalable: Prepare for many meetings simultaneously
Cons
- ❌ Context Access: Needs access to meeting history
- ❌ Not a Replacement: Human facilitation still needed
- ❌ Setup Required: Configure tools and integrations
- ❌ Generic Output: May need customization for specific meetings
When to Use
Use this workflow when:
- Running regular recurring meetings
- Preparing for important stakeholder meetings
- Onboarding new team members to meeting culture
- Needing consistent meeting preparation
- Wanting to improve meeting productivity
Avoid this workflow when:
- Meetings are very informal or ad-hoc
- You have deep context and don't need preparation
- The meeting is purely social or team-building
- You prefer spontaneous, unstructured discussions
