Paste your meeting notes into this prompt and get back a structured markdown table showing every action item, who owns it, and when it’s due. That’s the whole trick.
If you’ve ever walked out of a meeting and spent 20 minutes trying to piece together who said they’d handle what, this is worth reading. A Reddit user going by u/promptoptimizr shared it in r/ChatGPTPromptGenius, and while the post itself is casual, the prompt is well-engineered.
I think this is one of the higher-ROI prompts I’ve seen for actual office work. It doesn’t just summarize. It extracts.
Why it actually works
Three things make this prompt reliable instead of just okay:
- Role assignment: “You are an expert meeting summarizer and action item extractor” primes the model to focus on task extraction, not narrative summarization. This matters more than it sounds. Without a role, models default to recapping what was said, not what needs to happen next.
- Structured output: A fixed markdown table with three columns (Action Item, Owner, Suggested Deadline) forces the model to be explicit and consistent every time. You can paste the result straight into Notion, Linear, or a shared doc without reformatting anything.
- Hard constraints: The “Focus ONLY on concrete tasks” line is the critical one. The author tested this directly. Leave it out, and you get a meeting summary dressed up as a task list. With it in, you get actual tasks.
The Owner field is smarter than it looks. The prompt tells the model to infer ownership from context, fall back to a department or role, and only mark something “Unassigned” as a last resort. That prevents the vague fill-ins you get with looser instructions. In practice, even when nobody explicitly said “I’ll take this,” the model can usually pick up on context like “Sarah’s team handles onboarding” and attribute correctly.
How deadlines get handled
The model is told to look for explicit mentions first, then infer from phrases like “by next week” or “end of month.” If nothing is inferable, it outputs “TBD,” not a guess. That’s an honest and practical default, and it keeps the table trustworthy rather than full of AI-fabricated dates. This is actually a meaningful design choice. A table with a few honest “TBD” entries is far more useful than one where the model quietly invented plausible-sounding deadlines that nobody agreed to. Trust in the output matters if you’re going to build a real workflow around it.
🗂️ Use Cases
- Post-sprint standups where three people talked over each other and the notes are a mess
- Client calls where deliverables were mentioned casually but never formalized in writing
- Internal planning meetings with loose next steps and no designated note-taker
- Any recorded call where you have a rough transcript or even a Zoom auto-caption export
- Weekly team syncs where the same items keep resurfacing because nobody captured them properly the first time
Cross-model note: the author found it works well on GPT and Claude Opus. Gemini was less consistent on the table formatting, so if that’s your primary model, it’s worth a quick test before you build a workflow around it. One workaround if you’re on Gemini: explicitly add “use standard markdown pipe syntax” to the output format section. That small addition tightens up the formatting significantly.
Prompt of the Day
## ROLE: You are an expert meeting summarizer and action item extractor. ## TASK: Analyze the provided meeting notes and extract all actionable tasks. For each task, identify: 1. The specific action required. 2. The person or team responsible (Owner). 3. A suggested deadline, if one can be inferred or reasonably estimated. If no deadline is inferable, state 'TBD'. ## CONSTRAINTS: - Focus ONLY on concrete tasks and next steps. - Do not include general discussion points, background information, or decisions that do not require a specific action. - Assign an owner even if its implied. If no owner is explicitly mentioned but a department or role is, use that (e.g., 'Marketing Team', 'Lead Developer'). If absolutely no owner can be identified, use 'Unassigned'. - For deadlines, look for explicit mentions or infer from context (e.g., 'by next week', 'by end of month'). If inference is difficult or impossible, use 'TBD'. - Present the output as a markdown table. ## INPUT MEETING NOTES: [PASTE YOUR MEETING NOTES HERE] ## OUTPUT FORMAT: A markdown table with the following columns: | Action Item | Owner | Suggested Deadline | |-------------|-------|--------------------| | | | |
One upgrade worth trying
A commenter in the thread suggested feeding the model a memory of previous meeting summaries. If you’re using a long-context model or one with persistent memory, you can include past summaries to catch recurring items or track whether last week’s “TBD” ever got resolved. That turns this from a single-use tool into a lightweight project tracker across weeks. The practical version of this: keep a running document of your last three or four meeting tables, paste it at the top of your next prompt as context, and ask the model to flag anything that appears again without being resolved. You get accountability baked into the process without needing a dedicated project management tool.
The original discussion in r/ChatGPTPromptGenius has a few more ideas from the community worth reading if you’re building a system around this kind of workflow.
Frequently Asked Questions
Q: How do I scale this beyond single meetings to track patterns and recurring issues?
Store your summaries and action items over time, then periodically scan across multiple meetings to spot recurring topics that might need dedicated processes instead of being rehashed repeatedly. You can also identify overdue items and see who’s consistently getting overloaded with tasks, one commenter mentioned building a persistent AI agent that does exactly this, and they said that’s when it goes from helpful to game-changing.
Q: What if I don’t take detailed meeting notes?
The prompt is actually designed to handle rambling input, so even messy notes work fine. If you don’t have written notes at all, try recording and transcribing key points, asking someone else to take rough notes, or feeding it summaries from email follow-ups or chat messages, it’s flexible enough to extract action items from whatever you’ve got.
Q: How do I assign an owner if no one explicitly volunteered?
Look for context clues: who brought up the topic? Whose department does it affect? Who has the relevant skills? The prompt includes fallbacks like using team names or roles, and “Unassigned” only as a last resort. When in doubt, flag it in the meeting recap and ask directly, just be thoughtful about not defaulting to your most capable person.
Q: Which LLM works best for this?
Claude and GPT handle the table formatting reliably. Gemini can be hit or miss, if you’re using it, try asking for JSON or a structured list instead of a table, or just switch to Claude or GPT for this task.
Q: How do I handle deadlines when none are explicitly mentioned?
Look for context clues in the notes: upcoming launches, sprint timelines, task dependencies, or urgency language. If you truly can’t infer anything, “TBD” is fine, just flag it with the team to get clarity. Incomplete deadlines are better than guessed ones that create false urgency later.
I turn messy meeting notes into actual tasks with this prompt
by u/promptoptimizr in ChatGPTPromptGenius