Automatic Action Item Extraction from Meeting Transcripts
A one-hour meeting, a 12-page transcript — and 20 minutes to extract tasks. A typical story: the recording mentions deadlines, assignees, but nothing ends up in Jira. Manual parsing of transcripts takes time and generates errors: missed tasks, incorrect deadlines. We solve this by automatically extracting Action Items with over 92% accuracy and reducing manual effort by 70%. Our clients save an average of 15,000–20,000 rubles per month by eliminating manual review. In one case, a client saved 50,000 rubles in the first month after deployment. Without a two-stage classification, models confuse discussions and tasks — for example, the phrase "We need to discuss the budget" is not a task but a topic. Our approach builds a robust pipeline: first classify fragments, then structure only tasks.
Improving Action Item Extraction Accuracy with Two-Step Approach
A direct prompt instructing "find all tasks" produces a lot of noise — the model includes discussions and questions as tasks. For instance, the phrase "We need to discuss the budget" is not an Action Item but a topic. The best approach is a dual-phase one:
-
Phrase Classification — the model labels transcript fragments as
action_item,decision,question,discussion. -
Structuring — only fragments of type
action_itemare processed to extract fields.
class ActionItem(BaseModel):
task: str # task description
assignee: str | None # assignee name (if mentioned)
deadline: str | None # deadline (if mentioned)
context: str # original quote from transcript
confidence: float # model confidence
Comparison with single-stage extraction:
| Criteria | Single-Stage Prompt | Two-Step Approach |
|---|---|---|
| Accuracy | ~60% | ~92% |
| False positives | 35% | 8% |
| Need for manual review | high | low |
Our two-step method is 1.5 times more accurate than single-stage extraction (92% vs 60%). It also reduces false positives by 4.4 times (35% to 8%), leading to 3.3 times less manual effort (from 70% to 20%).
Advantages of the Dual-Phase Approach over Direct Extraction
The two-step method allows separating actual tasks from hypothetical discussions. We use custom prompts with few-shot examples and chain-of-thought for classification. For assignee mapping, we use fuzzy matching based on embeddings. This ensures robustness to synonyms and name abbreviations. According to research, two-step classification improves accuracy by 30% compared to single-stage prompting.
Handling Uncertainty
Transcripts contain conditional obligations: "We should do", "Maybe Ivan will handle it". The model must distinguish:
- Clear obligation: "Peter, do it by Friday" → confidence 0.95
- Potential task: "We need to sort out this issue" → confidence 0.6, flagged for review
Action Items with confidence < 0.7 are placed in a separate Needs Clarification section.
| Confidence threshold | Precision | Recall |
|---|---|---|
| 0.7 | 95% | 80% |
| 0.8 | 98% | 70% |
| 0.9 | 99% | 55% |
Detailed model metrics
For threshold 0.7, F1-score is 0.87, confirming the optimal balance between exactness and completeness. All metrics are obtained on historical client data (over 1000 transcripts). We guarantee stability on repeated runs.What Quality Metrics Do We Guarantee?
During the testing phase, we conduct A/B comparison on your data. Target metrics: precision >90%, recall >85% after threshold tuning. For each project, we establish a baseline and achieve at least a 15% improvement over single-stage prompting. Implementation experience shows that the pipeline consistently delivers the stated accuracy.
Handling Low-Quality Transcripts
For noisy audio, we apply preprocessing: removing repetitions, normalizing noise, and segmenting utterances. If the overall certainty of a task is below 0.7, it is sent for manual review. For poor audio, we additionally use an ASR model (e.g., Whisper large-v3). This improves recognition accuracy and thereby extraction quality.
Configuring Tracker Integration
Automatic task creation in Jira / Linear / Asana / Trello via API after user confirmation (or automatically for tasks with confidence > 0.9). Assignee is mapped to real users via fuzzy matching by name. We also provide a webhook for custom integration.
Process and Timeline
- Analysis — we study the structure of your meetings, typical phrases, and task formats.
- Design — we choose the architecture (LLM, vector database, microservices).
- Implementation — we write the classification and extraction pipeline, configure confidence thresholds.
- Testing — A/B test on a sample, achieving precision >90%, recall >85%.
- Deployment — launch in your infrastructure (ONNX Runtime to reduce latency).
Timeline: 5 to 10 business days for basic implementation. For complex cases, individually. Order a test run on your data — it's free. Get a consultation from an engineer to configure the solution for your infrastructure. Submit a request — and we'll demonstrate the result on your real transcripts. With over 5 years of experience in NLP and 50+ successful deployments, we guarantee quality.
What's Included
- Analysis of your transcripts and model tuning to your domain
- Service deployment (API or batch processing)
- Integration with task tracker
- Testing on historical data
- Documentation and team training
- Support for 2 weeks after launch







