Inferensys

Prompt

Meeting Transcript Action Item Extraction and Priority Prompt Template

A practical prompt playbook for using Meeting Transcript Action Item Extraction and Priority Prompt Template in production AI workflows.
Operations team reviewing AI workflow automation on laptop, workflow builder visible, casual office setup.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the ideal use case, required inputs, and boundaries for the action item extraction prompt.

This prompt is designed for knowledge workers and engineering teams who need to extract structured, prioritized action items from raw meeting transcripts. It uses few-shot examples to teach the model how to identify tasks, detect ownership, extract deadlines, and assign a priority score, rather than relying on verbose instruction sets. Use this when you need consistent, machine-readable outputs from messy, multi-speaker transcripts that will be ingested into project management tools, task queues, or automated follow-up systems. This is not a meeting summarization prompt; it focuses exclusively on action item extraction and triage.

The ideal input is a raw, diarized transcript where speakers are identified. The prompt expects a [TRANSCRIPT] placeholder containing the full meeting text. It works best when the transcript includes clear verbal commitments ("I will," "I'll take that"), explicit deadlines, and assigned owners. The output is a structured JSON array of action items, each with fields for task_description, owner, deadline, priority_score (1-5), and evidence_quote. This schema is enforced through few-shot examples, not just instructions, which makes the extraction more robust to variations in speaking style and transcript quality.

Do not use this prompt for generating meeting summaries, identifying decisions without assigned actions, or analyzing sentiment. It is not suitable for transcripts where speakers are not identified, as ownership detection relies on speaker labels. If your transcript lacks clear ownership signals, pair this prompt with a pre-processing step that attempts to resolve pronouns and implicit assignments. For high-stakes workflows where missed action items have compliance or legal consequences, always route outputs through a human review queue before ingestion into downstream systems. The prompt includes a confidence marker for each extracted item, which you should use to filter low-confidence extractions for manual verification.

PRACTICAL GUARDRAILS

Use Case Fit

Where this prompt works and where it does not.

01

Good Fit: Structured Meeting Transcripts

Use when: Inputs are clean transcripts with speaker labels and clear turn-taking. The prompt excels at extracting explicit commitments, deadlines, and assigned owners from well-formatted dialogue. Guardrail: Pre-process transcripts to ensure speaker diarization is accurate before extraction.

02

Bad Fit: Unstructured Brainstorming Sessions

Avoid when: The source material is a free-form ideation session with no clear decisions, overlapping speakers, or abstract concepts. The model will hallucinate action items to satisfy the output schema. Guardrail: Use a separate summarization prompt first to identify if concrete decisions exist before attempting extraction.

03

Required Inputs: Speaker Labels and Timestamps

Risk: Without speaker labels, the model cannot reliably assign ownership, leading to generic or incorrect task assignments. Guardrail: Validate that the transcript includes consistent speaker identifiers. If missing, use a diarization pre-processing step or flag items as 'unassigned' in the schema.

04

Operational Risk: Priority Drift

Risk: The model's subjective interpretation of 'high priority' can drift based on the emotional tone of the conversation rather than business impact, causing alert fatigue. Guardrail: Constrain the priority field to a strict enum (P0-P3) and provide few-shot examples that map specific business consequences to each level.

05

Operational Risk: Implicit vs. Explicit Deadlines

Risk: The model may extract relative dates ('next Friday') or infer deadlines from vague statements ('ASAP'), leading to scheduling errors. Guardrail: Instruct the prompt to extract only explicit dates and to populate a separate 'inferred_deadline_confidence' field with a low score for ambiguous phrases.

06

Bad Fit: Multi-Language Code-Switching

Avoid when: The transcript contains heavy code-switching between languages, especially in technical jargon. The model may miss action items or misattribute ownership due to translation errors. Guardrail: If code-switching is detected, route to a translation-aware extraction pipeline or flag the transcript for human review.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable few-shot prompt for extracting, assigning ownership, and prioritizing action items from meeting transcripts.

This prompt template teaches the model to parse a raw meeting transcript and produce a structured list of action items. The few-shot examples are the primary teaching mechanism—they demonstrate extraction of implicit commitments, mapping of speakers to owners, deadline normalization, and priority assignment based on urgency signals in the conversation. The template is designed to be copied directly into your prompt management system or API call, with square-bracket placeholders you replace at runtime.

text
You are an action item extraction system. Your task is to read a meeting transcript and output a JSON array of action items. Each action item must include: the task description, the owner (the person responsible), any mentioned deadline, and a priority level (High, Medium, Low).

Follow these rules:
- Extract only concrete commitments, tasks, or follow-ups. Do not invent tasks that were not discussed.
- If a task is assigned to a person by name, use that name as the owner. If the speaker volunteers, they are the owner. If no owner is clear, use "Unassigned".
- Normalize all deadlines to ISO 8601 dates (YYYY-MM-DD). If a relative date is given (e.g., "next Tuesday"), calculate the actual date assuming the meeting date is [MEETING_DATE]. If no deadline is mentioned, use null.
- Assign priority based on these signals: explicit urgency language ("ASAP", "critical", "blocking"), dependency on other tasks, or proximity to the deadline. Default to Medium if no signal is present.
- Output ONLY a valid JSON array. No other text.

[EXAMPLES]

---

Transcript:
Alice: Okay, let's wrap up. Bob, can you send the updated contract to the client by end of day Friday?
Bob: Yes, I'll get that out.
Alice: Great. And I need to review the Q3 budget before our next sync. That's critical—we can't move forward without it.
Charlie: I'll follow up with the vendor about the delayed shipment. No rush on that, maybe sometime next week.

Output:
[
  {
    "task": "Send updated contract to client",
    "owner": "Bob",
    "deadline": "2025-03-28",
    "priority": "High"
  },
  {
    "task": "Review Q3 budget",
    "owner": "Alice",
    "deadline": null,
    "priority": "High"
  },
  {
    "task": "Follow up with vendor about delayed shipment",
    "owner": "Charlie",
    "deadline": null,
    "priority": "Low"
  }
]

---

Transcript:
Dana: I'll draft the onboarding guide. Should be done by Wednesday.
Evan: I can review it once Dana's done. Let's aim to have it finalized by the 15th.
Dana: Sounds good. Also, someone needs to update the team wiki with the new process, but I'm not sure who has bandwidth.

Output:
[
  {
    "task": "Draft onboarding guide",
    "owner": "Dana",
    "deadline": "2025-03-26",
    "priority": "Medium"
  },
  {
    "task": "Review onboarding guide",
    "owner": "Evan",
    "deadline": "2025-04-15",
    "priority": "Medium"
  },
  {
    "task": "Update team wiki with new process",
    "owner": "Unassigned",
    "deadline": null,
    "priority": "Medium"
  }
]

---

Transcript:
[TRANSCRIPT]

Output:

To adapt this template, replace [MEETING_DATE] with the actual date of the meeting in YYYY-MM-DD format so relative deadlines can be resolved correctly. Replace [TRANSCRIPT] with the raw meeting text. The [EXAMPLES] block contains two few-shot demonstrations; you can add more examples that reflect your organization's typical task patterns, ownership conventions, and priority definitions. If your meetings use specific terminology for urgency (e.g., "P0", "drop everything"), include an example that maps that language to the priority field. Before deploying, run the prompt against a golden set of 10–20 annotated transcripts and measure extraction recall, owner accuracy, and priority agreement against human labels. For high-stakes workflows where missed action items have compliance or revenue impact, route outputs with "priority": "High" or "owner": "Unassigned" to a human review queue before ingestion into your task management system.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Meeting Transcript Action Item Extraction and Priority prompt. Validate each variable before sending the prompt to avoid extraction failures or hallucinated owners.

PlaceholderPurposeExampleValidation Notes

[TRANSCRIPT]

Full meeting transcript text to extract action items from

"Alice: We need to finalize the Q3 roadmap by Friday. Bob: I'll take that. Also, the login bug is still open."

Required. Must be non-empty string. Check length < model context window minus 2000 tokens for examples and instructions.

[MEETING_DATE]

Date the meeting occurred, used for relative deadline resolution

"2025-04-08"

Required. Must be ISO 8601 date string. Parse check: new Date() should not throw. Used to resolve 'next Tuesday' into absolute dates.

[PARTICIPANT_LIST]

List of meeting participants with full names and roles

"Alice Chen (Product Manager), Bob Singh (Engineering Lead), Carol Diaz (Designer)"

Required. Must contain at least one entry. Used for ownership detection. Validate format: 'Name (Role)' separated by commas.

[FEW_SHOT_EXAMPLES]

3-5 labeled examples demonstrating extraction format and priority logic

See pillar for full example block. Contains transcript snippet, extracted items, and priority rationale.

Required. Must include at least one example with no action items and one with ambiguous ownership. Validate JSON parse of example output blocks.

[OUTPUT_SCHEMA]

JSON schema describing the exact output structure expected

{"type": "object", "properties": {"action_items": {"type": "array"...

Required. Must be valid JSON Schema. Validate with ajv or similar. Include required fields: item, owner, deadline, priority, evidence.

[PRIORITY_DEFINITIONS]

Clear definitions for P1, P2, P3 priority levels

"P1: Blocks team progress or has external deadline within 3 days. P2: Important but not blocking. P3: Nice-to-have or future consideration."

Required. Must define at least 3 levels. Check for unambiguous boundary conditions between levels. Test with edge cases.

[CONSTRAINTS]

Hard rules for extraction behavior

"Do not invent owners. If no owner is stated, set owner to 'Unassigned'. Do not extract items already completed."

Required. Must include ownership constraint and completion constraint at minimum. Validate that constraints are testable.

[COMPANY_CONTEXT]

Optional organizational context for resolving internal references

"Q3 roadmap refers to the product engineering roadmap owned by Alice's team. Login bug is tracked in JIRA project AUTH."

Optional. If provided, must be non-empty string. Improves entity resolution. Test extraction quality with and without this field.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the action item extraction prompt into a reliable application pipeline.

This prompt is designed to be the core extraction step within a larger meeting intelligence pipeline. It should not be called directly by an end-user in a chat interface. Instead, it belongs in a backend service that receives a transcript, enriches it with participant context, calls the model, and then validates and stores the structured output. The primary integration points are a transcript pre-processing stage, the LLM call itself, and a post-processing validation stage.

For implementation, wrap the prompt in a function that accepts a transcript string and an optional participants list. Before calling the model, inject the participant list into the [PARTICIPANT_CONTEXT] placeholder to improve ownership detection. Use a model with strong JSON mode and function-calling capabilities, such as gpt-4o or claude-3.5-sonnet, with response_format set to json_object and the JSON Schema provided in the [OUTPUT_SCHEMA] block. On the application side, implement a strict validation layer that checks the returned JSON against the schema. If validation fails, use a repair loop: feed the raw output and the validation error back to the model with a simplified repair prompt, such as 'Fix the JSON to match the schema. Return only the corrected JSON.' Limit this retry loop to a maximum of 2 attempts before logging the failure and alerting a human. Log every extraction, including the raw transcript hash, the model's raw response, and the validated output, for auditability and prompt evaluation.

For high-stakes environments where a missed action item has significant consequences, do not rely solely on this prompt. Implement a human review queue for all extracted items scored as priority: 'high' or where the confidence score is below 0.85. The application should route these items to a review interface where a human can confirm, reject, or modify the extraction. This human-in-the-loop step provides a safety net and generates a stream of correction data that can be used to fine-tune a model or improve the few-shot examples over time. Avoid deploying this as a fire-and-forget automation without these validation and review guardrails.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, format, and validation rules for each action item object in the JSON array returned by the prompt.

Field or ElementType or FormatRequiredValidation Rule

action_items

Array of objects

Root must be a JSON array. Parse check: valid JSON. Schema check: array length >= 0. If empty, confirm no action items were extractable.

action_items[].description

String

Non-empty string. Must be a complete sentence describing the task. Validation: length > 10 chars. Retry if null or truncated.

action_items[].owner

String or null

Extracted name from transcript. If no owner detected, use null. Validation: null allowed. If present, must match a speaker name from [TRANSCRIPT] or be 'Unassigned'.

action_items[].priority

Enum: 'High', 'Medium', 'Low'

Must be one of the three enum values. Validation: case-sensitive string match. Retry if missing or invalid. Default to 'Medium' if confidence is low but extraction is required.

action_items[].deadline

ISO 8601 date string (YYYY-MM-DD) or null

If extracted, must be a valid date. Validation: parse as date, check year is within [CURRENT_YEAR] ± 1. If relative date like 'next Friday', resolve using [MEETING_DATE]. Null allowed.

action_items[].confidence

Number between 0.0 and 1.0

Model's confidence in extraction correctness. Validation: float, 0.0 <= x <= 1.0. If < 0.7, flag for human review in downstream system.

action_items[].source_quote

String

Verbatim excerpt from [TRANSCRIPT] that supports this action item. Validation: substring match against [TRANSCRIPT] (fuzzy match allowed). If no match, set confidence to 0.0 and flag.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when extracting action items from meeting transcripts and how to guard against it.

01

Phantom Assignments

What to watch: The model invents an owner for an action item when no person is explicitly named in the transcript. It may hallucinate a likely person based on context or previous turns. Guardrail: Add a negative example showing that when no owner is stated, the field must be null. Validate output with a rule that flags any owner not present in the speaker list.

02

Deadline Misinterpretation

What to watch: Relative dates like 'next week' or 'by Friday' are extracted as literal strings or mapped to incorrect calendar dates. The model may also treat aspirational language ('we should try to') as a hard deadline. Guardrail: Require the model to output both the raw phrase and a resolved ISO date. Add a post-processing check that rejects dates before the meeting date.

03

Discussion vs. Decision Confusion

What to watch: The model extracts every mentioned task as an action item, failing to distinguish between brainstorming, rejected ideas, and actual commitments. This floods the output with noise. Guardrail: Include few-shot examples that contrast 'discussed options' with 'agreed next steps.' Add a constraint that each extracted item must be traceable to a decision or explicit assignment statement.

04

Priority Inflation

What to watch: Without calibrated examples, the model defaults to marking most items as 'High' priority, especially if the transcript contains urgent language that is rhetorical rather than operational. Guardrail: Provide few-shot examples that demonstrate the difference between rhetorical urgency ('this is critical') and operational priority. Use a structured priority rubric in the prompt that reserves 'Critical' for items with explicit blocking impact or executive mandate.

05

Multi-Turn Fragmentation

What to watch: A single action item discussed across multiple speaking turns is extracted as several duplicate or overlapping items. The model fails to merge related statements into one coherent task. Guardrail: Add an instruction to deduplicate items that share the same owner, deadline, and objective. Include a few-shot example showing two turns about the same task merged into one output record.

06

Context Window Truncation

What to watch: For long transcripts, action items mentioned early in the meeting are dropped or summarized incorrectly because they fall outside the model's effective attention window. Guardrail: Chunk the transcript by agenda topic before extraction. Run extraction on each chunk independently, then merge and deduplicate results. If chunking is not possible, include a recency-bias warning in the prompt and test with transcripts that place key items at the start.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test extraction quality before shipping. Each criterion targets a specific failure mode in meeting transcript action item extraction.

CriterionPass StandardFailure SignalTest Method

Action Item Recall

All explicit action items in [TRANSCRIPT] are extracted with no false negatives

Action item present in transcript but missing from output

Compare output action items against a pre-labeled golden transcript; recall must be >= 0.95

Action Item Precision

No extracted action item is a hallucination or misinterprets a non-action statement

Output contains an action item not supported by any speaker statement in [TRANSCRIPT]

Human reviewer flags unsupported items; precision must be >= 0.90 on a 20-transcript sample

Owner Assignment Accuracy

Each action item has exactly one owner matching the person who verbally accepted or was explicitly assigned the task

Owner is missing, assigned to wrong person, or assigned to a person who did not speak in the relevant segment

Check each owner against speaker diarization and explicit assignment language in transcript; accuracy >= 0.90

Deadline Extraction Correctness

Deadlines are extracted in ISO 8601 format when explicitly stated; null when no deadline is mentioned

Deadline is invented for an item with no temporal commitment, or stated deadline is parsed incorrectly

Validate date fields against explicit mentions; null rate on no-deadline items must be 100%; parse errors must be 0

Priority Score Calibration

Priority scores align with the few-shot examples: P0 for blocking/urgent, P1 for this-week, P2 for backlog

P0 assigned to non-urgent item, or P2 assigned to item with explicit same-day deadline

Run 10 transcripts with known priority labels; Cohen's kappa between output and labels >= 0.80

Output Schema Compliance

Output is valid JSON matching [OUTPUT_SCHEMA] with all required fields present and correctly typed

JSON parse failure, missing required field, or field type mismatch

Validate output with JSON Schema validator; 100% parse success rate required across test set

Confidence Score Honesty

Confidence scores are >= 0.9 only when extraction evidence is unambiguous; lower scores when speakers are vague

Confidence of 0.95 on an item where the speaker said 'maybe' or 'someone should'

Spot-check 10 low-confidence items; all must have genuine ambiguity in source transcript

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt\nUse the base prompt with a smaller example set (3-5 examples) and lighter output validation. Replace the [OUTPUT_SCHEMA] placeholder with a simple JSON structure containing only `action_items`, `owner`, and `priority` fields. Skip deadline normalization and confidence scoring initially.\n\n### Watch for\n- Missing action items when speakers use indirect language\n- Owners assigned to the wrong person when multiple names appear\n- Priority defaults to 'medium' for everything without clear signals\n- Format drift when the transcript contains non-standard formatting or timestamps

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.