23.1 Turning meetings into action items and tickets

Overview and links for this section of the guide.

Goal: convert meetings into execution

Meetings are expensive. Their output should be:

  • clear action items,
  • clear owners,
  • clear deadlines (or explicit “no deadline”),
  • clear tickets that can be tracked.

The model is useful because it can extract and structure quickly. The danger is it will “help” by inventing owners or deadlines. Your prompts must make invention illegal.

What to provide (transcript pack)

Provide:

  • Transcript: with timestamps and speakers if available.
  • Meeting context: purpose, attendees/roles, project name.
  • Ticket system constraints: required fields, labels, templates.
  • Rules: no guessing; require evidence quotes.

Action item and ticket schema

Use a schema that can represent uncertainty:

{
  "action_items": [{
    "summary": string,
    "owner": string|null,
    "due_date": string|null,
    "priority": "p0" | "p1" | "p2" | null,
    "type": "bug" | "feature" | "chore" | "decision" | "follow-up" | null,
    "context": string,
    "evidence_quotes": string[],
    "needs_clarification": boolean,
    "clarifying_question": string|null
  }]
}

A reliable extraction workflow

  1. Extract candidates: list possible action items with evidence quotes.
  2. Normalize: merge duplicates; split multi-part items.
  3. Assign cautiously: only assign owner/due date if explicitly stated; otherwise leave null.
  4. Generate tickets: translate items into your ticket format (title + description).
  5. Review: a human scans for hallucinated commitments.
Ask for “clarifying questions” as output

When owners/dates are missing, generate a short list of questions to close the loop in the next meeting or async.

Copy-paste prompts

Prompt: extract action items with evidence

From the transcript below, extract action items.

Rules:
- Do not guess owners, dates, or priorities.
- Every action item must include 1–3 direct quotes from the transcript as evidence.
- If an item needs an owner or due date, set owner/due_date to null and add a clarifying_question.

Return valid JSON with this schema:
{
  "action_items": [{
    "summary": string,
    "owner": string|null,
    "due_date": string|null,
    "priority": "p0"|"p1"|"p2"|null,
    "type": string|null,
    "context": string,
    "evidence_quotes": string[],
    "needs_clarification": boolean,
    "clarifying_question": string|null
  }]
}

Transcript:
```text
...
```

Prompt: convert action items into tickets

Convert these action items into ticket drafts.

Constraints:
- Ticket title: <= 80 chars.
- Ticket body must include: context, acceptance criteria, and the evidence quote(s).
- Do not add new requirements not present in the transcript.

Return as markdown with one ticket per section.

Anti-patterns

  • Letting the model assign owners from implicit cues.
  • Letting it invent due dates (“next week” ≠ a date unless stated).
  • Mixing decisions and tasks (a decision may still need tasks).

Where to go next