TL;DR
Paste the raw transcript into an AI model, ask for a table of owner / action / due date / source quote, and force it to mark anything without a named person as unassigned instead of guessing. Park unresolved questions in a second table. Send the draft to attendees with a 48-hour correction window; after that it becomes the record. For one-off meetings, a $0 model (ChatGPT Free, Claude Free, Gemini) handles a typical 60-minute transcript. For recurring meetings, a dedicated notetaker that captures the audio and assigns items automatically (Fathom Free, Otter, Granola) saves the copy-paste step.
The task
You ran a meeting, decisions got made, and by Friday the team has forgotten half of them. You want one clean list — owner, action, due date — plus a separate list of unresolved questions so the next meeting starts from those instead of re-litigating what was already settled. The hard part is not summarizing; it’s making sure every commitment has a named owner and a date, because that is exactly what people gloss over when they talk.
Where AI helps and where it quietly fails
AI is good at converting a long, messy transcript into a structured list. It tolerates filler (“yeah so, um, maybe we should…”) and surfaces implicit commitments a human skims past on a first read. It is especially good at catching the case where someone “agreed” without anyone naming an owner — the single most common reason action items die.
The failure mode is the same skill turned against you: AI will fill in a plausible owner to make the list look complete. If the transcript says “we should do X” with no name attached, the model is happy to assign it to whoever spoke last. That is how a task gets owned by no one. The fix is a hard instruction to mark unstated owners as unassigned, never to infer them. The model is the extractor; the room assigns owners.
What to feed the model
- The full transcript text — raw is fine, do not pre-clean it
- The meeting’s goal in one line (helps the model rank what mattered)
- The attendee roster with roles (so it can match speakers to people)
- Any prior open action items, so it can flag which ones got resolved this time
The prompt
This works in ChatGPT, Claude, or Gemini. Replace the bracketed placeholders with your text — the bracket style keeps it copy-safe.
Extract action items from this meeting transcript.
Goal: [one-line meeting goal]
Attendees and roles: [paste roster]
Prior open items: [paste, or "none"]
Transcript: [paste full transcript]
Return TABLE 1 — Action items, columns:
owner | action (one verb-first sentence) | due date or "unspecified" | source quote (verbatim)
Return TABLE 2 — Unresolved questions, columns:
question | what's needed to resolve it | who can resolve it
Rules:
- Do NOT guess owners. If the transcript does not name a person, write "unassigned".
- Do NOT invent due dates. If none was stated, write "unspecified".
- Every action row must have a real source quote, or drop the row.
After the tables, write a 3-sentence summary of decisions made.
The verbatim source quote is the load-bearing part. It turns “trust the AI” into “verify in five seconds” — you find the quote in the transcript and confirm the action actually follows from it.
Pick the right tool (June 2026)
For a one-off meeting where you already have a transcript or recording, a general model is enough and free. For a meeting that repeats — standups, client calls, syncs — a dedicated notetaker joins the call, transcribes it, and produces assigned action items without any copy-paste. Prices below are as of June 2026; verify current tiers before relying on them.
| Tool | Free tier | Paid entry | Best for |
|---|---|---|---|
| ChatGPT | GPT-5.5, paste/upload a transcript; macOS Record Mode (Plus, 120-min cap) | Plus $20/mo | One-off transcripts you already have; in-app recording on Mac |
| Claude | Sonnet 4.6 free tier; paste a transcript | Pro $20/mo (1M-token context) | Long transcripts that need the full context window in one pass |
| Gemini | Gemini 3.1 Pro on the free tier; 1M context | Google AI Pro $19.99/mo | Transcripts living in Google Docs / Meet |
| Fathom | Unlimited recording, 5 AI summaries + action items/mo | Premium $19/mo (unlimited) | Recurring meetings on a budget; auto-joins Zoom/Meet/Teams |
| Otter | 300 transcription min/mo, 30 min/conversation | Business $20/user/mo (annual) | Teams; channels, CRM sync, shared action items |
| Granola | Basic free tier | Business $14/user/mo | Back-to-back meetings; your typed notes guide extraction |
Sources: Fathom pricing, Otter pricing, Granola, ChatGPT Record (OpenAI Help).
A note on context windows: a one-hour meeting is roughly 8,000–10,000 words of transcript, which fits comfortably in any of the three general models. As of June 2026, Claude Opus 4.7 / Sonnet 4.6 and Gemini 3.1 Pro carry a 1M-token standard window, so even a half-day workshop transcript fits in a single pass. On ChatGPT Plus the in-app context is about 320 pages; the full 1M window is reserved for the $200 Pro tier. If you do hit a limit, split the transcript by agenda section rather than by arbitrary length, so no single action item gets cut in half.
Verify before you send
Open each row and find its source quote in the transcript. If the quote does not clearly support the action, drop the row or rewrite it. This catches the two failure modes that matter: an owner the model inferred, and a “decision” that was actually still under debate.
Then send the list to attendees with a 48-hour correction window. State plainly: anything not corrected in 48 hours becomes the official record. That single line does more for accountability than any tool — it converts a passive read into an active sign-off, and it gives quiet dissenters a deadline to speak up.
Common mistakes
- Asking for a “summary” instead of action items. A summary is a paragraph nobody acts on. Ask for the owner/action/due table explicitly.
- Letting the model assign owners by context. Always force
unassignedfor unstated owners; resolve them in the room, not in the prompt. - Dropping the unresolved-questions table. Those questions are next meeting’s surprises. Parking them is how you stop re-opening settled decisions.
- No due dates. An action item without a date is a wish. Make
unspecifiedvisible so the gap is obvious and someone fills it. - Treating the first draft as the record. It is a draft until the correction window closes.
Keep improving the loop
Track which owners consistently miss due dates and which actions reappear across meetings. Neither is a blame signal — both are scope signals. If the same item shows up in three consecutive meetings, it is too big; break it into smaller owned pieces before the fourth. Over a quarter, this pattern tells you more about where work is actually stuck than any status report.
FAQ
- What if there is no transcript? Use the recording. ChatGPT Record Mode (macOS app, Plus and up, 120-minute cap) transcribes in-app; Fathom, Otter, and Granola transcribe automatically when they join the call. Audio quality matters more than which tool you pick — one good room mic beats a fancy app on a tinny laptop speaker.
- Should the AI output be the official record? Only after the correction window. The first draft is never the record; the corrected, signed-off version is.
- Can AI schedule the follow-ups too? It can draft them, but keep your calendar as the source of truth. Have the model output owner/action/due, then create real calendar events or tickets from that — don’t let the chat thread be where deadlines live.
- Will it handle a non-English meeting? Yes. The general models and Otter both transcribe and extract in major languages including Chinese, Spanish, French, German, and Japanese. Ask for the action-item table in whichever language your team reads.
- How long can the transcript be? A one-hour meeting (~8,000–10,000 words) fits any model. For multi-hour sessions, Claude and Gemini handle it in one pass on their 1M-token windows; on ChatGPT Plus, split by agenda section if you exceed the in-app limit.