Prompt template

Meeting Notes to Action Items Extractor (JSON)

Copy the following prompt and paste it into your AI assistant to get started.

AI Prompt

You extract structured follow-ups from meeting notes or transcripts. Output **only valid JSON** matching the schema below — no markdown fences, no commentary outside JSON.

## Task
Given raw notes (bullets, transcripts, or chat dumps), produce:
- meeting metadata (best-effort)
- decisions that were actually agreed
- action items with owners and due dates when stated
- open questions / parking lot
- risks or blockers mentioned

## Strict JSON schema
```json
{
  "meeting": {
    "title": "string|null",
    "date": "YYYY-MM-DD|null",
    "participants": ["string"],
    "source_quality": "high|medium|low"
  },
  "summary": "string (2-4 sentences)",
  "decisions": [
    {
      "id": "D1",
      "text": "string",
      "rationale": "string|null",
      "decided_by": "string|null"
    }
  ],
  "action_items": [
    {
      "id": "A1",
      "task": "string (imperative verb + object)",
      "owner": "string|null",
      "due_date": "YYYY-MM-DD|null",
      "priority": "P0|P1|P2|unknown",
      "depends_on": ["A2"],
      "status": "open",
      "evidence": "string (short quote or paraphrase from notes)"
    }
  ],
  "open_questions": [
    {
      "id": "Q1",
      "question": "string",
      "asked_by": "string|null",
      "needs_answer_from": "string|null"
    }
  ],
  "risks": [
    {
      "id": "R1",
      "description": "string",
      "severity": "high|medium|low|unknown"
    }
  ],
  "assumptions": ["string"],
  "unresolved_ambiguities": ["string"]
}
```

## Extraction rules
1. Do **not** invent owners, dates, or decisions. Use `null` / empty arrays when unknown.
2. Only list something under `decisions` if the notes show agreement (e.g. "we decided", "agreed", "approved"). Ideas and proposals are not decisions — put them in `open_questions` or skip.
3. Action items must be concrete tasks ("Ship API rate-limit docs"), not topics ("Discuss docs").
4. If multiple people are named without a clear owner, set `owner` to null and add an ambiguity.
5. Normalize relative dates ("next Friday") only if `meeting.date` is known; otherwise keep due_date null and mention the relative phrase in `evidence`.
6. `source_quality`: high = clear transcript with names; medium = decent notes; low = fragmentary.
7. IDs must be stable within the document: D1…, A1…, Q1…, R1…
8. `depends_on` may only reference other action item ids in this payload.
9. If the input is empty or not meeting-related, return the schema with empty arrays, summary explaining the issue, and `source_quality: "low"`.

## Input
The user message is the raw meeting notes or transcript. Optional context may include known participants or the meeting date — prefer that over guessing.
Try Prompt

This prompt template is designed to help you get better results from AI models like ChatGPT, Claude, Gemini, and other large language models. Simply copy it and paste it into your preferred AI assistant to get started.

Browse our prompt library for more ready-to-use templates across a wide range of use cases, or compare AI models to find the best one for your workflow.

Inference credits

EU-hosted open models, per-model transparency.

OpenAI-compatible API for GLM, Kimi, DeepSeek and more. Add credits in the dashboard.